測試oracle sqlldr
1.建立一個簡單的文字檔案,比如:testLoad.txt或者testLoad.csv,內容如下:
1,test,33
2,test,33
3,test,33
4,test,33
5,test,33
6,test,33
7,test,33
8,test,33
9,test,33
10,test,33
2.在資料庫中建立一個表,比如:
2.在資料庫中建立一個表,比如:
create table test141203(
id number(5),
name varchar2(20),
age number(3),
constraint pk_id primary key(id));
sqlldr ipmsdp/ipmsdp$1234@inas_10.217.2.19 control='e:\test.ctl' data='e:\testload.txt'
/*若需要執行日誌 則後增加log='e:\log.log'*/
5.注意
a.完成後即可在資料庫表中查到資料,若txt中將id=10的記錄改成1,由於id未主鍵,最後一條記錄不會插入到表中,而會在e盤下產生檔案testload.bad,並在裡邊 記錄未載入的資料;
b.win7下控制皮膚-資料夾選項--取消"隱藏已知檔案型別的副檔名"前的對號,然後點確定 即可顯示出來檔案字尾名 便於增加ctl檔案;
c.oracle自己帶了很多的工具可以用來進行資料的遷移、備份和恢復等工作。但是每個工具都有自己的特點。
比如說exp和imp可以對資料庫中的資料進行匯出和匯出的工作,是一種很好的資料庫備份和恢復的工具,因此主要用在資料庫的熱備份和恢復方面。有著 速度快,使用簡單,快捷的優點;同時也有一些缺點,比如在不同版本資料庫之間的匯出、匯入的過程之中,總會出現這樣或者那樣的問題,這個也許是 oracle公司自己產品的相容性的問題吧。
sql loader 工具卻沒有這方面的問題,它可以把一些以文字格式存放的資料順利的匯入到oracle資料庫中,是一種在不同資料庫之間進行資料遷移的非 常方便而且通用的工具。缺點就速度比較慢,另外對blob等型別的資料就有點麻煩了.
3.建立一個簡單的控制檔案,比如:test.ctl,內容如下:
load data--控制檔案標識
infile 'e:\testload.txt'--要輸入的資料檔名
append
into table test141203
fields terminated by ','--指定分割符,終止欄位值
(id,name,age)
/*a、insert,為預設方式,在資料裝載開始時要求表為空
b、append,在表中追加新記錄
c、replace,刪除舊記錄,替換成新裝載的記錄
d、truncate,同上*/
4.開啟cmd命令列工具,輸入如下命令/*a、insert,為預設方式,在資料裝載開始時要求表為空
b、append,在表中追加新記錄
c、replace,刪除舊記錄,替換成新裝載的記錄
d、truncate,同上*/
sqlldr ipmsdp/ipmsdp$1234@inas_10.217.2.19 control='e:\test.ctl' data='e:\testload.txt'
/*若需要執行日誌 則後增加log='e:\log.log'*/
5.注意
a.完成後即可在資料庫表中查到資料,若txt中將id=10的記錄改成1,由於id未主鍵,最後一條記錄不會插入到表中,而會在e盤下產生檔案testload.bad,並在裡邊 記錄未載入的資料;
b.win7下控制皮膚-資料夾選項--取消"隱藏已知檔案型別的副檔名"前的對號,然後點確定 即可顯示出來檔案字尾名 便於增加ctl檔案;
c.oracle自己帶了很多的工具可以用來進行資料的遷移、備份和恢復等工作。但是每個工具都有自己的特點。
比如說exp和imp可以對資料庫中的資料進行匯出和匯出的工作,是一種很好的資料庫備份和恢復的工具,因此主要用在資料庫的熱備份和恢復方面。有著 速度快,使用簡單,快捷的優點;同時也有一些缺點,比如在不同版本資料庫之間的匯出、匯入的過程之中,總會出現這樣或者那樣的問題,這個也許是 oracle公司自己產品的相容性的問題吧。
sql loader 工具卻沒有這方面的問題,它可以把一些以文字格式存放的資料順利的匯入到oracle資料庫中,是一種在不同資料庫之間進行資料遷移的非 常方便而且通用的工具。缺點就速度比較慢,另外對blob等型別的資料就有點麻煩了.
6. sqlldr用到的主要引數
1) userid -- ORACLE username/password --資料庫 使用者名稱/密碼
2)control –控制檔案
3) log –記錄的日誌檔案
4) bad –壞資料檔案,記錄錯誤的未載入資料
5) data –資料檔案,* data引數只能指定一個資料檔案,如果控制檔案也透過infile指定了資料檔案,並且指定多個,則sqlldr在執行時,先載入data引數指定的資料檔案,控制檔案中第一個infile指定的資料檔案被忽略,但後續的infile指定的資料檔案繼續有效
6) discard –丟棄的資料檔案
7) discardmax –允許丟棄資料的最大值 (預設全部)
8) skip --跳過記錄數,從資料檔案中,從第一行開始要計算要跳過的行數 (預設0)
9) load -- Number of logical records to load (預設全部)
10) errors –允許的錯誤記錄數,超過則終止任務(預設50)
11) rows -- Number of rows in conventional path bind array or between direct path data saves(每次提交的記錄數,預設:常規路徑64,直接路徑全部,所以使用直接路徑的話,效率會比普通的好太多太多)
12) bindsize -- Size of conventional path bind array in bytes(每次提交記錄的緩衝區的大小,位元組為單位,預設256000)
13) silent --禁止輸出資訊(header,feedback,errors,discards,partitions)
14) direct –使用直通路徑方式匯入(預設FALSE)
如果表中有索引的話,是不能指定direct=TRUE的,除非使用skip_index_maintenance=TRUE,這個就是在匯入的時候忽略索引,所以在資料匯入完畢以後,檢視索引的狀態應該都是無效的,需要重建之,如下SQL:select * from dba_indexes where table_name='?' ;
alter idnex index_name rebuild ;
重新建立索引要比新建索引快。
15) parallel --並行匯入 (預設FALSE,注意:parallel並不是讓一個sqlldr語句起多個程式來載入資料,而是不鎖住載入表,允許別的直接路徑載入.所以要使parallel起作用,應該先將要載入的資料檔案分成多個,用多個sqlldr語句同時載入,如下例:
sqlldr userid=scott/tiger control=load1.ctl data=data1.txt direct=y parallel=true & sqlldr userid=scott/tiger control=load2.ctl data=data2.txt direct=y parallel=true & sqlldr userid=scott/tiger control=load3.ctl data=data3.txt direct=y parallel=true &)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26344835/viewspace-1354917/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle sqlldr工具功能測試OracleSQL
- sqlldr效能調優測試SQL
- 測試TOM=SQLLDR生成外部表SQL
- 測試TOM=SQLLDR使用CASE語句SQL
- 測試TOM=SQLLDR函式使用1SQL函式
- 測試TOM=SQLLDR載入日期資料SQL
- sqlldr批量匯入匯出資料測試SQL
- sqlldr批次匯入匯出資料測試SQL
- SQLLDR直接載入幾個引數的測試SQL
- 測試TOM==SQLLDR載入固定格式資料SQL
- 測試TOM=SQLLDR使用函式載入資料SQL函式
- oracle sqlldr匯入OracleSQL
- oracle sqlldr 總結OracleSQL
- 測試TOM=SQLLDR載入內嵌換行符資料SQL
- Oracle SQL Loader(sqlldr)OracleSQL
- oracle sqlldr 與 外部表OracleSQL
- oracle----sqlldr用法(轉)OracleSQL
- ORACLE 測試題:Oracle
- oracle sqlldr控制檔案模板OracleSQL
- Oracle OCP(55):SQLLDR—CTL檔案OracleSQL
- Oracle OCP(56):SQLLDR-樣例OracleSQL
- Oracle SQL Loader(sqlldr)+ Externale TablesOracleSQL
- ORACLE壓力測試Oracle
- Oracle TDE加密測試Oracle加密
- Oracle replayc測試Oracle
- Oracle恢復測試Oracle
- oracle封鎖測試Oracle
- oracle backup & recovery測試Oracle
- Oracle 11gRac 測試案例(三)系統測試Oracle
- Oracle 11gRac 測試案例(五)ASM功能測試OracleASM
- sqlldr和oracle_datapump效能比較SQLOracle
- 使用sqlldr匯入文字資料到oracleSQLOracle
- ORACLE 的載入工具SQLLDR應用OracleSQL
- Oracle RMAN恢復測試Oracle
- Oracle RAC序列效能測試Oracle
- Oracle刪除效率測試Oracle
- ORACLE物化檢視測試Oracle
- PostgreSQL vs. Oracle 測試SQLOracle