Oracle分割槽表遷移

chncaesar發表於2013-11-28
有時,我們需要在另一個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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/638844/viewspace-1061555/,如需轉載,請註明出處,否則將追究法律責任。

相關文章