程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 如何把 DB2 V8 數據庫系統遷移到 DB2 V9

如何把 DB2 V8 數據庫系統遷移到 DB2 V9

編輯:DB2教程

在已經安裝了 DB2 V8 的平台上要安裝 DB2 9,可以將現有的數據庫系統升級到DB2 9。升級 DB2 數據庫需要對系統有深刻的理解。本文詳細描述了如何在 Windows 平台上把 DB2 V8 數據庫系統升級到 DB2 9。文章中包含了如何移植實例(Instance),DB2 管理服務器(DAS)和數據庫的詳盡方法,以及常見的錯誤和解決方法。

簡介

在安裝好 DB2 舊版本的系統上安裝 DB2 v9,需要把舊版本的所有的實例(Instance)和數據庫系統遷移到 DB2 V9, 移植 DB2 V8 數據庫系統,包括遷移實例(Instance),DB2 管理服務器(DAS)和數據庫。對於 DB2 V8 的數據庫系統,可以直接遷移到 DB2 V9。對於 DB2 V6、V7 的產品需要首先遷移到 DB2 V8,然後再遷移到 DB2 V9。

在一台 Windows 系統的系統上,我們已經安裝了 DB2 ESE(Enterprise Server Edition) V8.2 數據庫系統。假定我們創建了一個 DB2 的實例。同時,我們在該實例下創建了一個數據庫 Sample。我們需要在該系統上安裝 DB2 V9,把 DB2 ESE V8.2 移植到 DB2 V9。數據庫管理員賬號為 db2admin,同時也具有系統管理員的權限。下面在上述的 Windows 平台上,開始我們的移植 DB2 ESE V8.2旅程。

遷移數據庫實例

有兩種方式可以遷移數據庫實例。一種是由數據庫安裝程序實現自動遷移,第二種方式是手工遷移數據庫。在 Windows 平台上,可以在安裝 DB2 V9 過程中選擇從 DB2 V8 移植到 DB2 V9。安裝結束後 DB2 V8 的實例就自動移植到 DB2 V9。

1. 自動遷移實例

以系統管理員身份登錄系統,如 db2admin;

運行 DB2 V9 的安裝程序 setup.exe;

在圖 1 所示的“安裝產品”的面板上選擇“遷移”舊的數據庫系統;

圖 1. DB2 安裝界面

在選擇安裝文件夾的面板上,我們可以看到安裝路徑被自動設為 DB2 ESE V8.2 的安裝路徑“c:Program FilesIBMSQLLIB”。我們不需要也不能選擇安裝文件夾。待安裝結束後,該目錄下原來安裝的 DB2 將被升級;

在遷移過程結束後可以運行 db2level 命令來驗證數據庫實例是否被成功的遷移。圖 2 是執行 db2level 命令的結果。我們可以看到原來的數據庫實例 DB2 已經被成功的遷移,其版本信息為“DB2 v9.1.0.356”;

圖 2. 驗證遷移後的DB2 版本信息

運行 DB2 Control Center,當訪問原來的數據庫 Sample 時,會彈出一個錯誤信息的對話框。提示該數據庫是被一個低版本的數據庫創建。因此必須把數據庫進行遷移。如圖 3 所示。下一節將講述如何遷移數據庫。

圖 3. 在遷移數據庫之前訪問數據庫出錯

2. 手工遷移實例

如果在安裝過程中沒有選擇“遷移”數據庫的話,我們可以在安裝結束後手工遷移實例。

停止運行的 DB2 實例,db2stop;

遷移 DB2 實例,我們可以執行下面的命令。$DB2DIRindb2imigr /u:user,password InstName。其中 $DB2DIR 是 DB2 安裝路徑。user、passWord 是數據庫服務下的用戶名和密碼。InstName 是數據庫實例的名字。對於我們的例子,我們可以使用下面的命令 C:Program FilesIBMdweSQLLIBindb2imigr /u:db2admin,passw0rd DB2。

遷移完數據庫實例後,重新啟動數據庫實例 DB2。db2start。

遷移數據庫

完成上面的遷移 DB2 實例後,我們需要繼續遷移該實例下的數據庫。假設原來在該實例下,有個 Sample 數據庫。

用具有 SYSADM 權限的該實例的用戶登錄系統,如 db2admin;

運行 db2 命令行工具,在該環境中執行遷移數據庫的命令:MIGRATE DATABASE database-alias USER username USING passWord。其中 database-alias 是將要遷移的數據庫的名字或者別名。Username 是具有 SYSADM 權限的用戶名來認證。在我們的例子中,假設 db2admin 的密碼是 passw0rd.那麼我們需要執行下面的命令來遷移 sample 數據庫:MIGRATE DATABASE sample USER db2adim USING passw0rd。

為驗證我們的數據庫被成功遷移到 DB2 V9,我們可以連接到數據庫 sample,並查詢其中的數據。我們試驗的結果如圖 4 所示。現在我們能夠成功的連接到數據庫 sample,並能夠查詢到其中的數據。

圖 4. 訪問遷移後的數據庫

遷移 DB2 管理服務器

在遷移 DB2 數據庫系統中,我們也可以遷移原來的 DAS,或者先刪掉原來的 DAS,再創建新的 DAS。在安裝 DB2 服務器上,你只可以有一個 DAS。下面是遷移 DAS 的具體步驟。

用 DAS 管理員的賬號登錄,如 db2admin;

停止 DAS 服務器。我們可以用下面的命令:db2admin stop。

遷移原來的 DB2 V8 的 DAS 服務器,假設我們的 DB2 安裝在 C:Program FilesIBMSQLLIB 目錄下。我們運行下面的命令:<db2dir>indasmigr,即 C:Program FilesIBMSQLLIBindasmigr。為驗證我們的 DAS 是不是已經被成功的遷移到 DB2 V9,我們可以運行 db2daslevel 命令。圖 5 是運行後的顯示結果。

圖 5. 執行 db2daslevel

遷移 DAS 完成後,我們可以重新啟動 DAS 服務器:db2admin start。

常見錯誤及解決

遷移過程中最常見的錯誤是日志文件(log)文件不夠大。其錯誤消息如清單 1 所示。

清單 1. 日志錯誤消息

        SQL1704N Database migration failed. Reason code "3".

解決方法如下:

連接到想要遷移的數據庫:CONNECT TO sample;

使用 GET DATABASE CONFIGURATION 命令來決定目前日志文件空間大小。例如清單 2 中的設置:

清單 2. 日志文件空間大小設置

            日志文件大小(4KB)             (LOGFILSIZ) = 1024
主日志文件的數目              (LOGPRIMARY) = 13
輔助日志文件的數目             (LOGSECOND) = 4
日志文件路徑        = C:DB2NODE0000SQL00004SQLOGDIR

可以使用下面的命令來提高日志空間大小:UPDATE DB CFG FOR sample using current value * 2。例如,UPDATE DB CFG FOR sample using LOGPRIMARY 26,UPDATE DB CFG FOR sample using LOGSECOND 8。

另外一個常見的警告信息是 SQL1243W。遇到這種錯誤,你必須卸載或者重新命名 SYSTOOLS.DB2LOOK_INFO 表。可以使用下面的命令:db2 RENAME SYSTOOLS.DB2LOOK_INFO TO new-table-name。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved