实例使用expdp进行数据的导出, 在导出数据前先进行导出目录的配置,也就是需要设置DIRECTORY这样的逻辑目录, expdp会自动将导出文件放在对应的逻辑目录中, impdp也会到逻辑目录中查找相应的备份文件进行数据导入, 具体的操作可以观看视频演示
视频中的脚本可以点击【下载实例】进行下载, 此脚本在Windows和Linux下皆可以(适用于>=10g的oracle版本)
ORCALE10G提供了新的导入导出工具,数据泵。
Oracle官方对此的形容是:Oracle DataPump technology enables Very High-Speed movement of data and metadata from one database to another.其中Very High-Speed是亮点。
先说数据泵提供的主要特性(包括,但不限于):
1. 支持并行处理导入、导出任务
2. 支持暂停和重启动导入、导出任务
3. 支持通过Database Link的方式导出或导入远端数据库中的对象
4. 支持在导入时通过Remap_schema、Remap_datafile、Remap_tablespace几个参数实现导入过程中自动修改对象属主、 数据文件或数据所在表空间。
5. 导入/导出时提供了非常细粒度的对象控制。通过Include、Exclude两个参数,甚至可以详细制定是否包含或不包含某个对象。
Warning:
1. 什么是Directory对象
Directory对象是Oracle10g版本提供的一个新功能。他是一个 指向,指向了操作系统中的一个路径。每个Directory都包含 Read,Write两个权限,可以通过Grant命令授权给指定的用户或角色。拥有读写权限的用户就可以读写该Directory对象指定的操作系统路 径下的文件。
2. 除了使用network_link参数意外,expdp生成的文件都是在服务器上(Directory指定的位置)
如何调用
1. 命令行方式
最简单的调用,但是写的参数有限,建议使用参数文件的方式。
2. 参数文件方式
最常用的方式。通常需要先编写一个参数文件。指定导出时需要的各种参数。然后以如下方式调用。
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写在命令行的后面。
3. 交互方式
Data Pump导入导出任务支持停止,重启等状态操作。如用户执行导入或者导出任务,执行了一半时,使用Crtl+C中断了任务(或其他原因导致的中断),此时 任务并不是被取消,而是被转移到后台。可以再次使用expdp/impdp命令,附加attach参数的方式重新连接到中断的任务中,并选择后续的操作。 这就是交互方式。
Warning : 什么是attach参数,每执行一个导入,或者导出,在命令的第一行,会有以下信息:Starting “BAM”.