在UNIX上安裝DB2 UDB修訂包的實(shí)用技巧
本文將幫助您下載和安裝 DB2® UDB 修訂包,并理解該過(guò)程中涉及的步驟。每個(gè) DB2 修訂包都有一個(gè) Readme.txt 文件,當(dāng)我們閱讀本文時(shí),將經(jīng)常參考它。
與其它軟件產(chǎn)品相似,也要以修訂包形式對(duì) DB2 進(jìn)行頻繁的修訂。一個(gè)給定的 DB2 版本最終可能會(huì)有多達(dá) 15 個(gè)或更多的修訂包,每個(gè)包都包含對(duì)所發(fā)現(xiàn)的問(wèn)題的許多補(bǔ)丁。APARLIST.TXT 文件包含了其中各個(gè)補(bǔ)丁的簡(jiǎn)短描述。有時(shí)候,修訂包包含新特性,為 DB2 產(chǎn)品提供更強(qiáng)大的功能。這些都在 ReleaseNotes.txt 文件中有描述。修訂包帶有 APARLIST.TXT 和 ReleaseNotes.txt 文件。
首先,請(qǐng)檢查一下必要的要求:
1.當(dāng)前系統(tǒng)上安裝了 DB2 UDB 版本 6.1 或版本 7.2。
2.操作系統(tǒng)是 UNIX。
3.DB2 版本是個(gè)人版、工作組版或企業(yè)版(EE)。
4.在對(duì)下載的修訂包進(jìn)行解壓縮及解包之后,有足夠的文件系統(tǒng)空間來(lái)保存這些文件(取決于要下載的修訂包,文件系統(tǒng)需要 140 到 900 兆字節(jié)的空間)。
5.您能夠在系統(tǒng)上獲得 root 和實(shí)例所有者權(quán)限。
從DB2 ftp 站點(diǎn)下載修訂包
在下載特定的 DB2 修訂包之前,可以通過(guò)在 DB2 命令窗口上輸入 db2level 來(lái)確定當(dāng)前的修訂包設(shè)置。結(jié)果類(lèi)似如下:
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”則表示修訂包級(jí)別。后者是加密代碼,可以通過(guò)轉(zhuǎn)至 IBM 的 DB2 UDB 下載修訂包和客戶(hù)機(jī) Web 頁(yè)面來(lái)對(duì)它進(jìn)行譯碼。
單擊與您的 DB2 版本(即版本 6 或版本 7)相關(guān)的鏈接,它位于該 Web 頁(yè)面的左上方。這將把您帶到另一個(gè) Web 頁(yè)面,您將在(它的頂部中央)選擇操作系統(tǒng)。單擊適用于操作系統(tǒng)的鏈接并將代碼與其修訂包發(fā)行號(hào)進(jìn)行比較。當(dāng)執(zhí)行 db2level 命令時(shí),如果輸出顯示為 '' 而不是 'U475377',那么它意味著您沒(méi)有安裝任何修訂包。
注:DB2 修訂包不要求您依次安裝每個(gè)修訂包。例如,即使您目前使用的是修訂包 1,也可以為版本 6.1 安裝修訂包 8。
要下載修訂包,可以轉(zhuǎn)至上面提到的修訂包站點(diǎn),或選擇下面的選項(xiàng)之一:
FTP 到匿名服務(wù)器 ftp.software.ibm.com。轉(zhuǎn)至 ps/products/db2/fixes/%L/%P/,其中,%L 是適當(dāng)?shù)恼Z(yǔ)言環(huán)境(如美國(guó)英語(yǔ)、西班牙語(yǔ)和德語(yǔ)等),%P 是產(chǎn)品名/版本(例如,db2ntv71 等)。
使用 Web 瀏覽器來(lái)連接到 DB2 UDB 和 DB2 Connect 在線(xiàn)支持 Web 頁(yè)面。
在 CompuServe 上,執(zhí)行 GO IBMDB2。然后,轉(zhuǎn)至適當(dāng)?shù)膸?kù)以查找修訂包。
在 IBM PCC BBS(在美國(guó))上,撥打 919-517-0001(在北卡羅來(lái)納州羅利),然后在主菜單上輸入“db2”以查找修訂包。
如果您將通過(guò) UNIX 命令行 ftp 來(lái)下載修訂包,請(qǐng)確保在連接到 ftp 站點(diǎn)之后輸入‘bin’以進(jìn)入二進(jìn)制方式。這是正確傳輸修訂包 tar.Z 文件所必需的。如果下載到一臺(tái) Windows NT 機(jī)器,然后 ftp 到一臺(tái) UNIX 機(jī)器,您也需要輸入‘bin’來(lái)正確傳輸該文件。復(fù)制該文件之后,請(qǐng)檢查一下,確保無(wú)論是在 Windows NT 機(jī)器上還是在 UNIX 機(jī)器上,原始文件和被 ftp 的文件的文件大小都相同(以字節(jié)為單位)。在傳輸完成之前,ftp 會(huì)話(huà)期間的一種常見(jiàn)情況是因被中斷而終止。如果在原始文件和副本之間有幾個(gè)字節(jié)差異,則將會(huì)出現(xiàn)問(wèn)題。
由于不正確的文件大小而引起的最常見(jiàn)錯(cuò)誤發(fā)生在將文件解包(untar)期間。tar 操作結(jié)束時(shí)的錯(cuò)誤將是“tar: directory checksum error”,這意味著文件大小與期望的文件大小不匹配。即使發(fā)生這種錯(cuò)誤,也會(huì)產(chǎn)生安裝文件,致使某些人相信他們可以安裝修訂包。
您應(yīng)該按照下面的順序來(lái)準(zhǔn)備安裝修訂包。在下面的示例中,我們將修訂包 3 用于 Sun Solaris 上的 DB2 版本 7.1:
注:某些修訂包可作為 tar 格式的未解壓縮的文件下載。如果是的話(huà),只要從步驟 1 跳到步驟 3。
將修訂包從 IBM 網(wǎng)站下載到一個(gè)工作目錄。確保您有足夠的文件系統(tǒng)空間(這個(gè)修訂包的壓縮大小為 307 兆字節(jié),但它會(huì)因?yàn)樾抻啺牟煌煌U?qǐng)當(dāng)心,當(dāng)下載該文件時(shí),不能對(duì)它重命名。另外,請(qǐng)確保您有該目錄的寫(xiě)許可權(quán)。
將修訂包復(fù)制到 UNIX 機(jī)器之后,執(zhí)行解壓。
uncompress FP3_U475377.tar.Z
解壓該文件之后,文件的擴(kuò)展名將為 .tar,如下所示:
FP3_U475377.tar
現(xiàn)在,這個(gè)文件的大小為 450 兆字節(jié)。
現(xiàn)在,準(zhǔn)備將該 tar 文件解包。
tar -xvf FP3_U475377.tar
把該文件解包之后,原始的 tar 文件(450 兆字節(jié))將與最新創(chuàng)建的名為 delta_install 或修訂包名稱(chēng)(在本示例中是 FP3_U475377)的安裝目錄一起保留;它大約也是 450 兆字節(jié)。這二項(xiàng)合計(jì)達(dá) 900 兆字節(jié)左右。如果 tar 操作成功,則應(yīng)該除去該 tar 文件并只留下 FP3_U475377 目錄。請(qǐng)確保不在 tar 命令中使用‘i’選項(xiàng),因?yàn)檫@將忽略目錄校驗(yàn)和錯(cuò)誤。
下面的命令行輸出顯示了解壓之后的 .tar 文件和解包之后的安裝目錄:
$ pwd/export/home/db2v71/work2$ ls -ltotal 920068 - (in kilobytes)drwxr-xr-x 92 db2v71 db2grp71 2048 May 9 13:28 FP3_U475377 -rw-r--r-- 1 db2v71 db2grp71 470822912 Jul 12 10:39 FP3_U475377.tar
下面顯示了 FP3_U475377 安裝目錄的內(nèi)容。內(nèi)容可能會(huì)因平臺(tái)和修訂包的不同而不同,但 installallpatch 文件應(yīng)該是可見(jiàn)的:
$ pwd/export/home/db2v71/work2/FP3_U475377$ ls172031-000 172031-024 172031-048 172031-072 172031-001 172031-025 172031-049 172031-073 172031-002 172031-026 172031-050 172031-074 172031-003 172031-027 172031-051 172031-075 172031-004 172031-028 172031-052 172031-076 172031-005 172031-029 172031-053 172031-077 172031-006 172031-030 172031-054 172031-078 172031-007 172031-031 172031-055 172031-079 172031-008 172031-032 172031-056 172031-080 172031-009 172031-033 172031-057 Fixpakreadme.txt 172031-010 172031-034 172031-058 backoutallpatch 172031-011 172031-035 172031-059 br 172031-012 172031-036 172031-060 cn 172031-013 172031-037 172031-061 de 172031-014 172031-038 172031-062 en 172031-015 172031-039 172031-063 es 172031-016 172031-040 172031-064 extras 172031-017 172031-041 172031-065 installallpatch 172031-018 172031-042 172031-066 jp 172031-019 172031-043 172031-067 kr 172031-020 172031-044 172031-068 ru 172031-021 172031-045 172031-069 172031-022 172031-046 172031-070 172031-023 172031-047 172031-071
從上面可以看到,installpatch 可執(zhí)行文件駐留在這里。這是您將用來(lái)執(zhí)行修訂包安裝的文件。該目錄還包含有助于安裝的 Fixpakreadme.txt 文件。
安裝修訂包
既然您已經(jīng)下載了修訂包,而且解壓和解包都沒(méi)有任何錯(cuò)誤,那么您將使系統(tǒng)準(zhǔn)備安裝修訂包并對(duì) DB2 實(shí)例和數(shù)據(jù)庫(kù)執(zhí)行更新。在我們概述該過(guò)程時(shí),您應(yīng)該有 Fixpakreadme.txt 文件。在開(kāi)始之前,請(qǐng)閱讀 Fixpakreadme.txt 中的所有信息,因?yàn)榭赡苡幸恍┠鷳?yīng)該考慮到的特定于您的環(huán)境的項(xiàng)。
您應(yīng)該執(zhí)行這些操作以成功安裝修訂包。
在每個(gè) DB2 實(shí)例上,您都必需注冊(cè)為實(shí)例所有者并執(zhí)行:
DB2“force applications all”命令,以強(qiáng)制執(zhí)行該實(shí)例的所有應(yīng)用程序。
DB2“terminate”,以停止所有后端 DB2 進(jìn)程。
db2stop,以停止實(shí)例服務(wù)。
db2licd end,以停止許可證守護(hù)程序。
注冊(cè)為 admin 服務(wù)器所有者并用 db2admin stop 命令停止 admin 服務(wù)器。
注:可以通過(guò)執(zhí)行下列操作來(lái)檢索駐留在系統(tǒng)上的 DB2 實(shí)例列表:
將用戶(hù)切換到 root 用戶(hù)
將目錄更改為 /instance(例如, /opt/IBMdb2/V7.1/instance (Sun) 或 /usr/lpp/DB2_07_01/instance (AIX®))
執(zhí)行 db2ilist 命令: ./db2ilist
要檢索管理服務(wù)器名,請(qǐng)執(zhí)行上面的步驟 1 和 2,然后執(zhí)行 dasilist 命令。
現(xiàn)在,可以安裝修訂包了。使用前面示例中的 FP3_U473577 安裝目錄,將目錄更改為該目錄并查找可執(zhí)行文件 installallpatch。執(zhí)行該文件以開(kāi)始安裝修訂包。當(dāng)發(fā)生錯(cuò)誤或者您不再需要這個(gè)修訂包時(shí),如果您的安裝目錄包含 backoutallpatch(如 上面所示),則可以撤消這個(gè)修訂包。如果這個(gè)可執(zhí)行文件不能用于您的平臺(tái)和修訂包發(fā)行版,則您系統(tǒng)上的 DB2 產(chǎn)品不能回復(fù)到前一個(gè)修訂包,從而必須卸載并重新安裝 DB2。
這里是您將看到的在修訂包安裝期間修訂包中所應(yīng)用的每個(gè)補(bǔ)丁的輸出:
INFO: Do NOT interrupt while installing patch 172031-059...Installation of was successful.INFO: Do NOT interrupt while installing patch 172031-060...Installation of was successful.INFO: Do NOT interrupt while installing patch 172031-061...Installation of was successful.INFO: Do NOT interrupt while installing patch 172031-063...Installation of was successful.
結(jié)束語(yǔ)
既然已經(jīng)成功應(yīng)用了修訂包,您將需要按照 Fixpakreadme.txt 文件中所描述的那樣通過(guò) db2iupdt 命令更新 DB2 實(shí)例。您還需要重新聯(lián)編數(shù)據(jù)庫(kù),才能對(duì)它們應(yīng)用修訂。如果沒(méi)有執(zhí)行這個(gè)操作,那么一些新功能可能不會(huì)生效。這僅適用于前面創(chuàng)建的實(shí)例和數(shù)據(jù)庫(kù);所有在應(yīng)用修訂包之后創(chuàng)建的新實(shí)例和數(shù)據(jù)庫(kù)都將自動(dòng)具有新的修訂。
修訂包是復(fù)雜的軟件世界所必需的,這些技巧將幫助您成為一名更能干且見(jiàn)多識(shí)廣的 DB2 用戶(hù)。如果您對(duì)本文中的改進(jìn)有任何意見(jiàn),請(qǐng)通過(guò)頁(yè)面底部的對(duì)本文的評(píng)價(jià)鏈接提供反饋。有關(guān)安裝期間產(chǎn)生的錯(cuò)誤,您可能需要購(gòu)買(mǎi) IBM Value Option for Developers 來(lái)解決。
