原文链接:http://hi.baidu.com/edeed/item/2c454cff5c559f773d198b94
Oracle10g 数据泵导出命令 expdp 使用总结(一)
1.1.2 expdp选项
1. ATTACH
该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:
ATTACH=[schema_name.]job_name
schema_name用于指定方案名,job_name用于指定导出作业名。
注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:
expdp scott/tiger ATTACH=scott.export_job
2. CONTENT
该选项用于指定要导出的内容.默认值为ALL.语法如下:
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
当设置CONTENT为ALL 时,将导出对象定义及其所有数据; 为DATA_ONLY时,只导出对象数据; 为METADATA_ONLY时,只导出对象定义,示例如下:
expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METADATA_ONLY
3. DIRECTORY
指定转储文件和日志文件所在的目录.语法如下:
DIRECTORY=directory_object
directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录,示例如下:
expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump
建立目录:
CREATE DIRECTORY dump as 'd:\dump';
查询创建了那些子目录:
SELECT * FROM dba_directories;
4. DUMPFILE
用于指定转储文件的名称,默认名称为expdat.dmp.语法如下:
DUMPFILE=[directory_object:]file_name[,….]
directory_object用于指定目录对象名,file_name用于指定转储文件名。
需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象,示例如下:
expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp
5. ESTIMATE
指定估算被导出表所占用磁盘空间的方法.默认值是BLOCKS.语法如下:
EXTIMATE={BLOCKS | STATISTICS}
设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间。
设置为STATISTICS时,根据最近统计值估算对象占用空间,示例如下:
expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump
一般情况下, 当用默认值(blocks)时, 日志中估计的文件大小会比实际expdp出来的文件大, 用statistics时会跟实际大小差不多.
6. EXTIMATE_ONLY
指定是否只估算导出作业所占用的磁盘空间,默认值为N.语法如下:
EXTIMATE_ONLY={Y | N}
设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作,示例如下:
expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y
7. EXCLUDE
该选项用于指定执行操作时要排除的对象类型或相关对象.语法如下:
EXCLUDE=object_type[:name_clause][,….]
object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用,示例如下:
expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW
在EXPDP的帮助文件中, 可以看到存在EXCLUDE和INCLUDE参数, 这两个参数文档中介绍的命令格式存在问题, 正确用法是:
EXCLUDE=OBJECT_TYPE[:name_clause][,...]
INCLUDE=OBJECT_TYPE[:name_clause][,...]
示例:
expdp <other_parameters> schema=scott exclude=sequence,table:"in('EMP','DEPT')"
impdp <other_parameters> schema=scott include=function,package,procedure,table:"='EMP'"
有了这些还不够, 由于命令中包含了多个特殊字符, 在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行, 如:
EXCLUDE=TABLE:\"IN('BIGTALE')\"
8. FILESIZE
指定导出文件的最大尺寸,默认为0(表示文件尺寸没有限制).
9. FLASHBACK_SCN
指定导出特定SCN时刻的表数据.语法如下:
FLASHBACK_SCN=scn_value
scn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用,示例如下:
expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=358523
10. FLASHBACK_TIME
指定导出特定时间点的表数据.语法如下:
FLASHBACK_TIME="TO_TIMESTAMP(time_value)"
示例如下:
expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME="TO_TIMESTAMP('25-08-2004 14:35:00','DD-MM-YYYY HH24:MI:SS')"
11. FULL
指定数据库模式导出,默认为N.语法如下:
FULL={Y | N}
为Y时,标识执行数据库导出.
12. HELP
指定是否显示EXPDP命令行选项的帮助信息,默认为N. 当设置为Y时,会显示导出选项的帮助信息,示例如下:
expdp help=y
13. INCLUDE
指定导出时要包含的对象类型及相关对象.语法如下:
INCLUDE=object_type[:name_clause][,… ]
示例如下:
expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=trigger
待续...