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

使用直接模式direct=y導出數據比傳統方式

2013-11-13 22:12:46  來源: Oracle 

  最近發現使用直接導出模式direct=y exp比傳統模式導出快很多而且似乎也不會遇見什麼bug(至今沒有遇見過)

  oracle提供種模式導出表數據傳統模式CONVENTIONAL PATH和直接模式DIRECT PATH有direct指定

  CONVENTIONAL PATH EXPORT  比較DIRECT PATH EXPORT
    ====================================================

  差異

   Conventional path Export
   
    傳統導出模式使用SQL SELECT語句抽取表數據將數據從磁盤中讀入到buffer cache緩沖區中並應用SQL表達式將紀錄返回給導出客戶端然後寫到到處文件

   Direct path Export
   
    直接導出模式數據直接從磁盤中讀取到導出session的UGA中跳過了SQL命令處理層避免了不必要的數據轉換 然後將紀錄返回給導出客戶端然後寫到到處文件   跳過了SQL命令處理層表示DIRECT導出不支持QUERY選項

  性能

   Direct Export 比Conventional Export要快很多在實際應用中如果直接模式導出需要時間N傳統模式導出則需要*N到*N之間

   當Direct Export 的時候設置大的RECORDLENGTH(length of IO record) 參數可以加快導出最大k
    exp userid=system/manager full=y direct=y recordlength=
    file=exp_fulldmp log=exp_fulllog
    imp userid=system/manager full=y recordlength=
    file=exp_fulldmp log=imp_fulllog

   Direct 模式導出並不影響導入數據的速度導入數據與傳統模式花費時間一樣

  限制
   

   導出表空間必須使用傳統模式

   含有LOB對象的表不支持直接導出模式

   直接導出不支持QUERY

   直接導出模式使用RECORDLENGTH設置一次可以導出數據的量傳統模式使用buffer設置

   低版本直接導出模式要求導出客戶端和數據庫字符集設置一致

  直接導出模式bug比傳統模式要多但由於其導出數據在性能上的優勢仍然要多加使用


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