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 模式名
導出檔案如下
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL5dGRPNTVU10MNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4IDN3ETM1kDMxEjNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
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插入,此時資料庫遷移完成。