informix高效能匯入匯出資料HPL

polestar123發表於2010-03-24
--HPL high performance loader
--The HPL consists of the onpload utility, ipload, and the onpload database.
--onpload程式是核心;onpload資料庫是配置庫,ipload/onpladm都是呼叫onpload程式的工具
--匯入分兩種模式高階deluxe和快速express模式;匯出不分高階和快速。deluxe -flc / express -fl
--deluxe模式匯入資料,避免在express模式下的下面的錯誤Cannot perform express mode load with rowsize(=3910) > 2016 / Error occured at HPL failpoint: 16110
--經測試:匯入資料 11分鐘匯入160萬條資料,速度是10000條/3秒
--檢視幫助方式 例如輸入部分命令 onpladm 或者 onpladm create job 或者 onpladm run job 就可以顯示該命令的幫助




--匯入資料;project 就是job組;方便執行;
onpladm create project import_data1 ;
onpladm create job job01 -p import_data1 -d /informix/info/test/thw_par_32_bsc.unl -D niosdb -t thw_par_32_bsc -flc -zD;
onpladm create job job02 -p import_data1 -d /informix/info/test/thw_par_6k_service.unl -D niosdb -t thw_par_6k_service -flc -zD;
onpladm run project import_data1 -fl;
onpladm delete project import_data1;

--匯入資料單一的job可以不建立project;單獨執行job
onpladm create job job01 -p import_data1 -d /informix/info/test/thw_par_32_bsc.unl -D niosdb -t thw_par_32_bsc -flc -zD;
onpladm run job job01 -fl -l /informix/info/test/log.out
onpladm delete job job01 -fl

--匯出資料 -fu
onpladm create project para_modi ;
onpladm create job job01 -d /opt/informix/para_modi.unl -D niosdb -t para_modi -fu -zD
onpladm run job job01 -fu
onpladm list job
onpladm delete job job01 -fu

express mode 注意事項
1、匯入的過程會鎖表,不能操作
2、有很多限制,但速度較deluxe mode快
3、匯入後table 是read only ,需要執行0級備份:可以先修改onconfig中的備份路徑為/dev/null;這樣就不用備份,只修改read only標記
bash-2.03$ ontape -s -L 0
Archive to tape device '/dev/null' is complete.


錯誤處理
--ISAM error -197,Partition recently appended to; can't open for write or logging.
需要ontape -s -L 0做一次0級備份才可以讀寫
--can't delete project active jobs exists!
刪除不掉project 或者 job,就使用最後一招刪除存放project和job資訊的onpload資料庫: drop database onpload;


檢查deluxe mode下資料是否全部匯入?
首先檢查有沒有 _vio _dia 這樣的新table
其次檢查下job的log檔案:例如下面的
job71.flt
job71.log
job71.rej

輸出日誌由螢幕到檔案中
onpladm create project import_data1 ;
onpladm create job job01 -p import_data1 -d /informix/info/test/bts.unl -D niosdb -t bts -flc -zD ;
onpladm run project import_data1 -fl -l /informix/info/test/out.log;
onpladm delete project import_data1;

--輸出日誌到log檔案 在run job /run project的時候設定 例如:-l /infomrix/info/test/out.log
--下面是輸出的日誌形式
nios2[/informix/info/test]#more out.log
Connecting to onpload, Please wait...
Successful connection to onpload established
Wed Mar 24 09:04:10 2010

SHMBASE 0xc000000009400000
CLIENTNUM 0x0000000049010000
Session ID 329

Load Database -> niosdb
Load Table -> bts
Device Array -> job01
Record Mapping -> job01
Convert Reject -> /tmp/job01.rej
Filter Reject -> /tmp/job01.flt
Set mode of index idx_bts to filtering
09:04:13 Records Processed -> 10013
09:04:14 Records Processed -> 20026
Reset mode of indexes "informix".idx_bts to original enabled mode

Database Load Completed -- Processed 23635 Records
Records Inserted-> 23635
Detected Errors--&gt 0
Engine Rejected--&gt 0

Wed Mar 24 09:04:14 2010

Job Completed Successfully ... connection closed[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70612/viewspace-1032277/,如需轉載,請註明出處,否則將追究法律責任。

相關文章