●必要的授權角色
在 UNIX 上,執行此程序的使用者必須具有 root 專用權。而在 Windows 上,執行此程序的使用者必須具有 Administrators 群組的成員資格。還必須要有有效的使用者名稱和密碼,才能存取管理伺服器的必要資料庫。
●開始之前
管理伺服器的資料庫必須使用 UTF8 編碼,才能處理非 ASCII 值 (例如中文字元)。
●程序
●程序
這些程序會提供範例指令。實際指令和值也許會因您的環境而不同。
- 執行下列作業,讓 DB2 7.2 版能夠使用 IBM Tivoli Monitoring for Transaction Performance 所需的已更新 Java 功能:
- 執行下列作業以建立資料庫:
- 在供管理伺服器使用的電腦上安裝 DB2 用戶端。
- 使用下列指令以建立資料庫:
db2 "create database database_name"
其中 database_name 是資料庫的名稱。範例:如果 db2Admin 是在管理伺服器上安裝 DB2 資料庫用戶端的 使用者名稱,您可以使用 db2Admin 來登入,並建立名為 itmtpDB 的資料庫 以支援管理儲存庫。db2 "create database itmtpDB"
相關資訊:在與該用戶端關聯的「DB2 實例」下建立供管理伺服器使用的資料庫。 為了建立資料庫,您可以 DB2 實例的授權使用者來登入, 或以 DB2 用戶端以其身份而安裝的。安裝 DB2 用戶端的使用者能夠存取與用戶端有關聯的所有 DB2 實例。 - (僅限雙位元組字元環境):例如, 語言環境設為中文、韓文或日文的作業系統,需要雙位元組字集。如果您的作業系統啟用單位元組字集, 則不會自動接受雙位元組字集。您必須明確地啟用資料庫,以儲存含有雙位元組字元字串的監視資訊。下列建立資料庫的指令,會啟用雙位元組字集的儲存體:
- DB2: CREATE DATABASE database_name USING CODESET UTF-8 TERRITORY US
- 執行下列作業,在 DB2 伺服器機器的作業系統上建立資料庫使用者。
- 直接在伺服器上,或從 DB2 用戶端中,建立資料庫使用者。相關資訊:資料庫使用者一詞指的是管理伺服器用於存取支援管理儲存庫之 DB2 資料庫的系統使用者帳號。範例:如果 DB2 伺服器是安裝在 Windows 電腦上, 則您可以在該機器的 DOS 提示中輸入下列指令,建立管理伺服器可用於存取管理儲存庫的資料庫使用者帳戶。 此指令範例會建立一個名為 itmtp52 的使用者,其密碼為 TIMS。 (此密碼是第二個 itmtp52項目。)
net user itmtp52 itmtp52 /add
- 直接在伺服器上,或從 DB2 用戶端中,建立資料庫使用者。
- 執行下列作業,建立並實作緩衝池:註:DB2 的預設緩衝池和頁面大小,比使用管理儲存庫的應用程式所需的最佳效能還要小。 請使用大小至少為 250 的緩衝池。
若要實作緩衝池,您必須中斷目前連接資料庫之所有應用程式的連線。- 建立大型緩衝池,不使用作業系統分頁,將大小儘可能設為最大。相關資訊:例如,若要建立大小為 250、頁面大小為 32K 的緩衝池, 請在 DB2 中輸入下列指令:
create bufferpool buffpool32k size 250 pagesize 32k
- 使用 APPLHEAPSZ 512 指令,更新 <database_name> 的資料庫配置。
- 輸入下列指令來檢視新緩衝池:
select * from syscat.bufferpools
- 使用下列指令,列出目前連接至資料庫的所有應用程式:
db2 list applications
畫面會顯示類似以下的應用程式清單:Auth ID Appl. Appl. Application ID DB #of Name Handle Name Agents -------- ---- ------ --------------------------- ---- ------ DB2INST1 java 14 *LOCAL.db2instl.000918161203 CSWA 1 DB2INST1 java 15 *LOCAL.db2instl.000918161204 CSWA 1
- 關閉連接至資料庫的所有 連線,針對目前連接的每一個應用程 式,重複執行下列指令:
db2 force application (applicationhandle)
其中 applicationhandle 是列在應用程式清單之 Appl. Handle 直欄中的應用程式處理號碼 (請參閱步驟 4d)。 - 以下列其中一種方式重新連接至資料庫:
- 如果您是以 DB2 實例的授權使用者 (資料庫以其身份而建立) 登入,請輸入類似下列的指令:
db2 "connect to databasename"
其中 databasename 是要供管理伺服器使用之資料庫的名稱。--或-- - 如果您不是以 DB2 實例的授權使用者 (資料庫以其身份而建立) 登入,請輸入類似下列的指令:
db2 "connect to databasename user InstUser using InstUserPasswd"
其中:- databasename 是要供管理伺服器使用之資料庫的名稱。
- InstUser 和 InstUserPasswd 是 DB2 實例之授權使用者(資料庫以其身份而建立) 的使用者 ID 和密碼。
顯示的資訊與下面的類似:$db2 connect to cswa Database Connection Information Database server = DB2/6000 7.1.0 SQL authorization ID = DB2INST1 Local database alias = CSWA
- 如果您是以 DB2 實例的授權使用者 (資料庫以其身份而建立) 登入,請輸入類似下列的指令:
- 建立大型緩衝池,不使用作業系統分頁,將大小儘可能設為最大。
- 執行下列作業,建立表格空間:註:下列範例程序會建立一個新的表格空間,並將其與大小為 250、頁面大小為 32K 的緩衝池產生關聯。 您必須先建立好使用者表格空間,然後才能建立系統暫存表格空間。
注意下列表格空間預估一個月的作業資料。不過,空間需求會視您的環境及您對產品的配置方式而有差異。- 使用下列指令,捨棄預設的使用者表格空間 (userspace1):
drop tablespace userspace1
- 輸入類似下列範例的指令,重建預設使用者表格空間:
create tablespace userspace1 pagesize 32 k managed by system using ('/data2/tablespace1' 250) bufferpool bp32k
- 若要建立系統暫存表格空間,請輸入類似下列範例的指令:
create temporary tablespace tempspace pagesize 32 k managed by system using ('/data2/temp32k') bufferpool bp32k
- 若要檢視變更,輸入下列指令:
db2 list tablespaces show detail
- 使用下列指令,捨棄預設的使用者表格空間 (userspace1):
- 使用下列指令,將許可權授與資料庫使用者 (管理伺服器用於存取資料庫的使用者帳戶):註:資料庫使用者必須有建立和編輯表格的權限。
db2 "grant dbadm on database to user user" db2 "grant use of tablespace tablespace to user user"
其中:- user 是資料庫使用者的使用者 ID
- tablespace 是要為管理伺服器建立的表格空間名稱。
相關資訊:這些指令會授與資料庫及表格空間的 DBADM 權限。 若要發出這些指令,您必須以獲得「DB2 實例」授權,並且用來建立資料庫的使用者登入。範例:若要建立資料庫使用者 itmtp52 以供管理伺服器使用 (如步驟 3 下的範例),並建立表格空間 userspace1 (如步驟 5 下的範例), 請使用下列指令,授與使用資料庫及表格空間的權限。db2 "grant dbadm on database to user itmtp52" db2 "grant use of tablespace userspace1 to user itmtp52"
- 選用) 您可以使用下列程序, 驗證 DB2 資料庫配置是否已最佳化。註:此範例程序會增加日誌優先項目的數目,然後開啟日誌保存功能,將配合 IBM Tivoli Monitoring for Transaction Performance 應用程式使用的資料庫配置最佳化。
- 輸入類似下列指令,以列出資料庫配置資訊:
db2 "get db cfg for databasename"
- 輸入類似下列範例的指令,增加主要日誌的數量:
db2 "update db cfg for databasename using logprimary number"
- 輸入類似下列指令,以開啟日誌保留功能:
db2 "update db cfg for databasename using logretain on"
- 列出目前連接至資料庫的所有應用程式。請使用下列指令:
db2 list applications
畫面會顯示類似以下的應用程式清單:Auth ID Appl. Appl. Application ID DB #of Name Handle Name Agents -------- ---- ------ --------------------------- ---- ------ DB2INST1 java 14 *LOCAL.db2instl.000918161203 CSWA 1 DB2INST1 java 15 *LOCAL.db2instl.000918161204 CSWA 1
- 關閉所有到資料庫的連線。為目前已連接的每一個應用程式重複下列指令:
db2 force application (applicationhandle)
其中 applicationhandle 是列在應用程式清單之 Appl. Handle 直欄中的應用程式處理號碼 (請參閱步驟 7d)。 - 製作離線備份並套用 db 日誌到捲動轉遞。輸入與下列相類似的指令:
db2 "backup db databasename to backupdirectory"
- 重複步驟 7d。
- 輸入類似下列指令,以列出資料庫配置資訊:
- 執行下列作業,設定 DB2 用戶端連線:註:若 DB2 RDBMS 是安裝在與用戶端 (管理伺服器) 不同的機器上,您必須在用戶端機器上安 裝 DB2 Client Application Enabler,並設定至資料庫的連線。相關資訊:安裝及配置 DB2 Client Application Enabler 時,請遵循這些指引:
- 請確定在系統上沒有安裝「DB2 用戶端應用程式啟用程式」(不論是完整或部份安裝)。若安裝已存在,請將它解除安裝。
- 自訂選項以選取 Java Database Connectivity (JDBC)。JDBC 驅動程式被安裝成部份的「DB2 用戶端應用程式啟動程式」安裝環境。
- 確定在選取的起始目錄中,有大約 2 MB 的可用空間以容納「DB2 用戶端應用程式啟用程式」。
- (僅限 UNIX 型系統) 執行 db2profile 檔案 (適用於 Korn 或 Bourne Shell) 或 db2cshrc 檔案 (適用於 C Shell),以便能夠執行 DB2 指令及公用程式,例如 catalog 及 connect。db2profile 和 db2cshrc 檔案位於 DB2 實例擁有者的起始目錄,該目錄在 sqllib 子目錄下面。 從每個需要使用 DB2 環境和工具的帳戶的 .profile 或 .cshrc 檔案取得適當檔案。
- (僅限 AIX) 若要驗證 RDBMS 和 DB2 用戶端的設定,請確認下列環境變數已正確設定。(若您已取得 db2profile 或 db2cshrc 檔案,那麼這些變數是正確的。)
- DB2DIR 必須指向到「DB2 用戶端應用程式啟動程式」安裝的目錄。
- DB2INSTANCE 必須設為資料庫實例名稱。這會在資料庫安裝時設定。
「DB2 用戶端應用程式啟動程式」安裝之後,必須設定到 RDBMS 伺服器和到資料庫的連通性。設定連通性的 DB2 指令是從用戶端系統所發出。即使 DB2 是在掌管管理伺服器的電腦上執行,您也必須執行這些指令。- 下列範例指令會將用戶端連接到稱為 ghost 的 RDBMS 伺服器,其具有節點名稱或別名 ims_db2 並使用埠 50000:
db2 "catalog tcpip node ims_db2 remote ghost server 50000"
- 下列範例指令會將用戶端連接到稱為 timsdev 的資料庫 (別名為 ims_dev), 此資料庫位於節點名稱或別名為 ims_db2 的伺服器上:
db2 "catalog database timsdev as ims_dev at node ims_db2"
- 執行下列作業,提供額外共用記憶體區段供 AIX 上的 DB2 連線使用:註:根據預設值,AIX 並不允許 32 位元應用程式,在執行每個處理程序時,連接至超過 11 個的共用記憶體區段,而這其中本端 DB2 連線最多只能使用 10 個。請使用 EXTSHM (延伸共用記憶體) 功能,確保有足夠數量的共用記憶體區段可供 DB2 連線使用。EXTSHM 功能在 DB 7.2 版 (安裝 DB2 UDB 7.1 版 Fix Pack 3 的結果) 或更新版本的 DB2 裡都能使用。若您未提供足夠的共用記憶體區段數量,可能會看到下列錯誤訊息:
SQL1224N 無法啟動一個資料庫代理站來為這個要求服務, 或由於資料庫系統關閉或強制命令而導致資料庫代理站 終止。SQLSTATE=55032
- 啟用 EXTSHM,指令如下:
- 在 DB2 用戶端階段作業中:export EXTSHM=ON
- 啟動 DB2 UDB 伺服器時:
export EXTSHM=ON db2set DB2ENVLIST=EXTSHM db2start
- 在 DB2 UDB EEE 上:
EXTSHM=ON export EXTSHM
您也要將這幾行新增到 sqllib/db2profile。