impdp/expdp with filtering

expdp/impdp通过query参数来过滤数据:
写在命令行上需要加转义符: query=\"where object_id\<1000 \"
写在parfile里不要加转义符:query="where object_id<1000 "
可以加多个"query="参数 
"query="参数的where条件后可以加order by 
"query="参数加表名只对此表有效(query=t1 表示过滤条件只对t1表有效); 不加表名对所有表有效, 没有指定过滤列的表会出错




expdp user2/user2 directory=pumpdir dumpfile=user2.dmp query=t1:\"where object_id\<1000 order by object_name\" query=\"where aaa \<500\" 


Export: Release 11.2.0.4.0 - Production on Wed Sep 21 20:38:54 2016


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "USER2"."SYS_EXPORT_SCHEMA_01":  user2/******** directory=pumpdir dumpfile=user2.dmp query=t1:"where query order query object_name" query="where aaa <500" 
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 2.125 MB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
. . exported "USER2"."T1"                                98.76 KB     997 rows
. . exported "USER2"."T2"                                8.796 KB     499 rows
ORA-31693: Table data object "USER2"."T3" failed to load/unload and is being skipped due to error:
ORA-00904: "AAA": invalid identifier
Master table "USER2"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for USER2.SYS_EXPORT_SCHEMA_01 is:
  /home/oracle/pumpdir/user2.dmp
Job "USER2"."SYS_EXPORT_SCHEMA_01" completed with 1 error(s) at Wed Sep 21 20:38:57 2016 elapsed 0 00:00:02


query=t1:\"where object_id\<1000 order by object_name\" 对t1有效
query=\"where aaa \<500\" 对t1以外的所有表有效, 但是t3没有"aaa", 所以出错(ORA-00904: "AAA": invalid identifier)




impdp user3/user3  remap_schema=user2:user3 directory=pumpdir dumpfile=user2.dmp \
query=user2.t1:\"where object_id\<10 order by object_name desc\" query=\"where aaa \<100\" 


Import: Release 11.2.0.4.0 - Production on Wed Sep 21 20:42:58 2016


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "USER3"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "USER3"."SYS_IMPORT_FULL_01":  user3/******** remap_schema=user2:user3 directory=pumpdir dumpfile=user2.dmp query=user2.t1:"where query order query object_name query query="where query <100" 
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "USER3"."T1"                                98.76 KB       8 out of 997 rows
. . imported "USER3"."T2"                                8.796 KB      99 out of 499 rows
Job "USER3"."SYS_IMPORT_FULL_01" successfully completed at Wed Sep 21 20:42:59 2016 elapsed 0 00:00:01


sqlplus USER3/USER3


SQL> select object_name from t1;
OBJECT_NAME
--------------------------------------------------------------------------------
TAB$
I_TS#
I_OBJ#
I_FILE#_BLOCK#
C_TS#
C_OBJ#
C_FILE#_BLOCK#
CLU$


可见query=user2.t1:\"where object_id\<10 order by object_name desc\"的desc 生效

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/37279/viewspace-2125728/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/37279/viewspace-2125728/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值