Oracle中重建表的線上重定義

jss001發表於2009-03-04

例如對myuser使用者下表userbase執行表分割槽重建操作!

1--驗證是否可以執行
SQL> execute dbms_redefinition.can_redef_table ('myuser','userbase');
2--建立中間表
按照需求建立一個新表userbase_a,其它_a表表結構已經建立。
3--開始重定義
SQL> execute dbms_redefinition.start_redef_table ('myuser','userbase','userbase_a');
4--完成重定義
SQL> execute dbms_redefinition.finish_redef_table ('myuser','userbase','userbase_a');

在執行過程中還可以執行下面兩條語句來保持原始碼與中轉表資料統一.

--保持同步表
SQL> execute dbms_redefinition.sync_interim_table ('myuser','userbase','userbase_a');
--終止重定義
SQL> execute dbms_redefinition.abort_redef_table ('myuser','userbase','userbase_a');

[@more@]

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

相關文章