在UNIX 和Linux平臺上如何部署IBM DB2 產(chǎn)品 |
發(fā)布時間: 2012/9/21 16:24:59 |
在數(shù)十、數(shù)百或者數(shù)千臺基于 UNIX 和 Linux 平臺的客戶機和服務器上部署 IBM_ DB2 產(chǎn)品,包括 IBM DB2 Universal Database (DB2 UDB) 和 DB2 Connect,這看起來似乎是一件令人望而生畏的任務。 本文講述了如何跨多臺機器在 UNIX 和 Linux 平臺上快速、輕松和一致地部署 DB2 產(chǎn)品。本說明書可用于安裝客戶機、服務器、并行服務器和 FixPak。-
為了簡單起見,文中的例子使用 Bourne shell 語法。其他 shell 用戶將需要作適當?shù)恼{(diào)整。 DB2 產(chǎn)品 支持 UNIX 和 Linux 的 DB2 家族有 15 種以上的 Version 8 產(chǎn)品,需要根據(jù)平臺來選擇產(chǎn)品,因此,如果對 DB2 產(chǎn)品線不熟悉,選擇正確的產(chǎn)品將會是一項頗具挑戰(zhàn)性的任務。為了幫助您確定在計算機操作環(huán)境中安裝哪一種 DB2 產(chǎn)品,我們提供了以下產(chǎn)品概覽。 本概覽不是為了詳細描述每一種產(chǎn)品的許可條款,而是旨在綜述每一種產(chǎn)品的特性和使用場景。此外,本概覽并未涉及所有的 DB2 產(chǎn)品,而只是根據(jù) PMR、新聞組帖子以及與 IBM 客戶的溝通,討論那些在功能上最容易產(chǎn)生混淆的產(chǎn)品。 注意,并非所有產(chǎn)品都適用于所有平臺。 DB2 客戶機 有四種 DB2 客戶機產(chǎn)品,分別具有不同級別的功能性。 DB2 Run-time Client 是適用于那些只需要 DB2 客戶機支持應用程序與遠程 DB2 服務器通信,而不需要管理任何服務器的計算機。因此沒有提供任何圖形工具。但是,任何使用 DB2 UDB 或者 DB2 Connect 的應用程序都應當可以通過該產(chǎn)品運行?偟膩碚f,該產(chǎn)品對于大多數(shù)應用程序來說是必需的,無論應用程序是第三方提供的還是內(nèi)部開發(fā)的。 DB2 Administration Client 是專為 DB2 管理員設計的。它具有 DB2 Run-time Client 的全部功能,并增加了所有的圖形化工具。注意,DB2 Administration Client 的精簡安裝在功能上等同于 DB2 Run-time Client 的精簡安裝。 DB2 Application Development Client 是專為編寫軟件來使用 DB2 產(chǎn)品,或者編譯針對 DB2 API 軟件的開發(fā)人員設計的。它具有 DB2 Administration Client 的所有功能,并增加了可用于應用程序開發(fā)的附加圖新工具。 DB2 Connect Personal Edition 是一個經(jīng)過許可的客戶機,它具有 DB2 Application Development Client 的所有功能,并增加了連接主機數(shù)據(jù)庫(例如 DB2 for MVSTM)的功能。 因為每一個客戶機都包含在其之前的客戶機的全部功能,所以您幾乎不需要在一臺機器上安裝多個客戶機。多客戶機通常僅在更改計算機角色時才安裝。例如,發(fā)生在用戶提出訪問主機數(shù)據(jù)庫的新需求,從而需要遷移到 DB2 Connect Personal Edition 中時。在這些情況下,您可以通過在舊客戶機之上簡單地安裝新客戶機,并重新運行所有 FixPak 來執(zhí)行升級。 DB2 服務器
DB2 服務器的擴展方式與客戶機一樣。所有的 DB2 服務器都是經(jīng)過許可的。 DB2 UDB Personal Edition 是一款嚴格的臺式機產(chǎn)品,因為它不允許遠程客戶機的連接。它在某種程度上類似于 DB2 Application Development Client,同時添加了僅允許本地客戶機訪問本地數(shù)據(jù)庫的功能。 DB2 UDB Express Editions 是專為具有少數(shù)客戶機的中小企業(yè)設計的。它們具有 DB2 UDB Personal Edition 的全部功能,而且允許遠程連通性。 DB2 UDB Workgroup Server Editions 是專為大規(guī)模服務器設計的。它們具有 DB2 UDB Express 的全部功能,而且具有更加廣泛的許可。 DB2 Connect Enterprise Editions 是專為客戶機連接主機數(shù)據(jù)庫(例如 DB2 for MVS)的三層選通(three-tier gating)而設計的。它們具有 DB2 Connect Personal Edition 的全部功能,并增加了網(wǎng)關功能。 DB2 UDB Enterprise Server Edition 是專為大型和超大型數(shù)據(jù)庫而設計的。如果不考慮數(shù)據(jù)庫分區(qū)特性(DPF),則它在功能上等同于 DB2 UDB Workgroup Edition 和 DB2 Connect Enterprise Edition 的組合。利用 DPF,Enterprise Server Edition 還允許多臺機器作為單個無共享集群(single shared-nothing cluster)共同運行,利用多臺機器模擬單一數(shù)據(jù)庫服務器。 因為每一臺服務器具有所有客戶機的全部功能,包括圖形工具和應用程序開發(fā)工具,所以沒有理由再在一臺已經(jīng)安裝服務器的計算機上安裝客戶機。這顯著地簡化了 DB2 產(chǎn)品的部署。 開發(fā)人員版本 DB2 開發(fā)人員版本僅在許可方面與上述產(chǎn)品不同。但是,有跡象表明,確保在開發(fā)環(huán)境中的大規(guī)模部署中包含該產(chǎn)品引起不少混亂。 DB2 UDB Personal Developer" s Edtion 是 DB2 UDB Personal Edition 面向小型開發(fā)團隊的有限許可版本。它包含有限許可的 DB2 UDB Personal Edition 和 DB2 Application Development Client,允許單個開發(fā)人員針對本地服務器編寫、編譯和測試代碼。雖然它還允許開發(fā)使用遠程數(shù)據(jù)庫,但是遠程數(shù)據(jù)庫產(chǎn)品不包含在該軟件包中。由于 DB2 API 隱藏了一些細節(jié)(如數(shù)據(jù)庫的實際位置),在 DB2 UDB Personal Edition 中的開發(fā)與在任何 DB2 UDB 服務器(如 DB2 UDB Enterprise Server Edition)中的開發(fā)一樣。 DB2 UDB Universal Developer"s Edition 是一種全功能的、一站式的開發(fā)產(chǎn)品,面向大型開發(fā)團隊。它包含幾乎全部的 DB2 for Linux、UNIX 和 Windows 產(chǎn)品,包括一些本文中沒有涉及到的產(chǎn)品。因為它包含所有平臺的全部服務器產(chǎn)品,所以它可以用于開發(fā)多平臺,或者開發(fā)不受 DB2 UDB Personal Developer"s Edition 支持的平臺。 因為除了其許可條款之外,Developer"s Edition 產(chǎn)品與先前產(chǎn)品一樣,所以不必在現(xiàn)有產(chǎn)品之上安裝這些產(chǎn)品,反之亦然。 部署概覽 在 UNIX 和 Linux上執(zhí)行 DB2 產(chǎn)品部署的步驟如下: 1. 創(chuàng)建代碼服務器 2. 計劃部署 2.1 可選,創(chuàng)建一份響應文件,以自動化配置。 3. 創(chuàng)建一份部署腳本 4. 在所有機器上運行部署腳本 創(chuàng)建代碼服務器 創(chuàng)建代碼服務器的目的是加速部署進程。事實上,把 CD 從一個系統(tǒng)轉(zhuǎn)移到另一個系統(tǒng)并不是在合理利用管理員的時間,甚至將 CD 安裝在一臺機器中,然后通過網(wǎng)絡文件系統(tǒng)(例如 NFS、DFS、AFS 等等)安裝,將減緩所有的部署,因為后者需要不斷的跳躍,以響應網(wǎng)絡請求。 相反,通過將 CD 復制到硬盤中,我們可以充分利用大多數(shù)物理文件系統(tǒng)驅(qū)動程序提供的縮短的查找時間和增大的緩沖區(qū)。 此外,在 DB2 Version 8 中,一些產(chǎn)品在其 CD 中是以壓縮形式針對某些平臺提供的。對于這些產(chǎn)品來說,我們必須復制到本地磁盤,然后解壓縮和釋放文件,因為我們無法簡單地從 CD 直接共享鏡像文件。 根據(jù)您所擁有的產(chǎn)品和平臺,您可能可以直接復制文件,否則您必須解壓縮鏡像文件。如果您可以復制鏡像文件,我們建議以 root 權限使用以下命令: # (cd /cdrom; tar cf - *) | (cd /bigshareddisk; tar xf -) 使用磁帶存檔文件的基本意圖在于并不是所有的平臺都具有可以保持符號鏈接(symbolic link 或 symlink)的 cp 命令。相反,任何可以保持符號鏈接、所有權和權限的等同命令也同樣適用。 如果您有一份預壓縮的鏡像文件,則需要使用的命令是: #(cd/cdrom;zcat*.tar.Z)|(cd/bigshareddisk;tar xf-) 相反,在 Linux 上,磁帶存檔文件可以使用 Z 選項來實現(xiàn)上述命令: #cd /bigshareddisk; tar xzf/cdrom/*.tar.Z 注意,在這一點上建議不要使用 Microsoft Windows 文件服務器。Windows 文件服務器將丟失文件權限,而且將不能處理名稱與自身不同的文件,這種情況在 DB2 for Solaris 和 DB2 for Linux 產(chǎn)品中都存在。 下一步驟是通過網(wǎng)絡文件系統(tǒng)導出 /bigshareddisk。具體操作步驟超出了本文所討論的范圍。注意,盡管無法將 DB2 本身安裝到 NFS 分區(qū)中,但是可以通過 NFS 安裝 DB2。 計劃部署 DB2 for UNIX and Linux 可以使用多種方式進行非交互式的安裝。選擇哪一種方法取決于您的偏好。所有的方式都可以交替使用。即,您可以使用一種方式執(zhí)行安裝,以后在同一臺機器上執(zhí)行的另一安裝則可以使用另一種方式。選擇一種方法并不代表您需要永遠使用該方法。 對于 FixPaks 來說,僅有一種方式可用。 極力推薦,在任何部署之前,您應該在一臺測試機器上測試安裝,以檢驗部署在每一臺機器上會生成什么。此外,甚至在測試部署之前,極力推薦在設計非交互式 DB2 部署之前至少使用一次圖形安裝程序。圖形安裝程序可以幫助您理解非交互式安裝模式中的條款和關鍵詞。FixPaks 沒有任何圖形安裝程序。 響應文件安裝 推薦的方法是響應文件安裝。該方式涉及到創(chuàng)建一份響應文件(將在本文后面講述),然后針對響應文件運行 db2setup。推薦使用該方法是因為它可以提供很多優(yōu)勢: 預先的響應文件語法檢查意味著,如果 db2setup 接受了響應文件,則它很可能可以運行。 它允許您選擇與圖形安裝程序一樣或者更好的粒度來安裝。 它允許您配置圖形安裝程序配置的所有內(nèi)容,而不需要知道其中發(fā)生的情況。 它允許您與安裝同步設置數(shù)據(jù)庫管理程序配置 (dbm cfg) 和 DB2 配置文件注冊表參數(shù)。 可以完全解釋所有的輸出和日志文件。 db2_install 您可以使用的另一種方法是 db2_install 腳本。它是一種瘦型粗粒度的包裝程序,僅僅調(diào)用底層操作系統(tǒng)安裝程序(AIX、Solaris、HP-UX 和 Linux 操作系統(tǒng)上的 installp、pkgadd、swinstall 或 rpm)安裝整個產(chǎn)品。與響應文件的安裝相比,這種方法有以下局限性: 粗粒度安裝意味著在安裝時無法選擇所有備選組件。 其中不包括語言選擇。您必須使用另一種方法來安裝英語之外的語言。 其中不包括 DB2 Administration Server (DAS) 的配置或者實例。 但是,它不需要設置任何響應文件。 操作系統(tǒng)安裝程序 這種方法涉及到調(diào)用可以直接應用于平臺的操作系統(tǒng)安裝程序。有關執(zhí)行此方法的更多信息,請參見操作系統(tǒng)文檔和相關主頁。與響應文件安裝相比,該方法具有以下局限性: 您必須按照正確的順序手動安裝組件。 組件名稱通常不像響應文件標識符那樣可讀取或者直觀。 其中不包含任何 DAS 配置或者實例。 與使用 db2_install 相比,該方式具有以下不同點: 更加靈活,因為您僅安裝了所需的組件。 您可以安裝英語之外的語言。 需要更多設置時間,因為您必須選擇需要安裝的組件。 FixPak 安裝 FixPak 安裝通常是非交互式的,因此常常用于大規(guī)模部署。 創(chuàng)建響應文件 創(chuàng)建響應文件是一個可選但推薦采用的步驟。響應文件可以顯著地簡化安裝腳本。響應文件不可以用于 FixPak 安裝。 響應文件可能會因為目標環(huán)境不同而顯著不同。本文主要針對三種環(huán)境:客戶機、單機服務器(例如,除了 Enterprise Server Edition with DPF 以外的任何服務器)和并行服務器(例如,Enterprise Server Edition with DPF)。 對于按照上述三種環(huán)境的組合部署的機器來說(例如安裝了 Relational Connect for DB2 Data Sources 的數(shù)據(jù)庫服務器,同時還必須作為另一個數(shù)據(jù)庫的客戶機),可以將這些環(huán)境組合在一起。但是,為了簡單起見,本文不討論這些組合。 響應文件 創(chuàng)建響應文件的最簡單方式是使用 db2setup 圖形界面。通過啟動 db2setup,然后保存響應文件,您可以以圖形方式選擇需要安裝的組件。然后,您可以通過從 CD 中提供的示例響應文件中復制附加條目來調(diào)整響應文件。 創(chuàng)建響應文件的另一種方式是從 CD 中復制示例響應文件,然后修改該示例響應文件。示例存放在 db2/pto/samples 目錄中,plat 是平臺標識符。例如,db2/linux/samples/db2rtcl.rsp 是 DB2 for Linux CD 中面向 Linux 的 Run-time Client 示例響應文件。 盡管極力推薦在部署之前首先在一臺機器上進行測試,但是響應文件非常易于使用。 關于響應文件需要知道的第一件事是任何以 * 或者 # 字符開始的行都將作為注釋忽略。 *Thisisa comment. 任何行的末端包含 ** 或者 ## 序列的行也都將作為注釋被忽略。 PROD = ENTERPRISE_SERVER_EDITION ** This is a comment. 所有的數(shù)據(jù)均以 KEYWORD=VALUE 格式顯示。在以上示例中,關鍵詞是 PROD,而 PROD 關鍵詞的給定值是ENTERPRISE_SERVER_EDITION。 每一個關鍵詞被看作是一個標記。即,該關鍵詞保留不翻譯。大多數(shù)值也都是標記。例如,在以下的行中 INSTALLJTYPE=TYPICAL 關鍵詞和值都是標記,因此不應當被看作英文單詞。響應文件安裝程序可以識別這些標記,它所識別的標記都是一樣的,不考慮其語言。 未注釋的示例響應文件中的條目被看作是強制性的,必須填寫才能進行安裝。 最后,很多關鍵詞直接映射到您在圖形安裝期間可能會遇到的問題中,因此掌握圖形安裝可以幫助理解響應文件。 PROD PROD 關鍵詞指定需要安裝的產(chǎn)品。每一份示例響應文件都已經(jīng)預填入該關鍵詞。不需要對其進行任何改動。 INSTALL_TYPE 該關鍵詞指定所需安裝的類型:精簡、典型、自定義。如果選擇典型,則還可以選擇所有典型選項。如果選擇自定義,則可以選擇需要安裝的所有組件。如果選擇精簡,則所有這些可選環(huán)節(jié)都將被忽略。 TYPICAL_OPTION 如果已經(jīng)選擇安裝類型為 TYPICAL(典型),則您可以選擇其他的典型選項集。例如,如果您需要典型安裝具有 Data Warehouse 選項的 Enterprise Server Edition,您可以在此作出選擇。只需去掉不需要在部署中安裝的每一個選項前的星號即可。如果安裝類型不是 TYPICAL,則忽略該關鍵詞。 COMP 如果已經(jīng)選擇安裝類型為 CUSTOM(自定義),則可以通過從所需組件中去掉注釋字符來選擇其他組件。對比來說,Linux 和 UNIX 響應文件通過說明使用典型安裝和每一個典型選項會選擇哪一些組件來區(qū)分組件。如果安裝類型不是 CUSTOM,則忽略該關鍵詞。 LANG 如果您需要使用英語以外的語言,請選擇該關鍵詞。不同于圖形安裝程序的是,如果當前語言不是英語,則響應文件安裝程序不會自動選擇當前語言。此處的語言標記和具有 -i 選項的安裝程序使用的那些標記一樣。 SELECT_INSTALLED_LANGS 如果設置為 YES(是),將自動選擇 DB2 已經(jīng)安裝的所有語言。這非常適用于在同一個系統(tǒng)中安裝第二種產(chǎn)品,同時想使所有新功能保持原有的語言設置。 ENCODING 如果沒有選擇任何編碼方法,則自動安裝全部編碼方法。對每種語言來說,不同的編碼方法都適用。如果不需要全部的編碼方法,您可以選擇所需的子集。注意,ISO 或者 EUC 編碼方法需要作為某些語言的反編編碼方法(fall-back encoding)。 LIC_AGREEMENT 該參數(shù)向響應文件安裝程序表明您已經(jīng)讀取并同意在 DB2 介質(zhì)上所包含的許可。您可以在 db2/iceme/locale.encoding 目錄中找到該許可。默認值是 DECLINE(拒絕)。您必須將其更改為 ACCEPT(接受)才能繼續(xù)安裝。 實例創(chuàng)建設置 這些設置可用于創(chuàng)建作為安裝一部分的實例。您可以通過使用多個 INSTANCE 名稱,在一次安裝中創(chuàng)建多個實例。例如,您可以創(chuàng)建 INSTANCE=instancel 和 INSTANCE=instance2。對每一個實例來說,您需要利用 instance1和 instance2前綴創(chuàng)建所需設置的剩余部分。 大多數(shù)這些設置要么是數(shù)據(jù)庫管理程序配置設置,要么是 DB2 配置文件注冊表設置(所有這些可配置的設置都應當包含在響應文件中)。 其他設置允許您創(chuàng)建新用戶,包括密碼。如果選擇利用響應文件創(chuàng)建新用戶,則建議使用正確的文件系統(tǒng)安全性,確保在執(zhí)行安裝的每一臺機器上僅 root 可以讀取響應文件,因為密碼存放在純文本中。相反,您可能希望在使用響應文件之前,首先創(chuàng)建用戶帳戶,并設置密碼。 實例用于存儲 DB2 配置。這包括服務器的本地數(shù)據(jù)庫和客戶機及服務器的遠程數(shù)據(jù)庫。 如果是從前一版本中遷移實例,則不需要創(chuàng)建新實例。DB2 需要一個實例來執(zhí)行所有操作,無論是托管本地數(shù)據(jù)庫還是連接到遠程數(shù)據(jù)庫。 不同于將所有的設置存放在響應文件中,一種替代方案是使用 db2cf exp 命令將配置從現(xiàn)有實例中導出。在這種情況下,您可以按需在測試機器上精確配置主實例(包括性能調(diào)優(yōu)和編目遠程節(jié)點與數(shù)據(jù)庫,但是不包括本地數(shù)據(jù)庫),然后使用命令 “db2cfexp template”導出配置。在部署期間,您需要使用 db2cfimp 導入指定文件中存儲的模板。例如,“db2cf exp db2inst.exp template”可以創(chuàng)建一份描述當前實例的名為 db2inst.exp 的文件。 管理服務器設置 這些設置可以用于創(chuàng)建 DAS。如果在示例響應文件的某一節(jié)中已經(jīng)說明,某些產(chǎn)品允許使用管理服務器,則這些產(chǎn)品必須具有管理服務器。如果在目標機器上一臺管理服務器也沒有,則必須使用該節(jié)來創(chuàng)建管理服務器。與 DAS 關聯(lián)的用戶必須不同于任何實例使用的用戶。 如果是該版本的首次安裝,您僅需要創(chuàng)建新的 DAS。例如,如果您已經(jīng)安裝 Workgroup Server Edition,并且需要升級到 Enterprise Server Edition,則前次安裝中的現(xiàn)有 DAS 足以勝任。在這種情況下,您可以注釋 Administration Server 設置。 客戶機部署事項 由于客戶機安裝的主要目的是與遠程服務器通信,從正在運行中的客戶機導出客戶機配置文件可以簡化部署,因為這樣可以使編輯節(jié)點和數(shù)據(jù)庫目錄的工作更加輕松。 單服務器部署事項 響應文件安裝無法創(chuàng)建本地數(shù)據(jù)庫。這些數(shù)據(jù)庫需要作為部署腳本的一部分創(chuàng)建。 并行服務器部署事項 并行環(huán)境中的服務器實例僅需要在一臺計算機上創(chuàng)建實例。通常是安裝的第一臺計算機進行,并且在該計算機的本地磁盤上創(chuàng)建。該計算機被稱作“instance owning computer”。集群中其他的計算機不必有任何創(chuàng)建的實例。這些計算機被稱作“node(節(jié)點)”。 正如您所見,此處部署了兩種不同類型的安裝。第一種,創(chuàng)建了實例的計算機,需要安裝 DB2 Enterprise Server Edition 和創(chuàng)建本地實例的響應文件。第二種,對每一個節(jié)點來說,需要安裝 DB2 Enterprise Server Edition,同時沒有創(chuàng)建任何實例的響應文件。第二份響應文件可以簡單的從頭創(chuàng)建:刪除響應文件中有關實例的所有部分,或者,換句話說,僅保留涉及產(chǎn)品、安裝類型、組件、語言或者許可的關鍵詞。 創(chuàng)建這些響應文件的另一種方式是使用圖形安裝程序來安裝具有實例的節(jié)點。在圖形安裝期間,有一個選項可以保存響應文件,以供所有的節(jié)點使用。如果您正在部署單個集群,這通常可以使操作更加簡單。 并行環(huán)境中的響應文件安裝無法為節(jié)點之間的 rsh 訪問設置 .rhosts 文件,也不可以設置 db2nodes.cfg 文件。 創(chuàng)建部署腳本 該 腳本通常在 shell 腳本中編寫,但是任何語言都可以使用,包括 Perl、JavaTM 或者 C。這可以被簡單的看作是包裝程序處理 DB2 安裝過程中不處理的安裝和配置 DB2 的那些方面。腳本就是在目標機器上運行并作為部署過程一部分調(diào)用的文件。 第一步是決定需要執(zhí)行什么。如果已經(jīng)創(chuàng)建了完整的響應文件,該步驟就非常簡單,否則,該步驟就會相當復雜,尤其是在您沒有使用響應文件來執(zhí)行安裝時候。 在所有的示例中,我們假設 / share 是遠程文件系統(tǒng),在需要部署的所有機器上都安裝為 / share。如果沒有任何共享文件系統(tǒng)可用,則在遠程安裝文件系統(tǒng),或者編寫腳本來自動安裝和卸除文件系統(tǒng)都是可能的。(如何固定一個文件系統(tǒng)已經(jīng)超出了本文討論的范圍。) 文件系統(tǒng)可以是 NFS、AFS、DFS 或任何一種非本地文件系統(tǒng)。建議唯獨不要使用 Samba 文件系統(tǒng),原因在上面的“創(chuàng)建代碼服務器”一節(jié)中已經(jīng)給出。 DB2 Run-time Client 將用作示例產(chǎn)品,但是其步驟與所有產(chǎn)品的步驟相同。 部署響應文件安裝 這是最簡單的情況。由于產(chǎn)品定義、組件選擇和實例設置幾乎已經(jīng)由響應文件完全封裝,很多工作可以通過簡單的調(diào)用響應文件來完成: /share/rtcl/db2setup-r/share/rtcl/db2rtcl.rsp 在此,我們已經(jīng)將自定義的響應文件存放在產(chǎn)品的 /share/rtcl 目錄中。 安裝后工作 由于 Run-time Client 的正常使用還包含遠程服務器和數(shù)據(jù)庫的目錄編輯,我們還可以自動化執(zhí)行目錄編輯。我們可以使用 db2cfimp(如果我們使用 db2cfexp 按照上述操作來導出它們)來自動完成操作,也可以手動編輯目錄。例如,利用已經(jīng)創(chuàng)建的實例 db2instl 來使用 db2cfimp: su - db2instl -c ". sqllib/db2profile; db2cfimp /share/rtcl/db2inst.exp" 利用同一個已經(jīng)創(chuàng)建的實例手動編輯目錄: su - db2instl -c ". sqllib/db2profile; db2 catalog tcpip node ..." 在第二種情況下,最好將目錄編輯命令存放在另一份文件中,然后允許 DB2 命令行處理程序讀取該文件: su - db2instl -c ".sqllib/db2profile; db2 –tvf /share/rtcl/catalog.db2" 另外一份文件可以執(zhí)行設置 DB2 所需的其他操作。例如, catalog tcpip node server remoteserverhostname; catalog databasesampleatnodeserver; updatedbm cfg usingjdk_path/opt/lBMJava2-141; 服務器事項 在服務器部署中,通常需要附加命令來創(chuàng)建和設置數(shù)據(jù)庫、表空間、表,等等。至于客戶機,創(chuàng)建單個 /share/ddi/createdb. db2 腳本即可簡化部署腳本。 并行服務器事項 除了上述的服務器事項以外,在并行環(huán)境中,部署腳本必須可以按需更新 .rhosts 和 db2nodes.cfg 文件。 使用 db2_install 部署安裝 雖然該方法繞開了響應文件創(chuàng)建步驟,但是它也錯過了響應文件安裝帶來的所有方便之處。 安裝階段相當簡單: /share/rtcl/db2_install -p DB2.RTCL -n 產(chǎn)品標識符對每一種產(chǎn)品來說都是唯一的:請參考產(chǎn)品文檔,以獲取更多關于 db2_install 命令的信息,或者運行 db2_install(無任何參數(shù)),以查看產(chǎn)品清單。 如果需要其他語言支持,則部署腳本必須逐個安裝。有關如何執(zhí)行該操作的更多信息,請參見下面的“部署手動安裝”一節(jié)。 試運行階段 部署腳本現(xiàn)在還需要按需處理用戶、實例和 DAS 的創(chuàng)建。創(chuàng)建用戶是特定于操作系統(tǒng)的功能,應當參考操作系統(tǒng)指南。實例和 DAS 的創(chuàng)建將在“DB2 安裝和配置補充說明”中討論。 有關其他安裝后工作的信息,請參見上面“部署響應文件安裝”一節(jié)中的相關小節(jié)。 部署手動安裝 該方法的優(yōu)勢是,它是一種安裝的最精確方法,同時也是一種準備和調(diào)試時間最密集型的方法。因為它還是最高級的安裝,是專為了解操作系統(tǒng)封裝格式的系統(tǒng)管理員提供的,所以本文將知識水平進行了假定。 該部署腳本的第一階段是擬定 DB2 代碼本身。這是獨立于系統(tǒng)之外的,因為 DB2 使用每一種操作系統(tǒng)所固有的安裝工具。 在 AIX 上,DB2 使用 installp 命令。 在 Solaris 上,DB2 使用 pkgadd 命令。 在 HP-UX 上,DB2 使用 swinstall 命令。 在 Linux 上,DB2 使用 rpm 命令。 在該情況下成功編寫部署腳本的關鍵是:了解適用于您的操作系統(tǒng)的工具,了解哪一個軟件包包含所需的 DB2 代碼,了解安裝的順序。中級和高級 shell 腳本用戶可以在安裝介質(zhì)的 db2/platform 目錄中的 db2_install 腳本中找到該信息。 例如,要在 Linux 上安裝具有 JDBC 支持和 French 消息的精簡 Run-time 客戶機,請執(zhí)行以下命令(為簡潔起見調(diào)整命令行): rpm -ivh IBM_db2msen81 IBM_db2cliv81 IBM_db2msfr81 IBM_msFR81 IBM_cucs81 IBM_jdbc81 IBM_db2conv81 IBM_db2rtsg81 rpm 的順序與 db2_install 腳本中的順序相同。在某些系統(tǒng)中,順序是很重要的;而在其他系統(tǒng)中,將所有的軟件包放在一行中允許安裝程序按需記錄它們,以實現(xiàn)操作系統(tǒng)先決條件。 為了確定您需要安裝哪一些軟件包,請查看同一目錄中的 ComponentList.htm 文件,以獲取有關描述的完整清單。 手動安裝腳本的第二階段是試運行階段。有關該階段的更多信息,請參見上面的“使用 db2_install 部署安裝”一節(jié)中的相關小節(jié)。 部署 DB2 到目前為止,準備部署所需的所有操作都已經(jīng)完成。因為前期成本原因,這些操作僅執(zhí)行一次,而實際的部署可以快速地在數(shù)百或者數(shù)千臺計算機上執(zhí)行,而以后單獨添加額外的計算機幾乎不需要成本。 您可以部署軟件的軟件環(huán)境有很多種。但是,不同于詳細講解如何使用具體部署軟件,本文重點關注一般想法,允許您調(diào)整想法來適應部署 DB2 的軟件和環(huán)境。 部署的兩種基本樣式是 push(放)和 pull(拖)。 在 push(放)部署中,集中化位置啟動與每臺計算機的聯(lián)系。這通常適用于需要在沒有用戶操作的情況下設置很多計算機的集中 IT 部門。然而,為了實現(xiàn)該操作,必須已經(jīng)在每一臺需要“pushed(放到)”的機器上安裝和運行自動化的服務(例如 rshd、sshd 或其他部署軟件),并且這些機器必須具有可用于 IT 部門的恰當?shù)脑L問權限。 在 pull(拖)部署中,每一個安裝 DB2 的位置啟動自身與服務器的聯(lián)系,以開始安裝。通常,它是 Web 頁面、電子郵件或者其他位置中的鏈接。這通常適用于需要安裝 DB2 的計算機數(shù)量很少,或者沒有提供自動化服務可用于支持 push(放)安裝的情況。 Push 安裝示例 #! /bin/sh dst_computers="wrkstnl wrkstn2 wrkstn3" for comp in $dst_computers; do ssh -1 root $comp "mkdir /share; mount -t nfs -o ro fileserver:/bigshareddisk /share; /share/rtcl/deployment.sh; umount /share; rmdir /share" >>/var/log/deploy.$comp &done 想法是將上述代碼,或者與上述代碼非常類似的代碼存放在 shell 腳本中,例如 db2deployment.sh,您可以用來存放 DB2 安裝。 由于大多數(shù)操作已經(jīng)由部署腳本完成,所以需要 push 安裝腳本完成的操作很少。 該示例假設,在其他情況下,ssh 設置在所有工作站上,并且運行 ssh 的用戶有權訪問每一臺工作站上的 root。 Pull 安裝示例 #! /bin/sh (mkdir /share mount -t nfs -o ro fileserver:/bigshareddisk /share /share/rtcl/deployment.sh >>/share/logs/"hostname".out umount /share; rmdir /share) >>/var/log/deploy.$$ 該腳本幾乎與 push 示例中的腳本一樣。同樣,部署腳本執(zhí)行大部分的操作。由于該原因,您僅需要設置環(huán)境,以便適當?shù)挠脩艨梢砸?root 身份運行腳本。 結束語 將 DB2 部署到數(shù)百、甚至數(shù)千臺 UNIX 或者 Linux 客戶機或者服務器中,并不比部署到單臺客戶機或者服務器中困難。利用一些計劃和測試,大規(guī)模部署 DB2 就可以是一項常規(guī)管理任務。 商標 AIX、DB2、DB2 Connect、DB2 Universal Database、IBM 和 MVS 是國際商業(yè)機器公司在美國及其他國家的注冊商標。 Microsoft 和 Windows 是 Microsoft Corporation 在美國及其他國家的注冊商標。 UNIX 是 Open Group 在美國及其他國家的注冊商標。 Linux 是 Linus Torvalds 在美國及其他國家的商標。 其他公司、產(chǎn)品和服務名稱可能是其他公司的商標或服務標志。 Copyright International Business Machines Corporation, 2004. 保留所有權利。
本文出自:億恩科技【mszdt.com】 |