db2 v9 7 跨平台遷移

2021-08-21 07:20:08 字數 2839 閱讀 2425

original db2: windows 2008 db2 v9.7

aim db2: suse12 sp3 db2 v9.7

author:duan yu 段譽

mail:[email protected] [email protected]

一、準備以下軟體:

winscp  傳輸檔案資料

notepad++ 更改sql語句、和檢視匯入是否發生錯誤

開啟windows命令列:win+r

cmdc:\users\administrator>db2cmd

出現新的控制視窗:如下圖注意紅色

c:\users\administrator>e:

e:\>md db2back    建立備份資料目錄

e:\>cd db2back

e:\db2back>md db2look

e:\db2back>md db2move

e:\db2back>cd db2look

e:\db2back\db2look>db2look -d cashdb3 -e-a -o db2look_cashdb3.sql 

cashdb3是資料庫名,更改遷移資料庫名,檢視e:\db2back\db2look目錄是否生成了db2look_cashdb3.sql檔案

e:\db2back\db2look>cd e:\db2back\db2move

e:\db2back1\db2move>

db2move cashdb3 export

只需要修改

db2look_cashdb3.sql

修改如下內容,具體檢視1_notepad++、2_

剪下類似的

sql語句

需要剪下的內容大概在6029-6099行,把剪下出來的內容放入乙個新檔案內。

winscp設定傳輸型別檢視winscp_

設定winscp檢視路徑檢視 winscp_path

先登入linux伺服器執行以下命令:

suse11:~ # mkdir/home/db2inst1/db2back_data

suse11:~ # mkdir/home/db2inst1/db2back_data/db2look_cashdb3

suse11:~ # mkdir/home/db2inst1/db2back_data/db2move_cashdb3

2.2.1上傳建庫資訊:

請先檢視3_winscp

將db2look_cashdb3.sql上傳至linux /home/db2inst1/db2back_data/db2look_cashdb3

將剪下出來的sql語句建立新的檔案上傳 /home/db2inst1/db2back_data/db2look_cashdb3

2.2.2上傳表資料:

請先檢視4_winscp_move

將db2move目錄內的檔案上傳至linux  /home/db2inst1/db2back_data/db2move_cashdb3

windows 操作完成!!

3.1 庫結構匯入:

suse11:~ # chmod -r 777 /home/db2inst1/db2back_data/

suse11:~ # su - db2inst1

db2inst1@linux-p91l:~> cd/home/db2inst1/db2back_data/db2look_cashdb3

db2inst1@linux-p91l:~> db2 create db***x    注意檢視

db2look_cashdb3.sql

檔案內第9行

connect to ***x

要與***x

一致db2inst1@linux-p91l:~> 命令在下面,由於字元過長會導致格式變化

db2 -tvf db2look_cashdb3.sql2>&1> /home/db2inst1/db2look_cashdb3.log

db2 list tables for schema think 檢視與windows伺服器是否表數量對應

無錯誤進去下一步

3.2 表的資料匯入:

db2inst1@linux-p91l:~> cd/home/db2inst1/db2back_data/db2move_cashdb3

db2inst1@linux-p91l:~> 命令在下面,由於字元過長會導致格式變化

db2move cashdb3 import2>&1> /home/db2inst1/db2move_cashdb3.log

cashdb3

根據create db ***x

來改變使用notepad++ 檢視有無報錯資訊。錯誤資訊請檢視 db2move_error

無報錯資訊進入下一步

3.3將自增約束表新增資料: 大寫字元需要根據表名稱來改變

大概17

張表db2 load from tabx.ixf of ixfmodified by identityoverride replace into think.employee1  nonrecoverable

3.4 將庫的外來鍵還原:

db2inst1@linux-p91l:~> cd/home/db2inst1/db2back_data/db2look_cashdb3

db2inst1@linux-p91l:~>命令在下面,由於字元過長會導致格式變化

db2 -tvf db2look_cashdb3_key.sql2>&1> /home/db2inst1/db2look_cashdb3_key.log

若無報錯進入下一步

編寫指令碼,通過 select count(*)  from 模式.表名 

來對比兩個資料庫表資料

db2跨平台資料庫遷移

現在我們要把這個資料庫遷移到不同的作業系統 比如從aix到linux 我們應該怎麼辦呢?因為作業系統不同,所以使用backup restore命令顯然是不行了。那麼是不是可以使用db2move命令呢?也不行,首先db2move命令沒有辦法遷移索引 外來鍵約束 觸發器,更不能遷移含自增欄位資料的表。那...

跨平台的DB2資料庫的遷移

現在我們要把這個資料庫遷移到不同的作業系統 比如從aix到linux 我們應該怎麼辦呢?因為作業系統不同,所以使用backup restore命令顯然是不行了。那麼是不是可以使用db2move命令呢?也不行,首先db2move命令沒有辦法遷移索引 外來鍵約束 觸發器,更不能遷移含自增欄位資料的表。那...

DB2 V9 7 SQL10007N錯誤解決。

redhat linux enterprice edtion x86 32bit環境下的db2 v9.7 express c在執行啟動過程中報錯 sh 3.1 db2start sql10007n message 1390 could not be retrieved.reason code 3 經...