實習十 sqlloader工具的使用
實驗目的:學習通過sqlloader工具把外部資料匯入到oracle資料庫中。
一、sql*loader涉及的檔案
控制檔案control file:匯入資料規則
日誌檔案log file:匯入資料記錄
壞檔案bad file:插入記錄出錯,如違反唯一約束,非空約束...
卡片檔案discard file:沒有被選擇的記錄
二、裝載方式:直接路徑和常規路徑的區別
直接路徑:根據控制檔案轉換資料為指定的陣列,格式化為oracle資料塊,將資料塊直接寫入資料庫。
並行直接路徑:多個例項直接路徑裝入資料。
常規路徑:根據控制檔案轉換資料為指定的陣列。使用insert語句執行陣列插入。
三、常規路徑裝入(預設方式)
使用insert語句和使用陣列緩衝插入資料到資料庫表中。這種方法被所有的oracle工具和應用程式使用。使用常規路徑裝入資料,和所有其它程序爭奪緩衝資源。由於建立sql語句、執行sql語句,使得裝入顯著變慢。如果速度對你特別重要,應該使用直接路徑裝入。但下面情況無法直接裝入,必須用常規路徑裝入:
1、裝入時同時訪問被索引的表或者同時插入、更新沒被索引
的表。因為直接路徑裝入(除並行裝載),sql*loader對錶必須有排它的寫訪問和對索引有排它的讀寫訪問。
2、通過sql*net訪問不同的平台。不能用直接路徑裝入,除非使用相同的計算機和字符集。
3、裝入資料到聚族表中。直接路徑裝載不支援聚族表。
4、當裝相對少的記錄到有索引的大表中。在直接路徑裝載下
需要拷貝索引,然後和合併新的索引。
5、當裝相對少的行到乙個有參考和列檢查完整性約束。在直
接路徑裝載下,約束被禁用。
6、想應用sql函式到指定的字段中。
四、直接路徑裝入
何時使用直接路徑裝入:
1、大量資料需要快速裝入。
2、想使用並行裝入。
3、當前會話不支援你要裝入資料的字符集,或者字符集轉換 將出現錯誤。
五、使用sqlloader匯入資料
例:
方法一:
1、編輯乙個檔案load.ctl(假設存放在d:\oracle\doc下):
load data
infile *
fields terminated by ' ,' optionally enclosed by '"'
(dept_id,department,abbreviation)
begindata
1, 農學院, 農學
2, 園藝系, 園藝
3, 林學院, 林學
4, 草業科學系, 草業
5, 動物科學系, 動科
6, 動物醫學學院, 動醫
7, 機械交通學院, 機交
8, 水利與土木工程學院, 水利
9, 經濟**學院, 經貿
10, 食品科學系, 食科
11, 計算機及資訊工程系, 計算機
12, 環境系, 環境
13, 外語系, 外語
14, 人文社會科學學院, 人文
15, 高職學院, 高職
16, 語言部, 語言部
2、匯入資料:
c:\sqlldr userid=user1/user1@ora1 control=d:\oracle\doc\load.ctl log=d:\oracle\doc\load.log
方法二:
1、編輯乙個資料檔案load.dat(假設存放在d:\oracle\doc下),
其中存放的是要匯入的資料:
1, 農學院, 農學
2, 園藝系, 園藝
3, 林學院, 林學
4, 草業科學系, 草業
5, 動物科學系, 動科
6, 動物醫學學院, 動醫
7, 機械交通學院, 機交
8, 水利與土木工程學院, 水利
9, 經濟**學院, 經貿
10, 食品科學系, 食科
11, 計算機及資訊工程系, 計算機
12, 環境系, 環境
13, 外語系, 外語
14, 人文社會科學學院, 人文
15, 高職學院, 高職
16, 語言部, 語言部
2、編輯乙個檔案load1.ctl(假設存放在d:\oracle\doc下):
load data
infile 'd:\oracle\doc\load.dat'
into table department
fields terminated by ' ,' optionally enclosed by '"'
(dept_id,department,abbreviation)
3、匯入資料:
c:\sqlldr userid=user1/user1@ora1 control=d:\
oracle\doc\load1.ctl log=d:\oracle\doc\load1.log
Sql Loader的簡單使用
之前總結的關於sql loader的用法,今天又用到,又翻出來看看 sql loader 可將外部檔案中的資料載入到 oracle db 的表中。它具有乙個功能強大的資料分析引擎,因此對資料檔案中資料的格式沒有什麼限制。sql loader 使用以下檔案 後面三個可以不選 操作步驟如下 1 建立資料...
SQLLoader使用簡介
sqlloader 命令介紹 1.sqlloader 是oracle 資料庫管理軟體的乙個資料匯入工具。安裝oracle 時請確認它是否被安裝 2 sqlloader 的命令sqlldr 這個可執行檔案在 oracle home bin下。3 sqlldr 的主要命令引數介紹 userid 指定使用...
使用SQL LOADER匯入資料
oracle的sql loader是乙個專門用於oracle導資料的工具。不過,好多dba習慣用toad匯入資料,toad這個工具。但是我覺得sql loader也不錯,特別是在批量的時候。對於初學者,我想宣告一點的是,關於那個.ctl檔案。我起初以為.ctl檔案是oracle自己的控制檔案。結果搞...