天天看點

DB2資料庫遷移,資料庫導入導出前言1.導出2.導入

DB2資料庫遷移

  • 前言
  • 1.導出
    • 1.導出表結構
    • 2.導出表内容
  • 2.導入
    • 1.連接配接資料庫
    • 2. 導入表結構
    • 3.導入表内容
    • 4.檢查一緻性

前言

解決DB2資料庫在伺服器之間遷移時,外鍵依賴導緻問題。日前使用DataGrip導出資料庫表結構sql時,直接執行sql語句進行遷移,将出現因外鍵依賴引起的表内容丢失,本文使用db2move和db2look進行遷移,解決了此類問題。

1.導出

1.導出表結構

執行如下語句後生成表結構.sql檔案,包含資料庫結構、依賴、存儲過程、Function、Sequence等。

db2look -d 資料庫名 -e -z 模式名 -l -o 檔案名.sql
           

-d:資料庫名

-e:生成DDL腳本

-z:模式名

-l:生成資料庫布局,資料庫區分組,緩沖池和表空間

-o:生成檔案重命名

2.導出表内容

執行下面語句,将導出檔案放到需要導入的伺服器上空檔案夾中

db2move 資料庫名 export
           
db2move 資料庫名 export -sn 模式名
           

導出檔案如下

DB2資料庫遷移,資料庫導入導出前言1.導出2.導入

2.導入

1.連接配接資料庫

使用db2inst1使用者登入伺服器,然後連接配接需要導入的資料庫

db2 connect to 資料庫名 user 資料庫使用者 using 資料庫密碼
           

2. 導入表結構

執行導出的.sql檔案

db2 -tvf 檔案名.sql
           

3.導入表内容

在存放檔案夾中執行

db2move 資料庫名 load
           

4.檢查一緻性

因外鍵存在,資料庫内容導入時因執行順序導緻未完全執行的sql将存在緩存中,執行如下的語句可嘗試檢查指定表的一緻性

db2 set integrity for 模式名.表名 immediate checked
           

有多個表需要完成一緻性檢查時,可以先執行如下語句進行查找

複制查找出來的語句,反複執行,直到所有的表都完成sql插入,此時資料庫遷移完成。

繼續閱讀