导入模板 userid="/ as sysdba" directory=fwy dumpfile=impdp%U.dmp logfile=impdp.log tables=( a.table1 a.table2 b.table3 ) query=( GOLAPDATA.EPAY_PA_PAYMENT_INFO:"where PAYMENT_DATE >= date'2011-01-01'" GOLAPDATA.NSHOP_APPLY_BASE_INFO_N:"where APPLY_TIME >= date'2011-01-01'" GOLAPDATA.NSHOP_POLICY_BASE_INFO_N:"where CALCU_DATE >= date'2011-01-01'" ) parallel=4 job_name=impdp_fwy TABLE_EXISTS_ACTION=REPLACE
NETWORK_LINK导入模板 先在目标库以sys用户建立dblink连到源库。 userid="/ as sysdba" directory=fwy logfile=impdp.log tables=( a.table1 a.table2 b.table3 ) query=( GOLAPDATA.EPAY_PA_PAYMENT_INFO:"where PAYMENT_DATE >= date'2011-01-01'" GOLAPDATA.NSHOP_APPLY_BASE_INFO_N:"where APPLY_TIME >= date'2011-01-01'" GOLAPDATA.NSHOP_POLICY_BASE_INFO_N:"where CALCU_DATE >= date'2011-01-01'" ) job_name=impdp_fwy network_link=to_t1lass parallel=4 TABLE_EXISTS_ACTION=REPLACE
#NETWORK_LINK,可以用于分区表,不能用于LONG字段的表。 #完毕后记得删除连到生产库的dblink。
参数 1.导什么? full=(N) | Y 是否全库导出,对于导入而言就是所有dmp文件内容导入 tablespaces=(tbs1,tbs2) schemas=(a,b,c) content=(all)(既导出表行又导出元数据)| data_only | metadata_only 这个等同于exp的rows=y|n等 #exclude 在限定范围内剔除相关的内容其余导出。 exclude=( table:"LIKE 'TMP%'", --可以选择TMP%的表被排除 table:"in ('EMPLOYEES','DEPART')" --可以选择这两个表被排除 index --可以选择索引被排除 ) schemas=hr exclude=( SCHEMAS:"='HR' --可以选择SCHEMA是HR的被排除
2.怎么导? directory=fwy --create directory fwy as '/paic/app/oracle/base/fwy';创建,导出导入都要。 COMPRESSION=ALL, DATA_ONLY, [METADATA_ONLY] and NONE.(11g才有) estimate=blocks (默认)| statistics 空间估算时使用数据块还是表统计信息 estimate_only=N (默认)| Y --只估算,不启动导出作用。 #sample参数 SAMPLE=hr.tab:30 --这样hr的tab只导出30%,而hr其余表则100%导出。 schema=hr SAMPLE=30 则只导出该表30%的内容 TABLE_EXISTS_ACTION=(SKIP)|APPEND|REPLACE|TRUNCATE SKIP是如果有已经存在的对象就跳过; APPEND是在原有数据基础上继续增加(APPEND)此时所有相关的元数据都不会导入了仅仅是导入追加数据而已; REPLACE是先DROP表,然后创建表,最后完成数据插入(REPLACE);已测试replace不能针对SEQUENCE TRUNCATE是先TRUNCATE,再完成数据插入(TRUNCATE)。 重映射函数(一般输入的时候用) remap_table=hr.emp1:emp2 --表重命名为emp2 remap_schema=A:X,B:Y 导入时改变对象的属主 remap_tablespace=A:B 导入时将原本属于表空间A的对象都放到表空间B中,一般与上面的remap_schema配合使用,因为用户的默认表空间不同。 remap_datafile='/data