Data Pump的组成部分: Data Pump有以下三个部分组成: 客户端工具:expdp/impdp Data Pump API (即DBMS_DATAPUMP) Metadata API(即DMBS_METADATA) 通常情况下,我们都把expdp/impdp等同于Data Pump,但从上面可以知道,实际上它只是Data Pump的一个组成部分,其实真正干活的是两个API,只是它们隐藏在后台,平时很少被注意,但如果出现一些莫名其妙的错误(如internal error等),通常是因为这两个API损坏,跑脚本重新编译它们即可。 data pump工具的功能特点如下: 1 在导出或者导入作业中,能够控制用于此作业的并行线程的数量。 2 支持在网络上进行导出导入,而不需要是使用转储文件集。 3 如果作业失败或者停止,能够重新启动一个datapump作业。并且能够挂起恢复导出导入作业。 4 通过一个客户端程序能够连接或者脱离一个运行的作业。 5 空间估算能力,而不需要实际执行导出。 6 可以指定导出导入对象的数据库版本。允许对导出导入对象进行版本控制,以便与低版本数据库兼容。 主要参数说明 CONTENT:指定只导出数据、元数据还是全部 DIRECTORY:指定数据库定义的DIRECTORY对象 DUMPFILE:指定dump文件名,如果定义了PARALLEL和FILESIZE,一定要包含通配符%U,如: > expdp hr SCHEMAS=hrDIRECTORY=dpump_dir1 DUMPFILE=dpump_dir2:exp1.dmp,
exp2%U.dmp PARALLEL=3 ESTIMATE_ONLY:如果你只想事先评估下dump文件占用空间大小,可以指定ESTIMATE_ONLY=yes FILESIZE:指定每个文件大小上限 HELP:如果忘记参数,可以执行expdphelp=y 显示帮助信息 JOB_NAME:指定expdp的job名称,一般不用指定,系统会指定默认唯一的JOB_NAME,可以在logfile里查看该Job的名称 LOGFILE:指定日志文件名称,默认为export.log PARALLEL:默认为1,即不启用并行,对于比较大的导出,建议适当增加并行度,但最大不能超过CPU个数的2倍 PARFILE:指定参数文件名称 REMAP_DATA:假设你从生产库导出敏感信息到测试库上,为了不让这些敏感信息泄露,可以在导出时对这些信息进行修改,从而达到保护敏感信息的作用。 REUSE_DUMPFILE:设置是否重用已有的DUMPFILE 使用datapump工具的准备工作 1 在环境变量中队bin目录进行配置。默认情况下,安装oracle数据库时,将自动配置相应的环境变量, 例如D:/oracle/product/10.2.0/db_1/BIN 2 在oracle安装路径的bin文件夹中,确定expdp.exe和impdp.exe文件的存在。 3 创建一个外部目录。 data pump要求为将要创建和读取的数据文件和日志文件创建目录,用来指向使用的外部目录。在oracle中创建目录对象时,可以使用 create directory语句。 下面举个数据过滤的栗子,元数据解析采用EXCLUDE,INCLUDE参数,注意:它们俩互斥。 EXCLUDE例子: expdp FULL=YES DUMPFILE=expfull.dmpEXCLUDE=SCHEMA:"='HR'" > expdp hr DIRECTORY=dpump_dir1DUMPFILE=hr_exclude.dmp EXCLUDE=VIEW, PACKAGE, FUNCTION INCLUDE例子: SCHEMAS=HR DUMPFILE=expinclude.dmp DIRECTORY=dpump_dir1 LOGFILE=expinclude.log INCLUDE=TABLE:"IN ('EMPLOYEES','DEPARTMENTS')" INCLUDE=PROCEDURE INCLUDE=INDEX:"LIKE 'EMP%'" 关于DATAPUMP还有很多要说的,更多关于ocp课程DATAPUMP内容请到腾讯课堂或者百度传课搜索海文IT教育,观看我们的免费视频。 更多精彩课程尽在上海海文信息技术有限公司,http://www.oracleoaec.net/。
|