oracle exp 中有關direct使用

2021-10-22 23:31:49 字數 1174 閱讀 8658

oracle提供2種模式匯出表資料,傳統模式conventional path和直接模式direct path,有direct指定。 conventional path export 比較direct path export

一、差異

1. conventional path export. ------------------------- 傳統匯出模式使用sql select語句抽取表資料。將資料從磁碟中讀入到buffer cache緩衝區中,並應用sql表示式,將紀錄返回給匯出客戶端,然後寫到匯出檔案。

2. direct path export. ------------------- 直接匯出模式,資料直接從磁碟中讀取到匯出session的uga中,跳過了sql命令處理層。避免了不必要的資料轉換, 然後將紀錄返回給匯出客戶端,然後寫到到處檔案 跳過了sql命令處理層表示direct匯出不支援query選項。

二、效能

1. direct export 比conventional export要快很多。在實際應用中,如果直接模式匯出需要時間n,傳統模式匯出則需要2*n到3*n之間。

2. 當direct export 的時候設定大的recordlength(length of io record) 引數可以加快匯出。最大64k,

exp userid=system/manager full=y direct=y recordlength=65535 file=exp_full.dmp log=exp_full.log

imp userid=system/manager full=y recordlength=65535 file=exp_full.dmp log=imp_full.log

3. direct 模式匯出並不影響匯入資料的速度;匯入資料與傳統模式花費時間一樣。

三、限制

1. 匯出表空間必須使用傳統模式。

2. 含有lob物件的表不支援直接匯出模式。

3. 直接匯出不支援query.

4. 直接匯出模式使用recordlength設定一次可以匯出資料的量,傳統模式使用buffer設定.

5. 低版本直接匯出模式要求匯出客戶端和資料庫字符集設定一致。 直接匯出模式bug比傳統模式要多,但由於其匯出資料在效能上的優勢,仍然要多加使用。

hive中有關分桶

首先,在hive中為什麼要分桶?單個分割槽或者表中的資料量越來越大,當分割槽不能更細粒度的劃分資料時,會採用分桶的技術將資料更加細粒度的劃分和管理。分割槽和分桶的區別 分割槽 乙個分割槽在表目錄之中就是目錄下的乙個檔案,在表中的字段因為是偽列,所以定義分割槽的時候應該加上 對應的字段型別。例如 cr...

Oracle中有關Latch的介紹

本文向各位闡述oracle的latch機制,latch,用金山詞霸翻譯是門插栓,閉鎖,專業術語叫鎖存器,我開始接觸時就不大明白為什麼不寫lock,不都是鎖嗎?只是翻譯不同而以?研究過後才知道兩者有很大的區別。latch是oracle提供的輕量級鎖資源,他用於快速,短時間的鎖定資源,防止多個併發程序同...

c 中有關size type的問題

sizt t是 c 的乙個標準的 typedef.全域性有效,定義在全域性命名空間中 size type是 stl定義的,只在 namespace std 中有效vc6中定義 size t 為typedef unsigned int size t size type應該是 c 為例如 string ...