有时,我们需要在另一个Oracle服务器上重建一个表,而这个表包含非常多的分区/子分区时,DB Link + CTAS不是个好选择,因为我们需要列出所有分区,得到所有分区信息也需要一些时间。这时imp/exp或者Data Pump会是个好的选择。我们分两种情况讨论
1. 源表空间和目标表空间一致: imp/exp
exp userid=@ parfile=
--
grants=n
indexes=n
triggers=n
constraints=y
STATISTICS=NONE
LOG=exp.log
tables=
query="where 1=0"
--Import to target database
Login
imp @ file=xxx.dmp tables==
2. 源表空间和目标表空间不一致: data pump
create directory ext_data AS '/home/oracle/data';
expdp userid=sh@orcl parfile=test1.par
directory=ext_data
EXCLUDE=INDEX,GRANT,TRIGGER,STATISTICS
LOGFILE=test1.log
tables=test1
dumpfile=test1.dmp
query="where 1=0"
impdp sh@orcl parfile=test2_imp.par
directory=ext_data
REMAP_TABLESPACE=sh_data:USERS,sh_data_1:USERS
REMAP_SCHEMA=SH:SCOTT
tables=test2
dumpfile=test2.dmp
1. 源表空间和目标表空间一致: imp/exp
exp userid=@ parfile=
--
grants=n
indexes=n
triggers=n
constraints=y
STATISTICS=NONE
LOG=exp.log
tables=
query="where 1=0"
--Import to target database
Login
imp @ file=xxx.dmp tables==
2. 源表空间和目标表空间不一致: data pump
create directory ext_data AS '/home/oracle/data';
expdp userid=sh@orcl parfile=test1.par
directory=ext_data
EXCLUDE=INDEX,GRANT,TRIGGER,STATISTICS
LOGFILE=test1.log
tables=test1
dumpfile=test1.dmp
query="where 1=0"
directory=ext_data
REMAP_TABLESPACE=sh_data:USERS,sh_data_1:USERS
REMAP_SCHEMA=SH:SCOTT
tables=test2
dumpfile=test2.dmp
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/638844/viewspace-1061555/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/638844/viewspace-1061555/