Oracle 数据导入导出impl/exp
一、exp导出
要使用导出工具,只需在系统提示符下输入 exp 即可,可输入 exp help=y 查看exp命令的所有参数。
1、导出指定的表(表模式)
exp hr/hr@orcl file=d:\data.dmp tables=(user,role) log=d:\emp.log
2、导出用户下的所有对象(用户模式)
exp hr/hr@orcl file=d:\data.dmp owner=hr log=d:\emp.log
3、导出整个数据库
在导出整个数据库之前,索连接的用户必须具有exp_full_database的系统权限。
先执行 grant exp_full_database to hr; 进行授权
exp hr/hr@orcl file=d:\db.dmp full=y log=d:\emp.log
4、导出指定表中的部分数据
exp hr/hr@orcl file=d:\db.dmp tables=(user,role) query="'where rownum<=10'" log=d:\emp.log
在进行导出时,可以将输入的参数放入一个参数文件中,然后执行exp命令时,执行指定该参数名称即可。
创建参数文件 emp.par,文件内容如下:
userid=hr/hr
file=d:\emp.dmp
tables=user
log=d:\emp.log
然后执行导出命令:
exp parfile=d:\emp.par
二、imp导入
使用导入工具时,只需在系统提示符下输入 imp即可,可输入 imp help=y 查看imp命令的所有参数。
1、导入指定的表(表模式)
imp hr/hr@orcl file=d:\data.dmp tables=(user,role) log=d:\emp.log
2、导入用户下的所有对象(用户模式)
imp cs/cs@orcl file=d:\data.dmp fromuser=hr touser=cs log=d:\emp.log
表示以cs登录数据库,然后将导出文件中包含的用户hr下的所有数据都导入到用户cs下。
导入时也可以使用参数文件,同导出。
导入数据时,若表已经存在,则会报错,可以使用ignore参数来解决这个问题。
imp hr/hr@orcl file=d:\data.dmp tables=(user,role) ignore=y log=d:\emp.log
添加 ignore=y 表示如果创建表时发现该表已经存在,则忽略该错误,继续继续进行下面的步骤。