Oracle

您所在的位置:网站首页 expdp导出表结构和存储过程 Oracle

Oracle

2023-09-21 22:07| 来源: 网络整理| 查看: 265

数据泵文件 expdp介绍

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.dumpCONTENT=METADATA_ONLY 3. DIRECTORY 指定转储文件和日志文件所在的目录 DIRECTORY=directory_object Directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATEDIRECTORY语句建立的对象,而不是OS目录 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump 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 ESTIMATE={BLOCKS | STATISTICS} 设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间 Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dumpDUMPFILE=a.dump 6. ESTIMATE_ONLY 指定是否只估算导出作业所占用的磁盘空间,默认值为N EXTIMATE_ONLY={Y | N} 设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作. Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y 7. EXCLUDE(具体见2、Exclude导出用户中指定类型的指定对象) 该选项用于指定执行操作时释放要排除对象类型或相关对象 EXCLUDE=object_type[:name_clause] [,….] Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dupEXCLUDE=VIEW 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.dmpFLASHBACK_SCN=358523 10. FLASHBACK_TIME 指定导出特定时间点的表数据 FLASHBACK_TIME=”TO_TIMESTAMP(time_value)” Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmpFLASHBACK_TIME=“TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYYHH24:MI:SS’)” 11. FULL 指定数据库模式导出,默认为N FULL={Y | N} 为Y时,标识执行数据库导出. 12. HELP 指定是否显示EXPDP命令行选项的帮助信息,默认为N 当设置为Y时,会显示导出选项的帮助信息. Expdp help=y 13. INCLUDE(具体见1、Include导出用户中指定类型的指定对象) 指定导出时要包含的对象类型及相关对象 INCLUDE = object_type[:name_clause] [,… ] 14. JOB_NAME 指定要导出作业的名称,默认为SYS_XXX JOB_NAME=jobname_string SELECT * FROM DBA_DATAPUMP_JOBS;--查看存在的job 15. LOGFILE 指定导出日志文件文件的名称,默认名称为export.log LOGFILE=[directory_object:]file_name Directory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值. Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmplogfile=a.log 16. NETWORK_LINK 指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项. 如:expdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdbtables=p_street_area dumpfile =p_street_area.dmplogfile=p_street_area.log    job_name=my_job igisdb是目的数据库与源数据的链接名, dir_dp是目的数据库上的目录 而如果直接用使用连接字符串(@fgisdb),expdp属于服务端工具,expdp生成的文件默认是存放在服务端的 17. NOLOGFILE 该选项用于指定禁止生成导出日志文件,默认值为N. 18. PARALLEL 指定执行导出操作的并行进程个数,默认值为1 注:并行度设置不应该超过CPU数的2倍,如果cpu为2个,可将PARALLEL设为2,在导入时速度比PARALLEL为1要快    而对于导出的文件,如果PARALLEL设为2,导出文件只有一个,导出速度提高不多,因为导出都是到同一个文件,会争抢资源。所以可以设置导出文件为两个,如下所示:     expdpgwm/gwm directory=d_test dumpfile=gwmfile1.dp,gwmfile2.dpparallel=2 19. PARFILE 指定导出参数文件的名称 PARFILE=[directory_path] file_name 20. QUERY 用于指定过滤导出数据的where条件 QUERY=[schema.] [table_name:] query_clause Schema用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句.QUERY选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用. Expdp scott/tiger directory=dump dumpfile=a.dmp Tables=empquery=’WHERE deptno=20’ 21. SCHEMAS 该方案用于指定执行方案模式导出,默认为当前用户方案. 22. STATUS 指定显示导出作用进程的详细状态,默认值为0 23. TABLES 指定表模式导出 TABLES=[schema_name.]table_name[:partition_name][,…] Schema_name用于指定方案名,table_name用于指定导出的表名,partition_name用于指定要导出的分区名. 24. TABLESPACES 指定要导出表空间列表 25. TRANSPORT_FULL_CHECK 该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式,默认为N. 当设置为Y时,导出作用会检查表空间直接的完整关联关系,如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移,将显示错误信息.当设置为N时,导出作用只检查单端依赖,如果搬移索引所在表空间,但未搬移表所在表空间,将显示出错信息,如果搬移表所在表空间,未搬移索引所在表空间,则不会显示错误信息. 26. TRANSPORT_TABLESPACES 指定执行表空间模式导出 27. VERSION 指定被导出对象的数据库版本,默认值为COMPATIBLE. VERSION={COMPATIBLE | LATEST | version_string} 为COMPATIBLE时,会根据初始化参数COMPATIBLE生成对象元数据;为LATEST时,会根据数据库的实际版本生成对象元数据.version_string用于指定数据库版本字符串.调用EXPDP 数据泵工具导出的步骤:

