DB2數據導入導出操作


DB2數據導入導出sql

  1. 使用環境:linux服務器
  2. 準備語句:
su – db2inst1

圖1

  db2start

圖2

db2 connect to database(數據庫名稱) 

圖3
此時進入db2環境即可進行語句操作

  1. 導出表數據:
db2 'export to /home/data/1.del of del select * from dbs.cust'

圖4
需要注意的是文件的路徑存在權限問題,如果該路徑的權限,用戶db2inst1不能獲取,則無法執行該sql語句。
del也可以換成ixf

  1. 導入表數據:
db2 'load from /home/data/cust_pool.del of del insert into ecrm.cust_pool_bak nonrecoverable'
db2 'import from /home/data/cust_ pool.del of del insert into ecrm.cust_ pool_bak '

以上兩個語句都是可以的不過第一個加上了nonrecoverable效率更高
圖5

  1. 分隔符問題:需要在導入語句加入modified by coldel0x1d(並不是所有表都有分隔符的,語句只是舉例)
db2 'load from /home/data/cust_pool.del of del modified by coldel0x1d insert into ecrm.cust _pool_bak nonrecoverable'
  1. 編碼問題:codepage=1386
db2 'load from /home/data/cust_pool.del of del modified by codepage=1386 coldel0x1d insert into ecrm.cust_busi_pool_bak nonrecoverable'

數據庫備份

  1. 導出所有表結構,存儲過程(不包含表數據):
    db2look -d db_name -e -a -x -o /home/data/test.sql
  2. 建庫
    create database db_name on filesystem_location using codeset utf-8 territory cn
  3. 刪庫
    db2 drop db db_name
  4. (若數據庫正在使用, 需要先執行以下命令關閉所有連接)
    db2 force application all
  5. 導出表結構
    db2look -d DB_NAME -e -a -x -o FILE_TO_EXPORT.sql
  6. 導入表結構
    db2 -tvf FILE_TO_IMPORT.sql
  7. 導出表數據
    db2move DB_NAME export
  8. 導入表數據
    db2move DB_NAME import -u username -p password
  9. 替換表數據
    db2move DB_NAME load -u username -p password
  10. (load完之後, 某些表可能需要執行以下命令才能正常使用)
    set integrity for TABLE_NAME immediate checked
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章