簡介
本文將幫助您下載和安裝 DB2® UDB 修訂包,並理解該過程中涉及的步驟。每個 DB2 修訂包都有一個 Readme.txt 文件,當我們閱讀本文時,將經常參考它。
與其它軟件產品相似,也要以修訂包形式對 DB2 進行頻繁的修訂。一個給定的 DB2 版本最終可能會有多達 15 個或更多的修訂包,每個包都包含對所發現的問題的許多補丁。APARLIST.TXT 文件包含了其中各個補丁的簡短描述。有時候,修訂包包含新特性,為 DB2 產品提供更強大的功能。這些都在 ReleaseNotes.txt 文件中有描述。修訂包帶有 APARLIST.TXT 和 ReleaseNotes.txt 文件。
首先,請檢查一下必要的要求:
1.當前系統上安裝了 DB2 UDB 版本 6.1 或版本 7.2。
2.操作系統是 UNIX。
3.DB2 版本是個人版、工作組版或企業版(EE)。
4.在對下載的修訂包進行解壓縮及解包之後,有足夠的文件系統空間來保存這些文件(取決於要下載的修訂包,文件系統需要 140 到 900 兆字節的空間)。
5.您能夠在系統上獲得 root 和實例所有者權限。
從DB2 FTP 站點下載修訂包
在下載特定的 DB2 修訂包之前,可以通過在 DB2 命令窗口上輸入 db2level 來確定當前的修訂包設置。結果類似如下:
DB21085I Instance " db2v71" uses DB2 code release "SQL07020" with level identifIEr "3010105" and informational tokens "DB2 v7.1.0.41","s010426" and " U475377".
在粗體字中,“b2v71”表示 DB2 版本,而“U475377”則表示修訂包級別。後者是加密代碼,可以通過轉至 IBM 的 DB2 UDB 下載修訂包和客戶機 Web 頁面來對它進行譯碼。
注:某些修訂包可作為 tar 格式的未解壓縮的文件下載。如果是的話,只要從步驟 1 跳到步驟 3。
將修訂包從 IBM 網站下載到一個工作目錄。確保您有足夠的文件系統空間(這個修訂包的壓縮大小為 307 兆字節,但它會因為修訂包的不同而不同)。請當心,當下載該文件時,不能對它重命名。另外,請確保您有該目錄的寫許可權。
將修訂包復制到 UNIX 機器之後,執行解壓。
uncompress FP3_U475377.tar.Z
解壓該文件之後,文件的擴展名將為 .tar,如下所示:
FP3_U475377.tar
現在,這個文件的大小為 450 兆字節。
現在,准備將該 tar 文件解包。
tar -xvf FP3_U475377.tar
把該文件解包之後,原始的 tar 文件(450 兆字節)將與最新創建的名為 delta_install 或修訂包名稱(在本示例中是 FP3_U475377)的安裝目錄一起保留;它大約也是 450 兆字節。這二項合計達 900 兆字節左右。如果 tar 操作成功,則應該除去該 tar 文件並只留下 FP3_U475377 目錄。請確保不在 tar 命令中使用‘i’選項,因為這將忽略目錄校驗和錯誤。
下面的命令行輸出顯示了解壓之後的 .tar 文件和解包之後的安裝目錄:
$pwd
/export/home/db2v71/work2
$ls-l
total920068-(inkilobytes)
drwxr-xr-x92db2v71db2grp712048May913:28FP3_U475377
-rw-r--r--1db2v71db2grp71470822912Jul1210:39FP3_U475377.tar
下面顯示了 FP3_U475377 安裝目錄的內容。內容可能會因平台和修訂包的不同而不同,但 installallpatch 文件應該是可見的:
$pwd
/export/home/db2v71/work2/FP3_U475377
$ls
172031-000172031-024172031-048172031-072
172031-001172031-025172031-049172031-073
172031-002172031-026172031-050172031-074
172031-003172031-027172031-051172031-075
172031-004172031-028172031-052172031-076
172031-005172031-029172031-053172031-077
172031-006172031-030172031-054172031-078
172031-007172031-031172031-055172031-079
172031-008172031-032172031-056172031-080
172031-009172031-033172031-057Fixpakreadme.txt
172031-010172031-034172031-058backoutallpatch
172031-011172031-035172031-059br
172031-012172031-036172031-060cn
172031-013172031-037172031-061de
172031-014172031-038172031-062en
172031-015172031-039172031-063es
172031-016172031-040172031-064extras
172031-017172031-041172031-065installallpatch
172031-018172031-042172031-066jp
172031-019172031-043172031-067kr
172031-020172031-044172031-068ru
172031-021172031-045172031-069
172031-022172031-046172031-070
172031-023172031-047172031-071
從上面可以看到,installpatch 可執行文件駐留在這裡。這是您將用來執行修訂包安裝的文件。該目錄還包含有助於安裝的 Fixpakreadme.txt 文件。
由於不正確的文件大小而引起的最常見錯誤發生在將文件解包(untar)期間。tar 操作結束時的錯誤將是“tar: directory checksum error”,這意味著文件大小與期望的文件大小不匹配。即使發生這種錯誤,也會產生安裝文件,致使某些人相信他們可以安裝修訂包。
您應該按照下面的順序來准備安裝修訂包。在下面的示例中,我們將修訂包 3 用於 Sun Solaris 上的 DB2 版本 7.1:
注:某些修訂包可作為 tar 格式的未解壓縮的文件下載。如果是的話,只要從步驟 1 跳到步驟 3。
將修訂包從 IBM 網站下載到一個工作目錄。確保您有足夠的文件系統空間(這個修訂包的壓縮大小為 307 兆字節,但它會因為修訂包的不同而不同)。請當心,當下載該文件時,不能對它重命名。另外,請確保您有該目錄的寫許可權。
將修訂包復制到 UNIX 機器之後,執行解壓。
uncompress FP3_U475377.tar.Z
解壓該文件之後,文件的擴展名將為 .tar,如下所示:
FP3_U475377.tar
現在,這個文件的大小為 450 兆字節。
現在,准備將該 tar 文件解包。
tar -xvf FP3_U475377.tar
把該文件解包之後,原始的 tar 文件(450 兆字節)將與最新創建的名為 delta_install 或修訂包名稱(在本示例中是 FP3_U475377)的安裝目錄一起保留;它大約也是 450 兆字節。這二項合計達 900 兆字節左右。如果 tar 操作成功,則應該除去該 tar 文件並只留下 FP3_U475377 目錄。請確保不在 tar 命令中使用‘i’選項,因為這將忽略目錄校驗和錯誤。
下面的命令行輸出顯示了解壓之後的 .tar 文件和解包之後的安裝目錄:
$pwd
/export/home/db2v71/work2
$ls-l
total920068-(inkilobytes)
drwxr-xr-x92db2v71db2grp712048May913:28FP3_U475377
-rw-r--r--1db2v71db2grp71470822912Jul1210:39FP3_U475377.tar
下面顯示了 FP3_U475377 安裝目錄的內容。內容可能會因平台和修訂包的不同而不同,但 installallpatch 文件應該是可見的:
$pwd
/export/home/db2v71/work2/FP3_U475377
$ls
172031-000172031-024172031-048172031-072
172031-001172031-025172031-049172031-073
172031-002172031-026172031-050172031-074
172031-003172031-027172031-051172031-075
172031-004172031-028172031-052172031-076
172031-005172031-029172031-053172031-077
172031-006172031-030172031-054172031-078
172031-007172031-031172031-055172031-079
172031-008172031-032172031-056172031-080
172031-009172031-033172031-057Fixpakreadme.txt
172031-010172031-034172031-058backoutallpatch
172031-011172031-035172031-059br
172031-012172031-036172031-060cn
172031-013172031-037172031-061de
172031-014172031-038172031-062en
172031-015172031-039172031-063es
172031-016172031-040172031-064extras
172031-017172031-041172031-065installallpatch
172031-018172031-042172031-066jp
172031-019172031-043172031-067kr
172031-020172031-044172031-068ru
172031-021172031-045172031-069
172031-022172031-046172031-070
172031-023172031-047172031-071
從上面可以看到,installpatch 可執行文件駐留在這裡。這是您將用來執行修訂包安裝的文件。該目錄還包含有助於安裝的 Fixpakreadme.txt 文件。
安裝修訂包
既然您已經下載了修訂包,而且解壓和解包都沒有任何錯誤,那麼您將使系統准備安裝修訂包並對 DB2 實例和數據庫執行更新。在我們概述該過程時,您應該有 Fixpakreadme.txt 文件。在開始之前,請閱讀 Fixpakreadme.txt 中的所有信息,因為可能有一些您應該考慮到的特定於您的環境的項。
您應該執行這些操作以成功安裝修訂包。
在每個 DB2 實例上,您都必需注冊為實例所有者並執行:
DB2“force applications all”命令,以強制執行該實例的所有應用程序。
DB2“terminate”,以停止所有後端 DB2 進程。
db2stop,以停止實例服務。
db2licd end,以停止許可證守護程序。
注冊為 admin 服務器所有者並用 db2admin stop 命令停止 admin 服務器。
注:可以通過執行下列操作來檢索駐留在系統上的 DB2 實例列表:
將用戶切換到 root 用戶
將目錄更改為 /instance(例如, /opt/IBMdb2/V7.1/instance (Sun) 或 /usr/lpp/DB2_07_01/instance (AIX®))
執行 db2ilist 命令: ./db2ilist
要檢索管理服務器名,請執行上面的步驟 1 和 2,然後執行 dasilist 命令。
現在,可以安裝修訂包了。使用前面示例中的 FP3_U473577 安裝目錄,將目錄更改為該目錄並查找可執行文件 installallpatch。執行該文件以開始安裝修訂包。當發生錯誤或者您不再需要這個修訂包時,如果您的安裝目錄包含 backoutallpatch(如 上面所示),則可以撤消這個修訂包。如果這個可執行文件不能用於您的平台和修訂包發行版,則您系統上的 DB2 產品不能回復到前一個修訂包,從而必須卸載並重新安裝 DB2。
這裡是您將看到的在修訂包安裝期間修訂包中所應用的每個補丁的輸出:
INFO: DoNOTinterruptwhileinstallingpatch172031-059...
Installationof wassuccessful.
INFO: DoNOTinterruptwhileinstallingpatch172031-060...
Installationof wassuccessful.
INFO: DoNOTinterruptwhileinstallingpatch172031-061...
Installationof wassuccessful.
INFO: DoNOTinterruptwhileinstallingpatch172031-063...
Installationof wassuccessful.
結束語
既然已經成功應用了修訂包,您將需要按照 Fixpakreadme.txt 文件中所描述的那樣通過 db2iupdt 命令更新 DB2 實例。您還需要重新聯編數據庫,才能對它們應用修訂。如果沒有執行這個操作,那麼一些新功能可能不會生效。這僅適用於前面創建的實例和數據庫;所有在應用修訂包之後創建的新實例和數據庫都將自動具有新的修訂。
修訂包是復雜的軟件世界所必需的,這些技巧將幫助您成為一名更能干且見多識廣的 DB2 用戶。如果您對本文中的改進有任何意見,請通過頁面底部的對本文的評價鏈接提供反饋。有關安裝期間產生的錯誤,您可能需要購買 IBM Value Option for Developers 來解決。