SQL> conn /as sysdba

1、创建DIRECTORY #1、创建DIRECTORY,注意,也在指定的位置手工创建这个目录!! SQL> CREATE OR REPLACE DIRECTORY my_dir AS 'e:/oracle/my_dir'; 2、授权 SQL> GRANT read,write ON DIRECTORY my_dir TO cf2g; --查看目录及权限 SELECT privilege, directory_name, DIRECTORY_PATH FROMuser_tab_privs t, all_directories d  WHERE t.table_name(+) = d.directory_name ORDER BY2, 1; 3、执行导出 expdp cf2g/cf2g@orcl directory=my_dir dumpfile=20160914.dmp schemas=cf2g logfile=20160914.log 连接到: Oracle Database 10g Enterprise Edition Release10.2.0.1 With the Partitioning, OLAP and Data Mining options 启动 "LTTFM"."SYS_EXPORT_SCHEMA_01": lttfm 备注:   1、directory=dir_dp必须放在前面,如果将其放置最后,会提示 ORA-39002:操作无效                                                             ORA-39070: 无法打开日志文件。                                                             ORA-39087: 目录名 DATA_PUMP_DIR; 无效        2、在导出过程中,DATA DUMP 创建并使用了一个名为SYS_EXPORT_SCHEMA_01的对象,此对象就是DATADUMP导出过程中所用的JOB名字,如果在执行这个命令时如果没有指定导出的JOB名字那么就会产生一个默认的JOB名字,如果在导出过程中指定JOB名字就为以指定名字出现     如下改成:     expdp lttfm/lttfm@fgisdb schemas=lttfm directory=dir_dp dumpfile=expdp_test1.dmplogfile=expdp_test1.log,job_name=my_job1;   3、导出语句后面不要有分号,否则如上的导出语句中的job表名为‘my_job1;’,而不是my_job1。因此导致expdplttfm/lttfm attach=lttfm.my_job1执行该命令时一直提示找不到job表    4、创建的目录一定要在数据库所在的机器上。否则也是提示:

ORA-39002:操作无效  ORA-39070:无法打开日志文件。 ORA-39087: 目录名DATA_PUMP_DIR; 无效

 

 

导出的相关命令使用:   1)Ctrl+C组合键:在执行过程中,可以按Ctrl+C组合键退出当前交互模式,退出之后,导出操作不会停止    2)Export>status              --查看当前JOB的状态及相关信息    3)Export>stop_job            --暂停JOB(暂停job后会退出expor模式)    4)重新进入export模式下:C:\Documentsand Settings\Administrator>expdp lttfm/lttfmattach=lttfm.my_job1 --语句后面不带分号    5)Export>start_job           --打开暂停的JOB(并未开始重新执行)    6)Export>continue_client     --通过此命令重新启动 "LTTFM"."MY_JOB":    7)Export>kill_job            --取消当前的JOB并释放相关客户会话(将job删除同时删除dmp文件)    8)Export>exit_client         --通过此命令退出export模式(通过4)可再进入export模式下)  注:导出完成后job自动卸载 数据泵导出的各种模式: 1、按表模式导出: expdp lttfm/lttfm@fgisdb tables=lttfm.b$i_exch_info,lttfm.b$i_manhole_info dumpfile=expdp_test2.dmp logfile=expdp_test2.log directory=dir_dpjob_name=my_job 2、按查询条件导出: expdp lttfm/lttfm@fgisdb tables=lttfm.b$i_exch_info dumpfile =expdp_test3.dmplogfile=expdp_test3.log directory=dir_dp job_name=my_jobquery='"where rownum



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3