IBM® DB2® 9 for Linux®, UNIX®, and Windows® 的眾多改進之一是能夠在同一台服務器上安裝 DB2 軟件的多個拷貝。在本文中,您可以按照每步的指示說明,學習如何在 SAP 環境中利用這一改進。
概述
在 DB2 for Linux, UNIX, and Windows Version 8 之前,SAP 客戶只能在一台物理機器上安裝每個 DB2 版本的一個拷貝,因為安裝路徑是硬編碼的。盡管 DB2 Version 8 提供了替換的修訂包映像,但是這些映像只用於測試,在生產環境中 SAP 不支持它們。
對於 DB2 9,客戶可以在一台物理機器上安裝多個 DB2 軟件拷貝。數據庫的安裝是相互獨立的。它們可以是不同級別的,可以安裝在任何有效路徑上。每個拷貝可以獨立更新,而不會相互影響。所有裝有 DB2 9 的 SAP R/3 3.1I 版本的環境都支持這一特性。另外,從 SAP NetWeaver 7.1 開始,SAP 安裝程序充分利用這個特性,將 DB2 軟件安裝在實例所有者的主目錄中。
本文解釋如何在一台 Linux 或 UNIX 機器上設置多個 DB2 系統,並讓 SAP 應用程序與安裝的不同數據庫軟件一起運行。
在一個系統上安裝多個 DB2 拷貝
多個 DB2 9 拷貝共存的好處
對於 DB2 9,客戶可以在主機上多次安裝 DB2 軟件,並給一個 SAP DB2 實例分配不同的 DB2 安裝。安裝的每個 DB2 軟件實例都獨立運行。另外,以完整的安裝映像形式提供每個修訂包,這樣就可以選擇是在以前的映像上安裝它,還是作為新映像單獨安裝。
有了這一改進,客戶就可以讓不同的 SAP 應用程序運行在同一主機不同級別的 DB2 上。例如,您可以用一個新的修訂包部署和測試 SAP 應用程序,然後將生產系統轉移到新安裝上。它還提供了一種輕松地返回到以前的補丁級別的方法。每個實例都可以獨立地更新。您不需要將修訂包應用於以前的版本上並應用於所有實例,但是老方法仍然得到支持。
例如,假設客戶有實例 I1、I2 和 I3。他安裝 DB2 9 的最初版本並相應地更新所有實例。然後安裝 DB2 9 Fix Pack 1;他可以選擇在已經安裝的最初版本上安裝,或者在另一個路徑上安裝。然後,將實例 I1 和 I2 指向新路徑進行更新。然後,在新路徑上安裝 DB2 9 Fix Pack 2。此時,也能夠通過指向新路徑將包括 I3 在內的所有實例都更新為 Fix Pack 2。
可以在同一台物理機器上同時安裝 Version 8 和 Version 9,也可以安裝 Version 9 的多個級別的修訂包。
與以前的 DB2 版本的差異
這個新特性使 DB2 出現了許多變化:
不能使用操作系統實用程序(例如 paged、rpm、smit 或 sisal)查詢 DB2 產品。相反,要使用一個新命令 db2ls 跟蹤機器上安裝的 DB2 軟件。它提供關於安裝的 DB2 產品的信息,包括版本和安裝的時間。
示例: %/opt/ibm/db2/V9.1_01/install/db2ls
Install Path Level FixPack Special Install Number Install Date
-----------------------------------------------------------------------------------------
/opt/ibm/db2/V9.1_01 9.1.0.0 0 Tue Jul 11 14:28:33 2006 EDT
/opt/ibm/db2/V9.1_02 9.1.0.1 1 Thu Sep 7 16:52:14 2006 EDT
用戶不能使用本機操作系統實用程序(例如 ramp 或 smit)卸載 DB2 軟件。要想卸載 DB2 產品,應該運行 db2_deinstall 命令,這個命令位於安裝目錄下。
示例: %/opt/ibm/db2/V9.1_01/install/db2_deinstall -a
上面的命令可將 DB2 產品從 /opt/ibm/db2/V9.1_01 目錄刪除。
每個 DB2 系統可以有任意數量的 DB2 實例。但是,在整個系統中實例名必須是惟一的。命令 db2ilist 只列出運行命令時所在的路徑下創建的實例。同樣,db2ilist db2icrt 和 db2idrop 命令用於創建以及刪除與運行命令時所在的 DB2 路徑相關聯的實例。
DB2 9 修訂包映像是完整的安裝映像。可以使用映像運行全新的數據庫安裝,也可以將修訂包應用於現有的安裝。下面描述的安裝過程適用於 DB2 9 映像的最初版本以及修訂包映像。惟一的差異是,如果用戶使用修訂包映像運行新安裝,那麼會安裝試用許可證。然後,需要運行 db2licm a filename 來手工添加許可證。
安裝
在開始安裝之前,應該確保操作系統滿足安裝 DB2 9 所需的所有前提條件。最新的系統需求列表請參閱 System Requirements 頁面。
如果需要了解關於如何安裝 DB2 軟件的更多信息,請參考 IBM Web 站點上的 IBM 文檔。
注:
如果在多個物理節點上運行 DB2 分區數據庫系統,那麼必須在每個數據庫主機上的相同路徑中安裝數據庫軟件。例如,如果 instance1 安裝在 server1 上的 /opt/V9install 目錄中,那麼它在 server2、server3 等主機上也應該安裝在 /opt/V9install 目錄中。
如果 SAP 中央實例或對話實例並未運行在數據庫服務器上,那麼需要在中央或對話實例機器上安裝 DB2 Client 軟件。過程是相同的,但是應該確保只選擇安裝 DB2 ClIEnt。最佳實踐是讓中央或對話實例處於同樣的 DB2 級別。
安裝路徑
如果在安裝時沒有提供路徑,DB2 就會安裝在以下默認路徑中(將創建目錄):
/opt/IBM/db2/V9.1 針對 AIX、HP-UX 和 Solaris 操作系統
/opt/ibm/db2/V9.1 針對 Linux 操作系統
如果默認安裝路徑已經在使用了,路徑後面就會加上 _xx,_xx 是從 01 開始的數字,根據已經安裝的 DB2 拷貝數量遞增。
例如,DB2 的第一個拷貝安裝在 /opt/IBM/db2/V9.1 中,第二個拷貝安裝在 /opt/IBM/db2/V9.1_01 中。
另外,可以在安裝 DB2 期間選擇一個路徑,DB2 將安裝在您提供的任何有效路徑中。對於安裝路徑有一些限制:
這個路徑必須是空的。如果這個路徑不存在,DB2 安裝程序會在安裝期間創建它。如果這個路徑已經存在,就需要確保它不包含任何文件或子目錄。
路徑名不能包含任何空格。例如,/opt/IBM/db2/db2 v9 是不允許的。
支持的安裝路徑最大長度在 AIX 上是 108 個字節,在 HPPA 上 105 個字節。對於所有其他平台,安裝路徑不能超過 128 個字符。如果路徑是鏈接,那麼它鏈接的真實路徑也應該滿足這個長度限制。
使用 DB2 Setup 向導安裝 DB2
為了使用 DB2 Setup 安裝 DB2,需要執行以下步驟:
以具有系統管理員權限的用戶登錄,並確保正確地設置 DISPLAY 變量。
掛裝數據庫 DVD 並發出以下命令: % <DVD_mount>/<platform>/ESE/disk1/db2setup
這時顯示下面的歡迎頁面。
圖 1. 歡迎屏幕
點擊 Installation Prerequisites,檢查您的系統是否滿足所有需求。
在左邊的面板中選擇 Install a Product,並單擊 DB2 Enterprise Server Edition 下面的 Install New。
如果想只安裝客戶機,就選擇 DB2 ClIEnt 菜單下面的 Install New。
圖 2. 啟動面板屏幕
單擊 Next 接受許可協議,讓安裝向導進入下一個屏幕。
對於安裝類型,建議選擇 Typical,除非用戶需要執行特殊操作。屏幕上顯示了關於每個安裝類型的更多細節。
圖 3. 安裝類型
在下一個屏幕上,可以將操作保存在響應文件中,供以後使用,或者只進行安裝。
圖 4. 安裝選項
現在,安裝向導詢問安裝目錄。輸入您需要的安裝目錄,或者保持默認目錄。
圖 5. 安裝目錄屏幕
在下一個屏幕上,選擇 Do not create a DB2 instance。
圖 6. DB2 實例屏幕
下一個屏幕顯示一個總結頁面,檢查其中的內容並單擊 Finish, 開始 DB2 的安裝。
圖 7. 摘要屏幕
在安裝期間,會顯示一個任務條,它顯示安裝的進度。
圖 8. 安裝進度屏幕
完成設置後,選擇 Finish 退出安裝面板。還可以查看日志文件,了解安裝步驟的細節。
圖 9. 安裝完成
使用 db2_install 腳本安裝 DB2
db2_install 腳本會安裝 DB2 產品中您指定的所有 組件,並具有英語界面支持。它並不執行用戶和組創建、實例創建或配置。按照以下步驟開始使用 db2_install 進行安裝:
以具有系統管理員權限的用戶登錄。
插入並安裝適當的 DVD,或者訪問存儲安裝映像的文件系統。
改變目錄至 <DVD_mount>/ese/disk1。
運行以下命令: %./db2_install -b DB2DIR -p productName
其中的 DB2DIR 是要安裝 DB2 產品的路徑,productName 是要安裝的產品的名稱。對於完整的 Enterprise Server Edition,選擇 ESE;也可以選擇客戶機或運行時客戶機版本。
可以不為 db2_install 命令提供任何參數,在這種情況下會提示您輸入產品名稱和安裝路徑。可以通過運行命令 db2_install -h 了解詳細的用法信息。如果沒有使用 -l 選項指定日志路徑,那麼可以在 /tmp 目錄中找到安裝日志文件。
示例 1<DVD_mount>/db2install/V9/ese/disk1 #./db2_install
Default directory for installation of products - /opt/ibm/db2/V9.1
***********************************************************
Do you want to choose a different directory to install [yes/no]
yes
Enter full path name for the install directory -
------------------------------------------------
/opt/ibm/db2/V9.1_01
Specify one or more of the following keyWords,
separated by spaces, to install DB2 products.
CLIENT
RTCL
ESE
Enter "help" to redisplay product names.
Enter "quit" to exit.
***********************************************************
ESE
DB2 installation is being initialized.
Total number of tasks to be performed: 39
Total estimated time for all tasks to be performed: 853
使用響應文件安裝 DB2
響應文件是一個包含安裝和配置值的文本文件。DB2 安裝程序讀取這個文件,並根據已經指定的值執行安裝。可以使用 db2setup 向導創建響應文件,或者修改示例響應文件。下面是一個響應文件示例。新的關鍵字 FILE 用來指定安裝目錄。
示例 2**************
PROD=ENTERPRISE_SERVER_EDITION
FILE=/opt/ibm/db2/v9.1_01
LIC_AGREEMENT=ACCEPT
INSTALL_TYPE=TYPICAL
LANG=EN
CONFIG_ONLY=NO
********************
准備好響應文件之後,可以運行帶有 -u 選項的 db2setup 命令,如下所示:
以具有系統管理員權限的用戶登錄。
改變目錄至 <DVD_mount>/<platform>/ese/disk1。
運行以下命令:% ./db2setup -u <path>/ese.rsp -l <path>/install.log
這時會看到以下輸出:DBI1191I db2setup is installing and configuring DB2 according to
the response file provided. Please wait.
The execution completed successfully.
For more information see the DB2 installation log at
"<path>/install.log".
應用修訂包
要想在現有的 DB2 安裝上應用修訂包,應運行 InstallFixPak -b 命令並提供安裝基路徑。注意,installFixPak 命令每次只能更新一個 DB2 拷貝。
按照以下步驟應用修訂包:
以具有系統管理員權限的用戶登錄。
確保與這個 DB2 拷貝相關聯的所有 DB2 實例都停止了。否則 installFixPak 命令將失敗。可以使用 db2ilist 和 db2stop 命令進行檢查。
改變目錄至 <DVD_mount>/<platform>/ese/disk。
運行以下命令:%./installFixPack -b <base_install_path>
為安裝目錄下的所有實例運行 db2iupdt 命令,從而更新實例。
作為實例所有者(db2<sid>),按照 SAP 文檔的說明綁定包。
示例 3
<DVD_mount>/db2install/V9/ese/disk1#./installFixPack -b /opt/ibm/db2/V9.1_01
DBI1017I installFixPack is updating the DB2 product(s) installed
in location /opt/ibm/db2/V9.1_01.
<DVD_mount>/db2install/V9/ese/disk1# cd /opt/ibm/db2/V9.1_01/instance
/opt/ibm/db2/V9.1/instance # ./db2ilist
db2lp1
/opt/ibm/db2/V9.1/instance #./db2iupdt db2lp1
DBI1070I Program db2iupdt completed successfully.
安裝帶有 DB2 9 的 SAP
1. 獲得最新的安裝 DVD
在安裝任何 SAP 應用程序之前,要確保獲得支持 DB2 9 的最新 SAP 安裝 DVD。
如果要安裝基本的 SAP NetWeaver 7.0,那麼使用 Service Release 1(SR1)或更高版本的安裝包。
對於老版本,可以使用 “6.20/6.40 Installation Master (Edition Sept. 2006)” DVD。R3SETUP 還有一個補丁包,可以支持 V8 或 V9 安裝。可以從 SAP OSS Note 969660 和 Note 928727 找到更多信息。
2. 安裝 SAP 應用程序
按照 SAP 版本的安裝文檔開始安裝 SAP。在安裝期間,可以指定已經安裝 DB2 軟件映像的路徑。可以使用新的 Browse 按鈕搜索這個路徑。
圖 10. Browse 按鈕
在上面的示例中,SAP 安裝程序用安裝在 /opt/ibm/db2/v9.1 的 DB2 映像創建數據庫實例。
更新 SAP 數據庫實例
既然可以安裝多個 DB2 軟件拷貝,就可以按照下面兩種方式之一更新 SAP 數據庫實例:
將修訂包應用於現有的 DB2 軟件,並更新安裝路徑下的所有實例。
在一個新位置安裝 DB2,並將 DB2 實例從老的安裝路徑轉移到新的安裝路徑。新位置的 DB2 軟件可以具有不同的修訂包級別,也可以是相同級別的。
1. 通過在當前安裝路徑上應用修訂包來更新實例
這是更新數據庫實例的傳統方法,其過程與 DB2 V8 相同:
作為 <sid>adm, 運行 stopsap 命令,從而停止所有 SAP 進程。
作為實例所有者,運行以下命令停止所有 DB2 進程。
db2 force applications all
db2 terminate
db2stop
db2licd end
對所有 DB2 實例重復步驟 1 和 2。
以具有系統管理員權限的用戶登錄,按照 安裝 一節描述的方法之一安裝修訂包。
使用 db2iupdt 命令更新所有實例。
作為 DB2 實例所有者,按照 SAP 文檔的說明執行實例更新後的步驟。
2. 通過將實例轉移到另一個 DB2 拷貝來更新實例
可以通過運行 db2iupdt 命令,將與一個 DB2 相關聯的 DB2 實例改變為與另一個 DB2 相關聯。這樣就能夠快速地將實例更新到另一個修訂包級別,而不會影響其他實例。目標 DB2 拷貝可以具有與原 DB2 拷貝相同的修訂包級別,也可以是不同級別的。
下面是在不同的 DB2 軟件拷貝之間轉移 DB2 9 實例的過程。
以 <sapsid>adm 用戶登錄,停止 SAP 系統和 DB2 實例。確保這個實例的所有進程都停止運行了。
以具有系統管理員權限的用戶登錄,在您想將實例移動到的目標目錄下運行 db2iupdt 命令。db2iupdt 命令在 <DB2DIR>/instance 下。
示例 4# db2ls
Install Path Level Fix Pack Special Install Number Install Date
--------------------------------------------------------------------------------
/opt/ibm/db2/V9.1_01 9.1.0.0 0 Tue Jul 11 14:28:33 2006 EDT
/opt/ibm/db2/V9.1_02 9.1.0.1 1 on Sep 25 21:26:42 2006 EDT
--This shows that there are two copIEs installed on the system.
# /opt/ibm/db2/V9.1_01/instance/db2ilist
db2lp1
db2lp2
--Two instances are associated with DB2 under path /opt/ibm/db2/V9.1_01.
# /opt/ibm/db2/V9.1_02/instance/db2iupdt db2lp1
DBI1070I Program db2iupdt completed successfully.
--This command updates instance db2lp1 from install path /opt/ibm/db2/V9.1_01
to /opt/ibm/db2/V9.1_02.
# /opt/ibm/db2/V9.1_01/instance/db2ilist
db2lp2
# /opt/ibm/db2/V9.1_02/instance/db2ilist
db2lp1
--db2ilist now shows instance db2lp1 is now switched to the DB2 copy at path
/opt/ibm/db2/V9.1_02.
如果應用服務器在另一台主機上,那麼建議將應用服務器實例更新到與數據庫服務器實例相同的級別。
作為實例所有者(db2<sid>),按照 SAP 文檔的說明綁定包。
以 <sid>adm 登錄,並啟動 SAP 應用程序。
注:
如果目標 DB2 拷貝的級別比原 DB2 拷貝低,那麼運行帶 -D 選項的 db2iupdt 命令。
db2iupdt 命令只應用於相同版本的 DB2 實例。如果希望將 DB2 Version 8 實例遷移到 DB2 9 實例,請參考 “SAP DB2 Migration Guide” 中的說明。這份指南可以在 OSS Note 930487 的附件和 DB2 9 DVD 上找到。
卸載
在刪除所有實例或者將它們轉移到其他 DB2 拷貝之後,可以執行 db2_deinstall 命令來卸載 DB2。如果還存在為某個 DB2 拷貝定義的實例,則不允許卸載該 DB2。
db2_deinstall 命令位於 DB2DIR/install 下,它會卸載與 db2_deinstall 工具位於相同安裝路徑下的 DB2 產品。
示例 5%/opt/ibm/db2_v91/install # ./db2_deinstall -a
DBI1016I Program db2_deinstall is performing uninstallation.
Please wait.
The execution completed successfully.
For more information see the DB2 installation log
"/tmp/db2_deinstall.log.24556".
附錄:重要的 SAP OSS 說明文件
請檢查以下的 OSS 說明文件,以獲取最新的安裝更新:
969660 —— 6.20/6.40 Patch Collection Installation : Unix
928727 —— DB6: SAP System Inst. with EXT Kernel on UNIX
930487 —— DB6: Using DB2 9 with SAP Software
8999322 —— DB6: DB2 9 Standard Parameter Settings
101809 —— DB6: Supported Fix Packs for DB2 UDB for UNIX and Windows
結束語
在本文中,學習了如何在同一台機器上安裝一個 DB2 版本的多個拷貝,這是 DB2 9 中的一個新功能。另外,還看到了如何更新 SAP 數據庫實例,以及如何在必要時卸載 SAP 數據庫實例。