由于业务需求要导出前缀为mock_的很多表,如果一个一个列出的话,势必很麻烦,这里测试了一下 % 的用法。
具体测试如下:
=搭建环境:
yang@ORACL> create table mock_loan as select * from user_objects;
表已创建。
yang@ORACL> create table mock_repay_loan as select * from user_objects;
表已创建。
yang@ORACL> create table mock_loan_error as select * from user_objects;
表已创建。
yang@ORACL> create table mock_user_info as select * from user_objects;
表已创建。
yang@ORACL> create table mock_user_profile_info as select * from user_objects;
表已创建。
yang@ORACL> select table_name from user_tables;
TABLE_NAME
------------------------------
TEST_BYTE
TEST
VARTAB
CHARTAB
MOCK_LOAN
MOCK_REPAY_LOAN
MOCK_LOAN_ERROR
MOCK_USER_INFO
MOCK_USER_PROFILE_INFO
SYS_EXPORT_TABLE_01
已选择10行。
yang@ORACL>
C:\Users\aaaa>expdp yang/yang tables=mock_% directory=dumpdir dumpfile=mock_%U.dmp logfile=mock.log
Export: Release 11.1.0.6.0 - Production on 星期三, 16 3月, 2011 14:02:57
Copyright (c) 2003, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "YANG"."SYS_EXPORT_TABLE_01": yang/******** tables=mock_% directory=dumpdir dumpfile=mock_%U.d
mp logfile=mock.log
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 320 KB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
. . 导出了 "YANG"."MOCK_LOAN" 10.69 KB 5 行
. . 导出了 "YANG"."MOCK_LOAN_ERROR" 10.87 KB 7 行
. . 导出了 "YANG"."MOCK_REPAY_LOAN" 10.78 KB 6 行
. . 导出了 "YANG"."MOCK_USER_INFO" 10.95 KB 8 行
. . 导出了 "YANG"."MOCK_USER_PROFILE_INFO" 11.05 KB 9 行
已成功加载/卸载了主表 "YANG"."SYS_EXPORT_TABLE_01"
******************************************************************************
YANG.SYS_EXPORT_TABLE_01 的转储文件集为:
D:\DUMP\MOCK_01.DMP
作业 "YANG"."SYS_EXPORT_TABLE_01" 已于 14:03:27 成功完成
=
yang@ORACL> drop table mock_&c;
输入 c 的值: loan
原值 1: drop table mock_&c
新值 1: drop table mock_loan
表已删除。
yang@ORACL> /
输入 c 的值: repay_loan
原值 1: drop table mock_&c
新值 1: drop table mock_repay_loan
表已删除。
yang@ORACL> /
输入 c 的值: user_info
原值 1: drop table mock_&c
新值 1: drop table mock_user_info
表已删除。
yang@ORACL> /
输入 c 的值: user_profile_info
原值 1: drop table mock_&c
新值 1: drop table mock_user_profile_info
表已删除。
yang@ORACL> /
输入 c 的值: loan_error
原值 1: drop table mock_&c
新值 1: drop table mock_loan_error
表已删除。
C:\Users\aaaa>impdp yang/yang tables=mock_% directory=dumpdir dumpfile=mock_%U.dmp logfile=mock_imp.log
Import: Release 11.1.0.6.0 - Production on 星期三, 16 3月, 2011 14:05:18
Copyright (c) 2003, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "YANG"."SYS_IMPORT_TABLE_01"
启动 "YANG"."SYS_IMPORT_TABLE_01": yang/******** tables=mock_% directory=dumpdir dumpfile=mock_%U.d
mp logfile=mock_imp.log
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "YANG"."MOCK_LOAN" 10.69 KB 5 行
. . 导入了 "YANG"."MOCK_LOAN_ERROR" 10.87 KB 7 行
. . 导入了 "YANG"."MOCK_REPAY_LOAN" 10.78 KB 6 行
. . 导入了 "YANG"."MOCK_USER_INFO" 10.95 KB 8 行
. . 导入了 "YANG"."MOCK_USER_PROFILE_INFO" 11.05 KB 9 行
作业 "YANG"."SYS_IMPORT_TABLE_01" 已于 14:05:23 成功完成
检测结果:
yang@ORACL> select table_name from user_tables;
TABLE_NAME
------------------------------
TEST_BYTE
TEST
VARTAB
CHARTAB
MOCK_LOAN
MOCK_REPAY_LOAN
MOCK_LOAN_ERROR
MOCK_USER_INFO
MOCK_USER_PROFILE_INFO
已选择9行。
看来如果遇到此类情况,使用%来操作还是比较方便的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22664653/viewspace-689601/,如需转载,请注明出处,否则将追究法律责任。