使用前提
- EXPDP和IMPDP只可以在Oracle服务端使用。
- EXP导出的文件只可以使用IMP导入,不适用于IMPDP导入文件;EXPDP导出的文件只可以使用IMPDP导入,而不适用于IMP导出文件。
- 以超级管理员操作(最好使用超级管理员操作)。
- 通过数据泵操作数据,无论是导入IMPDP还是导出EXPDP,都需要创建一个Oracle逻辑目录Directory,并赋予用户对这个目录的操作权限——读写。(PS:注意,此处所创建的目录在本地磁盘中必须已经存在,否则导入、导出数据时会报错)
DIRECTORY操作
- 查看DIRECTORY
select * from dba_directories;
- 创建DIRECTORY(目录名称:hndir)
create DIRECTORY hndir as 'D:\oracldir\hndata';
- 删除DIRECTORY(目录名称:hndir)
drop directory hndir;
- Next
EXPDP(导出文件)
- 导出步骤
- 创建逻辑目录
create DIRECTORY hndir as 'D:\oracldir\hndata';
- 为超级管理员赋予操作逻辑目录操作权限(一般不需要设置此步骤,但有时是必须)
grant read,write on DIRECTORY hndir to SYS;
- 执行导出命令
- (实例:Oracl;用户:HNQY;密码:HNQY;逻辑目录:hndir;)
- 导出整个数据库
expdp HNQY/HNQY@ORCL DIRECTORY=hndir DUMPFILE=hnqy.dmp FULL=y;
- 导出具体表
expdp HNQY/HNQY@ORCL DIRECTORY=hndir TABLES=t_card,t_user dumpfile=hnqy.dmp;
- Next
- 创建逻辑目录
- Next
IMPDP(导入数据)
- 导出步骤
- 创建逻辑目录
create DIRECTORY hndir as 'D:\oracldir\hndata';
- 为超级管理员赋予操作逻辑目录操作权限(一般不需要设置此步骤,但有时是必须)
grant read,write on DIRECTORY hndir to SYS;
- 执行导入命令
- (实例:Oracl;用户:HNQY;密码:HNQY;逻辑目录:hndir;)
- 导入整个数据库
impdp HNQY/HNQY@ORCL DIRECTORY=hndir DUMPFILE=hnqy.dmp;
- 导入指定表
impdp HNQY/HNQY@ORCL DIRECTORY=hndir TABLES=t_card,t_user dumpfile=hnqy.dmp;
- Next
- 在导入数据时,有的时候我们拿到的dmp原数据文件的表空间以及用户,是和我们将要导入的数据库的表空间和用户不同,这个时候我们需要在导入命令中指定相应的表空间和用户
- (dmp文件表空间:ASSETS;dmp文件用户:SCOTT;导入数据库表空间:HNQY_DATA;导入数据库用户:HNQY)
- 导入整个数据库
impdp HNQY/HNQY@ORCL DIRECTORY=hndir DUMPFILE=hnqy.dmp REMAP_TABLESPACE=ASSETS:HNQY_DATA REMAP_SCHEMA=SCOTT:HNQY ;
- 导入指定表
impdp HNQY/HNQY@ORCL DIRECTORY=hndir TABLES=SCOTT.t_card,SCOTT.t_user dumpfile=hnqy.dmp REMAP_TABLESPACE=ASSETS:HNQY_DATA REMAP_SCHEMA=SCOTT:HNQY;
- Next
- Next
- 创建逻辑目录
- Next