Oracle SQL*Loader詳解(1) 總覽

來源:互聯網
上載者:User

SQL*Loader原理

SQL*Loader是Oracle提供的用於資料載入的一種工具,它比較適合業務分析類型資料庫(資料倉儲 ),能處理多種格式的一般檔案,批量資料裝載比傳統的資料插入效率更高。其示意圖如下:

控制檔案(Control File) (.ctl):用於控制資料匯入的行為方式的檔案(最重要的檔案)

參數檔案(可選)(Parameter File) (.par):可以把參數直接寫在控制檔案裡,也可以單獨寫一個 參數檔案

資料檔案(Data Files) :放置來源資料的一般檔案(可以一次性匯入多個資料檔案)

壞檔案(Bad File) (.bad):在資料載入時,把無法正確載入的資料放入錯誤檔案中(比如資料格式 、資料類型問題等)

丟棄檔案(可選)(Discard File) (.dsc):有些資料,雖然資料格式、資料類型沒有問題,但它被 邏輯條件過濾掉了(由控制檔案WHEN設定),會被放入丟失檔案

記錄檔(Log File) (.log):記錄SQL*Loader的資料載入過程

SQL*Loader的資料載入方式

SQL*Loader支援3種資料載入方式,分別是:

傳統路徑載入(direct=false):等同於insert語句

直接路徑載入(direct=true):繞過SGA,把資料直接匯入高水位線(HWM)以上,可設定並行載入,性 能比傳統路徑載入更高,但限制也更多

外部表格載入(較少用):先為資料檔案上建立一個外部表格,然後再把資料從外部表格insert到目標表中

資料檔案的記錄格式

從SQL*Loader的角度來看,資料檔案裡的資料是以記錄組織的,分為以下三種記錄格式(由控制文 件的INFILE參數設定):

定長記錄格式

這種方式靈活性最差,但效能卻最好,它的文法如下:

INFILE datafile_name "fix n"

表示資料檔案裡的每個記錄定長為n個位元組。

變長記錄格式

INFILE "datafile_name" "var n"

變長記錄分為兩個部分:記錄長度和記錄本身,看下面這個例子:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.