小城盱眙网
标题: 分布式DATAPUMP的使用说明及案例分析 [打印本页]
作者: ohnoma 时间: 2016-7-6 09:58
标题: 分布式DATAPUMP的使用说明及案例分析
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/。
欢迎光临 小城盱眙网 (http://www.xcxy.net/) |
Powered by Discuz! X3.2 |