数据泵导入导出详解

上传人:ji****72 文档编号:35914524 上传时间:2018-03-22 格式:DOCX 页数:19 大小:37.90KB
返回 下载 相关 举报
数据泵导入导出详解_第1页
第1页 / 共19页
数据泵导入导出详解_第2页
第2页 / 共19页
数据泵导入导出详解_第3页
第3页 / 共19页
数据泵导入导出详解_第4页
第4页 / 共19页
数据泵导入导出详解_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《数据泵导入导出详解》由会员分享,可在线阅读,更多相关《数据泵导入导出详解(19页珍藏版)》请在金锄头文库上搜索。

1、数据泵技术是数据泵技术是 Oracle Database 10g 中的新技术,它比原来导入中的新技术,它比原来导入/导出导出(imp,exp)技术快技术快1545 倍。速度的提高源于使用了并行技术来读写导出转储文件。倍。速度的提高源于使用了并行技术来读写导出转储文件。expdp 使用使用使用 EXPDP 工具时,其转储文件只能被存放在 DIRECTORY 对象对应的 OS 目录中,而不能直接指定转储文件所在的 OS 目录。因此使用 EXPDP 工具时,,必须首先建立DIRECTORY 对象,并且需要为数据库用户授予使用 DIRECTORY 对象权限。首先得建 DIRECTORY:SQL con

2、n /as sysdbaSQL CREATE OR REPLACE DIRECTORY dir_dump AS /u01/backup/;SQL GRANT read,write ON DIRECTORY dir_dump TO public;1) 导出 scott 整个 schema-默认导出登陆账号的 schema$ expdp scott/tigerdb_esuiteparfile=/orahome/expdp.parexpdp.par 内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.log-其他账号登陆, 在

3、参数中指定 schemas$ expdp system/oracledb_esuiteparfile=/orahome/expdp.parexpdp.par 内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.logSCHEMAS=SCOTT2) 导出 scott 下的 dept,emp 表$ expdp scott/tigerdb_esuiteparfile=/orahome/expdp.parexpdp.par 内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.

4、logTABLES=DEPT,EMP3) 导出 scott 下除 emp 之外的表$ expdp scott/tigerdb_esuiteparfile=/orahome/expdp.parexpdp.par 内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logEXCLUDE=TABLE:“=EMP“4) 导出 scott 下的存储过程$ expdp scott/tigerdb_esuiteparfile=/orahome/expdp.parexpdp.par 内容:DIRECTORY=dir_dumpDUMPFILE=scott.d

5、mpLOGFILE=scott.logINCLUDE=PROCEDURE5) 导出 scott 下以E开头的表$ expdp scott/tigerdb_esuiteparfile=/orahome/expdp.parexpdp.par 内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=TABLE:“LIKE E%“ /可以改成 NOT LIKE,就导出不以 E 开头的表6) 带 QUERY 导出$ expdp scott/tigerdb_esuite parfile=/orahome/expdp.parexpdp.

6、par 内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=EMP,DEPTQUERY=EMP:“where empno=8000“QUERY=DEPT:“where deptno=10 and deptno=8000“中得出的 deptno=50 的话, 那么, 你的 dept 的条件“where deptno=10 and deptno schema=scottexclude=sequence,table:“in(EMP,DEPT)“impdp schema=scott include = function,pack

7、age, procedure, table:“=EMP“有了这些还不够, 由于命令中包含了多个特殊字符, 在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行,如:EXCLUDE=TABLE:“IN(BIGTALE)“8. FILESIZE指定导出文件的最大尺寸,默认为 0(表示文件尺寸没有限制).9. FLASHBACK_SCN指定导出特定 SCN 时刻的表数据.语法如下:FLASHBACK_SCN=scn_valuescn_value 用于标识 SCN 值.FLASHBACK_SCN 和 FLASHBACK_TIME 不能同时使用,示例如下:expdp scott/tiger DIR

8、ECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据.语法如下:FLASHBACK_TIME=“TO_TIMESTAMP(time_value)“示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME = “TO_TIMESTAMP(25-08-200414:35:00,DD-MM-YYYY HH24:MI:SS)“11. FULL指定数据库模式导出,默认为 N.语法如下:FULL=Y | N为 Y 时,标识执行

