详解Oracle 11g R1中数据泵增强(1)(2)
TRANSPORTABLE
TRANSPORTABLE参数和TRANSPORT_TABLESPACES参数类似,但TRANSPORT_TABLESPACES只能导出/导入表的元数据,需要你手动传输相关表空间数据文件,导出操作列出了必须被传输的表空间,语法如下:
TRANSPORTABLE = {ALWAYS | NEVER} |
值ALWAYS开启了可传输模式,默认值是NEVER,表示是一个正常的导入/导出。
使用TRANSPORTABLE参数导出时有下面的约束:
◆ 这个参数只在导出表一级时可用。
◆ 执行这个操作的用户必须有EXP_FULL_DATABASE权限。
◆ 表空间包括的源对象必须是只读的。
◆ COMPATIBLE初始化参数必须设置为11.0.0或更高。
◆ 用户执行导出的默认表空间和要传输的表空间不能是同一个。
在导入时也有一些限制:
◆ 在导入过程中必须指定NETWORK_LINK参数,这个参数校验数据库连接到源方案的有效性。
◆ 执行导入操作的方案必须有EXP_FULL_DATABASE 和 IMP_FULL_DATABASE权限。
◆ TRANSPORT_DATAFILES参数用于识别容纳表数据的数据文件。
下面是导入/导出操作的示例:
expdp system tables=TEST1.TAB1 directory=TEST_DIR dumpfile=TEST.dmp logfile=expdpTEST.log impdp system tables=TEST1.TAB1 directory=TEST_DIR dumpfile=TEST.dmp logfile=impdpTEST.log |
PARTITION_OPTIONS
PARTITION_OPTIONS参数指定在导出和导入操作过程中分区表该如何处理,语法如下:
PARTITION_OPTIONS={none | departition | merge} |
可用的值包括:
◆ NONE 象在系统上的分区表一样创建。
◆ DEPARTITION 每个分区表和子分区表作为一个独立的表创建,名字使用表和分区(子分区)名字的组合。
◆ MERGE 将所有分区合并到一个表。
如果导出时使用了TRANSPORTABLE参数,这里就不能使用NONE和MERGE。
expdp test/test directory=TEST_DIR dumpfile=TEST.dmp logfile=expdpTEST.log tables=test.tab1 |
REUSE_DUMPFILES
如果在导出时转储文件已经存在,使用REUSE_DUMPFILES参数可以预防错误发生。
REUSE_DUMPFILES={Y | N} |
设置为“Y”时,现在的转储文件将被覆盖,当使用默认值“N”时,如果转储文件已经存在就会产生一个错误。
expdp test/test schemas=TEST directory=TEST_DIR dumpfile=TEST.dmp logfile=expdpTEST.log |



