Oracle官方对此的形容是:
Oracle DataPump technology enables Very High-Speed movement of data and metadata from one database to another.
其中Very High-Speed是亮点。
先说数据泵提供的主要特性(包括,但不限于):
- 支持并行处理导入、导出任务;
- 支持暂停和重启动导入、导出任务;
- 支持通过
Database Link
的方式导出或导入远端数据库中的对象;- 支持在导入时通过
Remap_schema、Remap_datafile、Remap_tablespace
几个参数实现导入过程中自动修改对象属主、
数据文件或数据所在表空间;- 导入/导出时提供了非常细粒度的对象控制。通过
Include、Exclude
两个参数,甚至可以详细制定是否包含或不包含某个对象。
二、什么是Directory对象
Directory
对象是Oracle10g
版本提供的一个新功能。他是一个指向,指向了操作系统中的一个路径。每个Directory都包含 Read,Write两个权限,可以通过Grant命令授权给指定的用户或角色。拥有读写权限的用户就可以读写该Directory对象指定的操作系统路径下的文件。
- 除了使用
network_link
参数意外,expdp
生成的文件都是在服务器上(Directory指定的位置)
2.1 如何调用
- 命令行方式
最简单的调用,但是写的参数有限,建议使用参数文件的方式。 - 参数文件方式
最常用的方式。通常需要先编写一个参数文件。指定导出时需要的各种参数。然后以如下方式调用。
expdp user/pwd parfile=xxx.par
这个xxx.par即是编辑的参数文件。注意,在这个命令行后面,同样可以再跟别的参数, 甚至是在par参数文件中指定过的参数。
如果执行命令中附加的参数与参数文件中的参数有重复,最终采用哪个参数,会以参数最后出现的位置而定。如:expdp user/pwd parfile=xxx.par logfile=a.log
,如果在参数文件中也指定了logfile,这里会以命令行中的logfile为准;如:expdp user/pwd logfile=a.log parfile=xxx.par
,而这个,则会以参数文件中的为准,因为parfile=xxx.par写在命令行的后面。
- 交互方式