DB2表的匯入與匯出

charsi發表於2014-03-01

最近開始維護一個DB2環境,總是有一些匯入匯出之類的問題。今天收到一個需求,需要將生產的幾張DB2表匯入到測試環境中,折

騰了兩個多小時。

DB2表的匯入匯出我瞭解的有下面兩種方法:

1)
db2move dbname export -tn tabname1
這種匯出可以選定某個schema,或者選定多個表,如果需要匯出多個表的話,就用逗號將表分隔開就可,如下:
db2move dbname export -tn tabname1,tabname2,tabname3

匯出來的檔案會有一個.ixf檔案和一個.msg檔案
.ixf檔案是文字格式的檔案

匯入方法:
db2move dbname import
db2move dbname load

做了一個測試,很明顯db2move dbname load要比import的效率高。私下裡感覺db2move load有點兒像oracle中的sqlloader的命令

類似,將一個文字格式的檔案匯入到表中。
如下是db2 load的一個結果:

$
$ db2move lis load

*****  DB2MOVE  *****

Action:  LOAD

Start time:  Sat Mar  1 20:58:00 2014

Connecting to database LIS ... successful!  Server : DB2 Common Server V9.7.3

* LOAD:  table "DB2INST1"."LCINSUREACCTRACE"  
  -Rows read:     981055
  -Loaded:        981055
  -Rejected:           0
  -Deleted:            0
  -Committed:     981055

Disconnecting from database ... successful!

End time:  Sat Mar  1 20:59:34 2014
$

2)
db2 connect to sample
db2 "export to /dir1/xxx_file_name.ixf of ixf select * from table_name1"

db2 "import from t1.ixf of ixf insert into new_tablename2"

相比上面一種匯入匯出的方法,第二種方法可以選擇匯出一個表中的部分資料,可以加條件項,如:
db2 "export to /dir1/xxx_file_name.ixf of ixf select * from table_name1 where col1=xx"

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

相關文章