熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

相當方便快速消除行遷移的表的方法

2013-11-13 15:47:27  來源: Oracle 

  Row Migration是Oracle裡面的一個重要的基本概念
  一般傳統意義上我們需要消除行遷移 因為這樣會造成額外的IO消耗傳統的辦法一般是導入倒出整個表
  但是這樣的風險比較大而且Downtime會比較長
  當有外鍵約束之類的時候也非常的麻煩
  也有人選擇用刪除migration的行然後重新Insert 但是和Exp/Imp一樣當遭遇到FK/PK限制的時候也會很頭疼
  我們可以用下面的辦法來最方便的進行重組消除row migration
  SQL> alter table t add t date default sysdate;
   
  Table altered
   
  SQL> c/t/t
    * alter table t add t date default sysdate
  SQL> /
   
  Table altered
   
  SQL> c/t/t
    * alter table t add t date default sysdate
  SQL> /
   
  Table altered
   
  SQL> analyze table t compute statistics;
   
  Table analyzed
   
  SQL> select table_namenum_rowsCHAIN_CNT from user_tables where table_name=T;
   
  TABLE_NAME            NUM_ROWS CHAIN_CNT
  
  T                     
   
  SQL> alter table t move ;
   
  Table altered
   
  SQL> analyze table t compute statistics;
   
  Table analyzed
   
  SQL> select table_namenum_rowsCHAIN_CNT from user_tables where table_name=T;
   
  TABLE_NAME            NUM_ROWS CHAIN_CNT
  
  T                       
From:http://tw.wingwit.com/Article/program/Oracle/201311/17304.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.