由于在oracle11g之后的某些版本中,采用exp方式导出数据会导致空表被漏掉,解决办法分为两种:
一、对空表进行插入操作,然后再删除数据。
二、采用数据泵的方式导出。
本文介绍第二种方式。
导出:
1、从cmd中以dba权限登录数据库:sqlplus system/密码@orcl as sysdba;
2、创建目录: Create directory TEST as 'd: est';
3、授权:Grant read,write on directory TEST to yxf;
4、对应第二步所创建的目录,在数据库服务端的d盘新建文件夹test;
5、退出数据库登录:quit;
6、导出:
Ø 单个用户方案导出
Expdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log
Ø 数据库全库导出
Expdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log
执行完以上两步后,即可在d://test文件夹下看到导出的数据文件X.dmp,以及导出日志X.log
导入:与导出的前面5步相同
1、从cmd中以dba权限登录数据库:sqlplus system/密码@orcl as sysdba;
2、创建目录: Create directory TEST as 'd: est';
3、授权:Grant read,write on directory TEST to yxf;
4、对应第二步所创建的目录,在数据库服务端的d盘新建文件夹test;
5、退出数据库登录:quit;
6、将待导入的数据文件放在导入数据库服务端的d盘下test文件夹中;
7、导入:
Ø 单个用户方案导入
impdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log ignore=y
Ø 数据库全库导入
impdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log ignore=y
注意:导入数据时,directory填写待导入数据库的目录,dumpfile填写的是待导入文件名,logfile为指定导入的日志文件