Oracle使用EXPDP和IMPDP数据泵进行导出导入方法
一、expdp/impdp和exp/imp的区别
1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
2、expdp和impdp是服务端的工具程序,他们只能在Oracle服务端使用,不能在客户端使用。
3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。
二、expdp导出步骤
#切换到oracle用户
[root@cpspdb ~]# su - oracle
#在服务器上创建真实的目录
[oracle@localhost ~]$ mkdir /home/oracle/backups
#通过sqlplus登陆oracle
[oracle@cpspdb ~]$ sqlplus / as sysdba
#创建逻辑目录;
SQL> create directory data_backups as '/home/oracle/backups';
#用管理员给你的指定用户MCQHW赋予在该目录的操作权限。
SQL> grant read,write,dba on directory data_backups to MCQHW;
#第一种:schemas按用户导出;
[oracle@cpspdb ~]$ expdp MCQHW/MCQHW@127.0.0.1/orcl schemas=MCQHW dumpfile=MCQHW20191225.dmp directory=data_backups;
[oracle@cpspdb ~]$ expdp MCQHW/MCQHW@127.0.0.1/orcl schemas=HWUSER dumpfile=HWUSER20191225.dmp directory=data_backups;
#第二种:导出表;
expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_backups logfile=expdp.log;
#第三种:按表空间导出;
expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_backups logfile=expdp.log;
三、impdp导入步骤
(1)如果不是同一台服务器,需要先将上面的dmp文件下载到目标服务器上/home/oracle/backups
(2)参照“expdp导出步骤”里的前三步,建立逻辑目录;
[root@cpspdb ~]# su - oracle
[oracle@localhost ~]$ mkdir /home/oracle/backups
[oracle@cpspdb ~]$ sqlplus / as sysdba
SQL> create directory data_backups as '/home/oracle/backups';
SQL> grant read,write,dba on directory data_backups to MCQHW;
(3)用impdp命令导入,对应几种方式:
#第一种:同名用户导入,从用户A导入到用户A;
impdp A/passwd schemas=A directory=data_backups dumpfile=data20191123.dmp logfile=impdp.log;
impdp MCQHW/MCQHW schemas=MCQHW directory=data_backups dumpfile=MCQHW20191225.dmp;
impdp MCQHW/MCQHW schemas=HWUSER directory=data_backups dumpfile=HWUSER20191225.dmp;
impdp MCQHW/MCQHW directory=data_backups dumpfile=data20191123.dmp logfile=impdp.log remap_tablespace=MCQHW:USERS remap_schema=MCQHW:MCQHW schemas=MCQHW table_exists_action=replace transform=segment_attributes:n;
#第二种:导入表空间;
impdp sys/passwd tablespaces=tbs1 directory=data_backups dumpfile=expdp.dmp logfile=impdp.log;
#第三种:追加数据;
impdp sys/passwd directory=data_backups dumpfile=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log;
« 上一篇: Oracle 11g数据库详细安装步骤
» 下一篇: PLSQL导出表结构和表数据