分割槽表分批遷移

kisslfcr發表於2016-06-02
遇到個分割槽表資料量超大的case,磁碟空間不夠,所以考慮使用資料泵分批導資料,測試如下:

source : oracle windows 32bit 10.2.0.1
target  :  oracle windows 64bit 11.2.0.1

使用系統自帶sh使用者下的sales分割槽表:

expdp:

expdp sh/sh dumpfile=sales_p.dmp directory=dump logfile=sales.log tables=sales:SALES_1995,sales:SALES_1996,sales:SALES_H1_1997,sales:SALES_H2_1997,sales:SALES_Q1_1998,sales:SALES_Q1_1999,sales:SALES_Q1_2000,sales:SALES_Q1_2001,sales:SALES_Q1_2002,sales:SALES_Q1_2003,sales:SALES_Q2_1998,sales:SALES_Q2_1999,sales:SALES_Q2_2000,sales:SALES_Q2_2001,sales:SALES_Q2_2002,sales:SALES_Q2_2003,sales:SALES_Q3_1998,sales:SALES_Q3_1999,sales:SALES_Q3_2000


expdp sh/sh dumpfile=sales_p2.dmp directory=dump logfile=sales2.log tables=sales:SALES_Q3_2001,sales:SALES_Q3_2002,sales:SALES_Q3_2003,sales:SALES_Q4_1998,sales:SALES_Q4_1999,sales:SALES_Q4_2000,sales:SALES_Q4_2001,sales:SALES_Q4_2002,sales:SALES_Q4_2003

impdp:

impdp sh/sh dumpfile=sales_p.dmp directory=dump logfile=sales.log tables=sales:SALES_1995,sales:SALES_1996,sales:SALES_H1_1997,sales:SALES_H2_1997,sales:SALES_Q1_1998,sales:SALES_Q1_1999,sales:SALES_Q1_2000,sales:SALES_Q1_2001,sales:SALES_Q1_2002,sales:SALES_Q1_2003,sales:SALES_Q2_1998,sales:SALES_Q2_1999,sales:SALES_Q2_2000,sales:SALES_Q2_2001,sales:SALES_Q2_2002,sales:SALES_Q2_2003,sales:SALES_Q3_1998,sales:SALES_Q3_1999,sales:SALES_Q3_2000


impdp sh/sh dumpfile=sales_p2.dmp directory=dump logfile=sales2.log tables=sales:SALES_Q3_2001,sales:SALES_Q3_2002,sales:SALES_Q3_2003,sales:SALES_Q4_1998,sales:SALES_Q4_1999,sales:SALES_Q4_2000,sales:SALES_Q4_2001,sales:SALES_Q4_2002,sales:SALES_Q4_2003 table_exists_action=append

分割槽過多使用notepad++宮格回車替換成:的方法再結合select 'sales:'||partition_name from user_tab_partitions where table_name='SALES'的輸出結果很簡單實現。
如有疑問請在評論中留言。

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

相關文章