文章詳情頁
如何把 DB2 V8 數(shù)據(jù)庫系統(tǒng)遷移到 DB2 V9(1)
瀏覽:4日期:2023-11-11 12:19:54
在已經(jīng)安裝了 DB2 V8 的平臺上要安裝 DB2 9,可以將現(xiàn)有的數(shù)據(jù)庫系統(tǒng)升級到DB2 9。升級 DB2 數(shù)據(jù)庫需要對系統(tǒng)有深刻的理解。本文具體描述了如何在 Windows 平臺上把 DB2 V8 數(shù)據(jù)庫系統(tǒng)升級到 DB2 9。文章中包含了如何移植實(shí)例(Instance),DB2 治理服務(wù)器(DAS)和數(shù)據(jù)庫的詳盡方法,以及常見的錯誤和解決方法。簡介在安裝好 DB2 舊版本的系統(tǒng)上安裝 DB2 v9,需要把舊版本的所有的實(shí)例(Instance)和數(shù)據(jù)庫系統(tǒng)遷移到 DB2 V9, 移植 DB2 V8 數(shù)據(jù)庫系統(tǒng),包括遷移實(shí)例(Instance),DB2 治理服務(wù)器(DAS)和數(shù)據(jù)庫。對于 DB2 V8 的數(shù)據(jù)庫系統(tǒng),可以直接遷移到 DB2 V9。對于 DB2 V6、V7 的產(chǎn)品需要首先遷移到 DB2 V8,然后再遷移到 DB2 V9。在一臺 Windows 系統(tǒng)的系統(tǒng)上,我們已經(jīng)安裝了 DB2 ESE(Enterprise Server Edition) V8.2 數(shù)據(jù)庫系統(tǒng)。假定我們創(chuàng)建了一個 DB2 的實(shí)例。同時,我們在該實(shí)例下創(chuàng)建了一個數(shù)據(jù)庫 Sample。我們需要在該系統(tǒng)上安裝 DB2 V9,把 DB2 ESE V8.2 移植到 DB2 V9。數(shù)據(jù)庫治理員賬號為 db2admin,同時也具有系統(tǒng)治理員的權(quán)限。下面在上述的 Windows 平臺上,開始我們的移植 DB2 ESE V8.2旅程。遷移數(shù)據(jù)庫實(shí)例有兩種方式可以遷移數(shù)據(jù)庫實(shí)例。一種是由數(shù)據(jù)庫安裝程序?qū)崿F(xiàn)自動遷移,第二種方式是手工遷移數(shù)據(jù)庫。在 Windows 平臺上,可以在安裝 DB2 V9 過程中選擇從 DB2 V8 移植到 DB2 V9。安裝結(jié)束后 DB2 V8 的實(shí)例就自動移植到 DB2 V9。1. 自動遷移實(shí)例以系統(tǒng)治理員身份登錄系統(tǒng),如 db2admin;運(yùn)行 DB2 V9 的安裝程序 setup.exe;在圖 1 所示的“安裝產(chǎn)品的面板上選擇“遷移舊的數(shù)據(jù)庫系統(tǒng); 123下一頁 圖 1. DB2 安裝界面
在選擇安裝文件夾的面板上,我們可以看到安裝路徑被自動設(shè)為 DB2 ESE V8.2 的安裝路徑“c:Program FilesIBMSQLLIB。我們不需要也不能選擇安裝文件夾。待安裝結(jié)束后,該目錄下原來安裝的 DB2 將被升級;在遷移過程結(jié)束后可以運(yùn)行 db2level 命令來驗(yàn)證數(shù)據(jù)庫實(shí)例是否被成功的遷移。圖 2 是執(zhí)行 db2level 命令的結(jié)果。我們可以看到原來的數(shù)據(jù)庫實(shí)例 DB2 已經(jīng)被成功的遷移,其版本信息為“DB2 v9.1.0.356;圖 2. 驗(yàn)證遷移后的DB2 版本信息運(yùn)行 DB2 Control Center,當(dāng)訪問原來的數(shù)據(jù)庫 Sample 時,會彈出一個錯誤信息的對話框。提示該數(shù)據(jù)庫是被一個低版本的數(shù)據(jù)庫創(chuàng)建。因此必須把數(shù)據(jù)庫進(jìn)行遷移。如圖 3 所示。下一節(jié)將講述如何遷移數(shù)據(jù)庫。圖 3. 在遷移數(shù)據(jù)庫之前訪問數(shù)據(jù)庫出錯2. 手工遷移實(shí)例假如在安裝過程中沒有選擇“遷移數(shù)據(jù)庫的話,我們可以在安裝結(jié)束后手工遷移實(shí)例。停止運(yùn)行的 DB2 實(shí)例,db2stop;遷移 DB2 實(shí)例,我們可以執(zhí)行下面的命令。$DB2DIRindb2imigr /u:user,password InstName。其中 $DB2DIR 是 DB2 安裝路徑。user、password 是數(shù)據(jù)庫服務(wù)下的用戶名和密碼。InstName 是數(shù)據(jù)庫實(shí)例的名字。對于我們的例子,我們可以使用下面的命令 C:Program FilesIBMdweSQLLIBindb2imigr /u:db2admin,passw0rd DB2。 上一頁123下一頁 遷移完數(shù)據(jù)庫實(shí)例后,重新啟動數(shù)據(jù)庫實(shí)例 DB2。db2start。遷移數(shù)據(jù)庫完成上面的遷移 DB2 實(shí)例后,我們需要繼續(xù)遷移該實(shí)例下的數(shù)據(jù)庫。假設(shè)原來在該實(shí)例下,有個 Sample 數(shù)據(jù)庫。用具有 SYSADM 權(quán)限的該實(shí)例的用戶登錄系統(tǒng),如 db2admin;運(yùn)行 db2 命令行工具,在該環(huán)境中執(zhí)行遷移數(shù)據(jù)庫的命令:MIGRATE DATABASE database-alias USER username USING password。其中 database-alias 是將要遷移的數(shù)據(jù)庫的名字或者別名。Username 是具有 SYSADM 權(quán)限的用戶名來認(rèn)證。在我們的例子中,假設(shè) db2admin 的密碼是 passw0rd.那么我們需要執(zhí)行下面的命令來遷移 sample 數(shù)據(jù)庫:MIGRATE DATABASE sample USER db2adim USING passw0rd。為驗(yàn)證我們的數(shù)據(jù)庫被成功遷移到 DB2 V9,我們可以連接到數(shù)據(jù)庫 sample,并查詢其中的數(shù)據(jù)。我們試驗(yàn)的結(jié)果如圖 4 所示。現(xiàn)在我們能夠成功的連接到數(shù)據(jù)庫 sample,并能夠查詢到其中的數(shù)據(jù)。圖 4. 訪問遷移后的數(shù)據(jù)庫遷移 DB2 治理服務(wù)器在遷移 DB2 數(shù)據(jù)庫系統(tǒng)中,我們也可以遷移原來的 DAS,或者先刪掉原來的 DAS,再創(chuàng)建新的 DAS。在安裝 DB2 服務(wù)器上,你只可以有一個 DAS。下面是遷移 DAS 的具體步驟。用 DAS 治理員的賬號登錄,如 db2admin;停止 DAS 服務(wù)器。我們可以用下面的命令:db2admin stop。遷移原來的 DB2 V8 的 DAS 服務(wù)器,假設(shè)我們的 DB2 安裝在 C:Program FilesIBMSQLLIB 目錄下。我們運(yùn)行下面的命令:<db2dir>indasmigr,即 C:Program FilesIBMSQLLIBindasmigr。為驗(yàn)證我們的 DAS 是不是已經(jīng)被成功的遷移到 DB2 V9,我們可以運(yùn)行 db2daslevel 命令。圖 5 是運(yùn)行后的顯示結(jié)果。圖 5. 執(zhí)行 db2daslevel遷移 DAS 完成后,我們可以重新啟動 DAS 服務(wù)器:db2admin start。常見錯誤及解決遷移過程中最常見的錯誤是日志文件(log)文件不夠大。其錯誤消息如清單 1 所示。清單 1. 日志錯誤消息SQL1704N Database migration failed. Reason code "3".解決方法如下:連接到想要遷移的數(shù)據(jù)庫:CONNECT TO sample;使用 GET DATABASE CONFIGURATION 命令來決定目前日志文件空間大小。例如清單 2 中的設(shè)置:清單 2. 日志文件空間大小設(shè)置日志文件大小(4KB) (LOGFILSIZ) = 1024主日志文件的數(shù)目 (LOGPRIMARY) = 13輔助日志文件的數(shù)目 (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。 上一頁123

標(biāo)簽:
DB2
數(shù)據(jù)庫
排行榜