9、数据库导出.12. HELP指定是否显示 EXPDP 命令行选项的帮助信息,默认为 N.当设置为 Y 时,会显示导出选项的帮助信息,示例如下:expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象.语法如下:INCLUDE=object_type:name_clause, 示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=trigger1.1.2 expdp 选项14. JOB_NAME指定要导出作用的名称,默认为 SYS_XXX.语法如下:JOB_NAME=jobname_string示例如下

10、:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=triggerJOB_NAME=exp_trigger后面想临时停止 expdp 任务时可以按 Ctrl+C 组合键,退出当前交互模式,退出之后导出操作不会停止,这不同于 Oracle 以前的 EXP. 以前的 EXP,如果退出交互式模式,就会出错终止导出任务. 在 Oracle10g 中,由于 EXPDP 是数据库内部定义的任务,已经与客户端无关. 退出交互之后,会进入 export 的命令行模式,此时支持 status 等查看命令:Export status如果想停止改任务,可

11、以发出 stop_job 命令:Export stop_job如果有命令行提示: “是否确实要停止此作业(Y/N):“ 或 “Are you sure you wish to stop this job (yes/no):“, 回答应是 yes 或者 no, 回答是 YES 以后会退出当前的 export 界面.接下来可以通过命令行再次连接到这个任务:expdp test/testacf attach=expfull通过 start_job 命令重新启动导出:Export start_jobExport status15. LOGFILE指定导出日志文件文件的名称,默认名称为 export.l

12、og.语法如下:LOGFILE=directory_object:file_namedirectory_object 用于指定目录对象名称,file_name 用于指定导出日志文件名.如果不指定 directory_object.导出作用会自动使用 DIRECTORY 的相应选项值,示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.expdp 中使用连接字符串和 network_link 的区别:ex

13、pdp 属于服务端工具,而 exp 属于客户端工具,expdp 生成的文件默认是存放在服务端的,而 exp 生成的文件是存放在客户端.expdp username/passwordconnect_string /对于使用这种格式来说,directory 使用源数据库创建的,生成的文件存放在服务端。如何将生成的文件放在目标数据库而不放在源数据库呢,在 expdp 中使用 network_link.比如在本机 expdp 远程服务器的数据库,先在本机创建到服务端的 dblink,然后创建 directory及授权,然后 expdp.a.创建到服务端的 dblinkconn aa/aacccreat

14、e database link connect to identified by using ;/username 和 password 是 server 端的b.创建 directoryconn / assysdbacreate or replace directory dir as /home/oracle/dbbackup;grant read,write on directory dir to ;c.导出expdpusername2/password2 directory=dirnetwork_link=link_name . /这里的username2 用创建 dblink 的那个用

15、户 aa,directory 也是目标数据库创建的比如在本机 expdp 远程服务器的数据库,先在本机创建到服务端的 dblink,然后创建directory 及授权,然后 expdp useranme2/password2.如果想不生成 dmp 文件而直接导入一个数据库,原理和上面类似,直接使用 impdp带 network_link ,这样可以直接 impdp,而绕过了 expdp 的步骤impdp network_link=tolink schemas=link remap_schema=link:link217. NOLOGFILE该选项用于指定禁止生成导出日志文件,默认值为 N.18

16、. PARALLEL指定执行导出操作的并行进程个数,默认值为 119. PARFILE指定导出参数文件的名称.语法如下:PARFILE=directory_path:file_name20. QUERY用于指定过滤导出数据的 where 条件.语法如下:QUERY=schema.table_name:query_clauseschema 用于指定方案名,table_name 用于指定表名,query_clause 用于指定条件限制子句.QUERY 选项不能 与 CONNECT = METADATA_ONLY, EXTIMATE_ONLY, TRANSPORT_TABLESPACES 等选项同时使用,示例如下:expdp scott/tiger directory=dump dumpfiel=a.dmp Tables=empquery=WHERE deptno=2021. SCHEMAS该方案用于指定执行方案模式导出,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号