数据泵
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、EXPDP和IMPDP介绍
1.数据泵导出(Data Dump Export)
数据泵导出的是Oracle Database 10g新增的功能功能,它使用实用工具EXPDP将数据库对象的元数据(对象结构)或数据导出到
转蓄文件中。
2.数据泵导入(Data Dump Import)
数据泵导入的是Oracle Database 10g新增的功能功能,它使用实用工具IMPDP将转蓄文件中的元数据(对象结构)及其数据导入
Oracle数据库中。
3.数据泵导出导入的作用
(1)数据泵导出导入可以实现逻辑备份和逻辑恢复。通过EXPDP,可以将数据库对象备份到转蓄文件中;当表被意外删除或截断
是,使用IMPDP可以将转蓄文件中的对象和数据导入到数据库中。
(2)数据泵的导出和导入可以在数据库用户之间移动对象。例如:使用EXPDP可以将SCOTT方案的对象存储到转蓄文件中,使用IMPDP可以将转蓄文件中的对象导入到其他数据库用户中。
(3)使用数据泵导入(IMPDP)可以在数据库之间移动对象。通过使用IMPDP工具,可以直接将一个数据库中的对象移动到另一个数据库中。
(4)数据泵导出导入可以实现表空间的搬移,通过结合使用EXPDP和IMPDP,可以将一个数据库中的表空间搬移到另一个数据库中
4. 数据泵导出导入与传统导出导入的区别
(1)在Oracle 10g之前,传统的导出导入是使用EXP和IMP工具来完成的。
(2)Oracle 10g开始提供了数据泵工具EXPDP和IMPDP工具,它的速度优于传统的EXP和IMP。因此Oracle建议使用数据泵来执行数据的导出和导入。
(3)EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务器端使用。
(4)EXPDP和IMPDP是服务器端的工具程序,只能在服务器端使用,而不能在Oracle客户端使用。
(5)IMP只适合EXP导出的文件,而不适合于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适合于EXP导出的文件。
二、使用EXPDP导出数据
EXPDP是服务器端的工具,该工具只能在Oracle服务器端使用,而不能在Oracle客户端使用。数据泵导出包括导出表、导出方案、导出表空间、导出数据库等4种模式。
使用EXPDP工具时,转蓄文件只能存放在DRIXCEROY对象对应的OS目录中,而不能直接指定转蓄文件所在的OS目录。因此必须首先创建DRIXCEROY对象。并且需要为数据库用户授予使用DRIXCEROY对象的权限。
1、以sys登录,建目录并将该目录的读写权利授予SCOTT
connect sys/orcl123 as sysdba
create directory dump_dir as 'd:\dump';
grant read,write on directory dump_dir to scott;
2、导出表
导出表是指将一个或多个表结构及其数据存储到转蓄文件中,导出表通过使用tables选项来完成。
一般普通用户只能导出自己方案下的
表,要导出其他方案下的表,需要是EXPDP_FULL_DATABASE角色或是DBA角色。
expdp scott/tiger directory=dump_dir dumpfile=tab.dmp tables=departments,abc
3、导出方案
导出方案是指将一个或多个方案的所有对象结构及数据存储到转蓄文件中,导出方案是通过SCHEMAS选项来完成的。
一般普通用户只能导出自身方案,要导出其他方案,需要是EXPDP_FULL_DATABASE角色或是DBA角色。
expdp system/orcl123 directory=dump_dir dumpfile=schema.dmp schemas=system,scott
4、导出表空间
导出表空间是指将一个或多个表空间的所有对象及数据存储到转蓄文件中,导出表空间是通过TABLESPACES选项来完成的。
导出表空间需要是EXPDP_FULL_DATABASE角色或是DBA角色。
expdp system/orcl123 directory=dump_dir dumpfile=tablespace.dmp tablespaces=user01,user02
5、导出数据库
导出数据库是指将数据库中的所有对象及数据存储到转蓄文件中。导出数据库是使用FULL选项来完成的。
导出数据库需要是EXPDP_FULL_DATABASE角色或是DBA角色。
需要注意:导出数据库时,不会导出SYS、ORDSYS、ORDPLUGINS、STXSYS、CTXSYS、MDSYS、LBACSYS以及XDB等方案的对象。
expdp system/orcl123 directory=dump_dir dumpfile=full.dmp full=y
三、使用IMPDP导入数据
1、导入表
导入表是指将存放在转蓄文件中的一个或多个表的结构及数据,装载到数据库中,导入表是使用TABLES选项来完成的。导入表时既可以将该表导入到源方案中,也可以将表导入的其他方案中。只是需要具备EXPDP_FULL_DATABASE角色或是DBA角色。
(1) 将DEPT,EMP表导入到SCOTT方案中。
impdp scott/tiger directory=dump_dir dumpfile=tab.dmp tables=dept,emp
(2) 将DEPT,EMP表导入到system方案中。
impdp system/orcl123 directory=dump_dir dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott:system
2、导入方案
导入方案是指将存放在转蓄文件中的一个或多个方案的所有对象装载到数据库中,导入的方案使用schemas选项完成的。
普通用户可以将对象导入到自己的方案中,但是如果以其他用户身份导入用户方案,则要求该用户必须具有imp_full_database
角色或是DBA角色。
导入方案是既可以将方案所有对象导入到源方案中,也可以将方案所有对象导入到其他方案中。如果要将方案导入到其他方案
中,必须指定REMAP_SCHEMA选项。
(1)将SCOTT方案中的所有对象导入到其自身方案中。
impdp scott/tiger directory=dump_dir dumpfile=schema.dmp schemas=scott
(2)将SCOTT方案中的所有对象导入到SYSTEM方案中。
impdp system/orcl123 directory=dump_dir dumpfile=schema.dmp schemas=scott remap_schemas=scott:system
3、导入表空间
导入表空间是指将
存放在转蓄文件中的一个或多个表空间的所有对象装载到数据库中,导入表空间是使用TABLESPACES选项完成的。
(1)将user01表空间的所有对象导入到数据库。
impdp scott/tiger directory=dump_dir dumpfile=tablespace.dmp tablespace=user01
4、导入数据库
导入数据库是指将存放在转蓄文件中所有的数据库对象及其相关数据装载到数据库中,导入数据库是使用FULL选项来完成的。
注意:导出转蓄文件需要具有DBA角色或是EXP_FULL_DATABASE角色,导入转蓄文件是需要具有DBA角色或是IMP_FULL_DATABASE角
色。
impdp system/orcl123 directory=dump_dir dumpfile=full.dmp full=y