PLSQL_数据泵定参数批量导入多表Expdp/Impdp Parfile(案例)

简介: 2015-04-01 Created By BaoXinjian 一、摘要 PARFILE 可以把各种参数配置为一个文本键值形式的文件,该参数可以指定参数文件的位置。 Expdp命令可以调用Parfile文件,在Parfile里可以写备份脚本,可以使用Query选项。

2015-04-01 Created By BaoXinjian

一、摘要


PARFILE 可以把各种参数配置为一个文本键值形式的文件,该参数可以指定参数文件的位置。

Expdp命令可以调用Parfile文件,在Parfile里可以写备份脚本,可以使用Query选项。

1. 如expdp.txt 内容如下:

USERID=orcldev/oracle directory=dackup_path dumpfile=orcldev_parfile.dmp logfile=orcldev_parfile.log TABLES='TAB_TEST' QUERY="WHERE TRAN_DATE=TO_DATE('2013-08-31','YYYY-MM-DD')"

执行方法:expdp parfile=expdp.txt 即可执行备份

使用parfile好处是使用query选项是不用使用转义字符,如果将query参数放到外边的话,需要将""进行转义。

2. UNIX写法:

expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log schemas=orcldev INCLUDE=TABLE:\"IN \(\'TEST_A\',\'TEST_B\'\)\"  --在Unix系统执行是需要将单引号进行转义操作,否则会报错。

3. WINDOWS写法:

expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log schemas=orcldev INCLUDE=TABLE:"IN \('TEST_A','TEST_B')"

 

二、案例


案例: 通过在Par文件定义多张表汇总,导出和导入Dump文件

Step1. 创建Expdp的par文件gavin_dump_par_20150401.par

DIRECTORY=GAVIN_EXP_TMP
DUMPFILE=gavin_dumpfile_20150401.dmp
LOGFILE=gavin_dumpfile_exp_20150401.log
TABLES=AP.AP_INVOICES_ALL,
AP.AP_INVOICE_LINES_ALL,
AP.AP_INVOICE_PAYMENTS_ALL

Step2. 在源端数据库导入数据为dump文件

expdp / PARFILE=gavin_dump_par_20150401.par FLASHBACK_SCN=$(print "set pagesize 0 numwidth 30\nselect sys.dbms_flashback.get_system_change_number from dual;"|sqlplus -s    /)

Step3. 在目标数据库导入dump文件

imp / DIRECTORY=GAVIN_IMP_TMP dumpfile=gavin_dumpfile_20150401.dmp logfile=gavin_dumpfile_imp_20150401.dmp.log

Step4. 查看日志和数据库表确认数据是否已经导入成功

 

三、案例


 

较为复杂的初传输定义,需要定义文件的大小,并行度,并通过ksh调用nohup多批量处理

 

//创建目录
CREATE OR REPLACE DIRECTORY DUMPFILE AS/u01/data/dump/exp/scripts’;

//执行参数
vi GAVIN_DATA_PARAMETER.par
DIRECTORY=dumpfile
DUMPFILE=GAVIN_DATA_SEQNO_0%U.dump,GAVIN_DATA_SEQNO_1%U.dmp
CONTEXT=ALL
FILESIZE=2G
PARALLEL=4
EXCLUDE=TRIGGER, FUNCTION, PACKAGE, PROCEDURE, SEQUNCEN, VIEW
LOGFILE=GAVIN_DATA_EXPDP.log
TABLES=AP.AP_INVOICES_ALL,
AP.AP_LINES_ALL

//并行执行
vi GAVIN_DATA_EXECUATE.ksh
export basedir=/u01/data/dump/imp/scripts
nohup expdp \'/ as sysdba\' PARFILE=$basedir/GAVIN_DATA_PARAMETER.par>/dev/null 2>&1 &

 

 

 

Thanks and Regards

 

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
2月前
|
SQL Oracle 关系型数据库
[oracle]使用impdp导入数据时卡在视图
[oracle]使用impdp导入数据时卡在视图
145 2
|
Oracle 关系型数据库
PLSQL_数据泵导入进度查看Impdp/Expdp Status(案例)
20150701 Created By BaoXinjian 一、摘要 查看EXPDP/IMPDP的进度,当你当如导出的时候,如果数据量比较大,中途有些人会着急,不免想看看进度如何 1. 两个视图 DBA_DATAPUMP_JOBS; DBA_DATAPUMP_SESSIONS; 2.
3299 0
|
机器学习/深度学习 Oracle 关系型数据库
【expdp】10g数据泵expdp工具选项详解及应用示例
理解expdp各个选项的含义最好的途径就是逐一的进行测试,这样可以在感性上有一个真实的体验。 1.数据泵expdp导出工具与传统的exp导出工具的区别 1)exp是客户端程序,既可以在客户端使用,也可以在服务器端使用; 2)expdp是服务器端工具,只能在ORACLE服务器端使用,不能在客户端使用; 3)这两个工具生成的备份文件不能被对方与之对应的导入工具使用; 4)expdp在灵活性和功能性上与exp相比,有质上的飞跃。 2.expdp命令行选项列表 使用“-help”选项获得expdp命令可用的选项列表和简单的注释信息。 ora10g@linux5 /expdp$ expdp help
335 0
|
SQL 数据库
数据泵如何生成导出文件的DDL脚本
在使用exp/imp时,生成对应dumpfile文件的DDL脚本非常容易,在使用命令imp时,添加参数show, show=y表示展示imp导入的时候,输出相关DDL语句(不包括insert语句),而不会真正的在数据库中执行.其实使用数据泵(expdp/impdp)也能生成对应导出dumpfile的DDL语句,参数为sqlfile。
995 0
|
Oracle 关系型数据库 数据库
|
网络协议 Oracle 关系型数据库
|
关系型数据库 Oracle