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

快速轉移數據的方法

2013-11-13 15:24:39  來源: Oracle 

  如果你要把ORACLE裡的大量數據(M以上)轉移到另外的用戶另外的表空間裡可以用下面介紹的快速轉移
    數據的方法
建新表的方式

  create table target_tablename tablespace target_tablespace_name nologging
    pctfree pctused
    storage(initial M next M minextents maxextents unlimited pctincrease )
    as select * from usernamesource_tablename where 條件;

  注意事項 新建的表沒有原來表的索引和默認值
    只有非空(not null)的約束素條件可以繼承過來
    其它的約束條件或索引需要重新建立

  直接插入的方法

  INSERT /*+ APPEND */ INTO target_tablename
    SELECT * FROM usernamesource_tablename where 條件;
    COMMIT;

  注意事項
    用INSERT /*+ APPEND */ 的方法會對target_tablename產生級別為的獨占鎖
    如果運行此命令時還有對target_tablename的DML操作會排隊在它後面
    對OLTP系統在用的表操作是不合適的
    說明這兩種方法轉移數據時沒有用SGA裡數據緩沖區和事物處理的回滾段 也不寫聯機事物日志
    就象數據庫裝載工具SQLLOAD一樣直接把數據寫到物理文件速度是很快的

  在ORACLEI以後的版本都可以使用


From:http://tw.wingwit.com/Article/program/Oracle/201311/16651.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.