DB2 import和load比起性能來因爲會記錄日誌,因此經過速度比較慢,而且數據記錄太大容易形成事物日誌滿的問題發生,但有些操做不得不記日誌,因此就不得不適用import,不過其有個COMMITCOUNT選項徹底能夠避免,來指定import多少條記錄即提交,有助於及時釋放日誌:ide
而且因爲及時提交了,因此在運行失敗了還能夠從新在起點繼續進行操做:性能
db2 "import from tab1.ixf of ixf modified by generatedignore COMMITCOUNT 500000 insert into RCDB2.T_CUST_DTL"spa
上面我設置每導入50W條記錄就提交,然而導入中發現索引表空間不足,會話運行失敗:
SQL3306N An SQL error "-289" occurred while inserting a row into the table.
SQL0289N Unable to allocate new pages in table space "RCDB2_INDX_01".
SQLSTATE=5701日誌
查詢目前已經成功導入的數據量以下:
索引
db2 select count(*) from RCDB2.T_CUST_DTL with ur
1
-----------
5000000
1 record(s) selected.it
這個就能夠做爲從新導入的起點。
table
db2 "import from tab1.ixf of ixf modified by generatedignore COMMITCOUNT 500000 SKIPCOUNT 5000000 insert into RCDB2.T_CUST_DTL"class
另外還有個參數RESTARTCOUNT N何SKIPCOUNT等效, 跳過前N條記錄繼續import,想當的方便import