程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 轉移Oracle海量數據的“竅門”

轉移Oracle海量數據的“竅門”

編輯:Oracle數據庫基礎

如果你在實際的相關操作中想要把Oracle海量數據(80MB以上),把它轉移到另外一個的用戶或者是另外的相關表空間裡。我們建議你可以使用以下的快速轉移數據的方法。即,建新表的方式 以及直接插入的方法 

一、建新表的方式

  1. create table target_tablename tablespace   
  2. target_tablespace_name nologging   
  3. pctfree 10 pctused 60   
  4. storage(initial 5M next 5M minextents 1   
  5. maxextents unlimited pctincrease 0)  
  6. as select * from username.source_tablename where 條件;  

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

二、直接插入的方法

  1. INSERT /*+ APPEND */ INTO target_tablename   
  2. SELECT * FROM username.source_tablename where 條件;   
  3. COMMIT;   

注意事項:

用INSERT /*+ APPEND */ 的方法會對target_tablename產生級別為6的獨占鎖,如果運行此命令時還有對target_tablename的DML操作會排隊在它後面,對OLTP系統在用的表操作是不合適的。

說明:這兩種方法轉移數據時沒有用SGA裡數據緩沖區和事物處理的回滾段, 也不寫聯機事物日志,就象數據庫裝載工具Solload一樣直接把數據寫到物理文件,速度是很快的。在Oracle8i以後的版本都可以使用。

以上的相關內容就是對快速轉移Oracle海量數據的具體操作方案的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved