DB2 V9配置顧問程式(六)

rheet1978發表於2008-07-01

配置顧問(AUTOCONFIGURE)命令

“配置顧問程式”,是用於為緩衝池大小、資料庫配置引數和資料庫管理器配置引數的初始值提供建議。配置顧問程式根據環境特徵(例如,CPU 速度和工作負載型別等)來生成建議的緩衝池大小和資料庫配置引數設定。可以通過使用AUTOCONFIGURE命令的 APPLY 選項來顯示或應用建議的值。配置顧問程式建議的值只是針對每個例項具有一個資料庫的情況。如果想要在多個資料庫上使用此顧問程式,則每個資料庫應該屬於一個單獨的例項。

在以往,對一個資料庫管理員(DBA)來說,最費神費力的工作是監控資料庫的執行、調整其效能、為不同的應用配置適當的效能引數。這也是資料庫管理員日常最重要的工作。通常情況下,為一個複雜的應用配置適當的效能引數將耗費資料庫管理員23天的時間,現在通過DB2 V9提供的的配置顧問(CONFIGURATION ON ADVISOR),管理員只需要按照提示回答一些簡單的問題,DB2 V9就能自動完成效能引數的配置,所需時間不過幾分鐘。這就是DB2 V9帶給我們的自主管理(SELF-MANAGING功能,也是IBM倡導的自主運算理念。DB2資料庫中的自主管理是DB2 V9非常重要的特性。使用者的資料庫使用成本中,有很大一部分用於資料庫的維護和管理,簡化了管理就意味著大大降低了資料庫的總體擁有成本(TCO)。

對於已經存在的資料庫,可以通過執行AUTOCONFIGURE命令來請求建議,也可以通過在控制中心(DB2CC)開啟“配置顧問程式”使用圖形化的方式進行配置,AUTOCONFIGURE命令的語法格式如清單10所示:


- - 清單10.AUTOCONFIGURE語法格式

>> - AUTOCONFIGURE - - + - - - - - - - - - - - - - - - - - - - - - + - - - - - >
                  |        . - - - - - - - - - - - - - - - - - - - -  . |
                  |        V                                                  | |
                  ' – USING - - input - keyword - - param – value - + - '
 
> - - APPLY - - + - DB ONLY - - + - - + - - - - - - - - - - - + - - - - - - - - - - - ><
          + - DB AND DBM - +  ' - ON CURRENT NODE - '
          ' – NONE - - - - - - - '
 

輸入引數(INPUT KEYWORD)可以是記憶體百分比(MEM_PERCENT)、工作負載型別(WORKLOAD_TYPE)、單個工作單元中的平均SQL語句數(NUM_STMTS)、每分鐘事務數(TPM)、指定資料庫管理優先順序(ADMIN_PRIORITY)、指定資料庫是否填充了資料(IS_POPULATED)、  指定與此資料庫連線的本地應用程式平均數(NUM_LOCAL_APPS)、指定與此資料庫連線的遠端應用程式平均數(NUM_REMOTE_APPS)、選擇最能反映應用程式的隔離級別(ISOLATION 和緩衝池是否可以自動調節大小(BP_RESIZEABLE)。

我們接下來簡單介紹一下這幾個引數:

1.         記憶體百分比(MEM_PERCENT):用來指定可以分配給資料庫的記憶體百分比,如果其他應用(除了作業系統以外的其他應用程式)也在這個伺服器上執行,則這個值要小於100。正在執行的所有應用程式(包括DB2)都會影響當前可用的記憶體,可選的取值範圍是1到100,預設值是25

2.         工作負載型別(WORKLOAD_TYPE):此引數指定能最好的反映資料庫的工作負載型別,配置顧問程式可以為特定型別的工作負載優化您的資料庫。如果能確定資料庫大多數情況都是用於查詢,則選擇“查詢”。如果資料庫大多數情況都是用於事務處理,則選擇“事務”。如果您不能確定,或者兩者情況都有,則選擇“混合”。簡單的說,簡單工作負載(SIMPLE WORKLOADS)往往是I/O繁忙、多事務,而複雜工作負載(COMPLEX WORKLOADS)往往是CPU繁忙、多查詢。可選的值有:SIMPLEMIXEDCOMLEX。預設值是MIXED

3.         單個工作單元中的平均SQL語句數(NUM_STMTS):此引數用來指定兩次落實之間的單個工作單元中平均的SQL語句數,該數字應能最好地反映您的資料庫。如果不能確定,可以選擇大於10個的某個值。可選的值是1到1000000。預設值是10

4.         每分鐘事務數(估計)(TPM):此引數用來估計每分鐘資料庫中執行的事務數。預設值是60

5.         指定資料庫管理優先順序(ADMIN_PRIORITY):此引數用來指定是想優化事務效能(每分鐘能處理更多事務)還是縮短資料庫恢復時間。如果不能確定或者這兩者情況對您同樣重要,可選擇“兩者”。可選擇的值有PERFORMANCE(事務效能更快、恢復較慢),RECOVERY(資料庫恢復更快、事務較慢),BOTH(兩者),預設值是兩者。

6.         指定資料庫是否填充了資料(IS_POPULATED):此引數用來指定資料庫中是否填充了資料,資料庫中的資料量會影響建議值。因此每當資料庫大小明顯地增大或減少時,都應再次執行此顧問程式。可選值YESNO,預設值是YES

7.         指定與此資料庫連線的本地應用程式平均數(NUM_LOCAL_APPS):此引數用來指定與此資料庫連線的本地應用程式平均數。注意要分配足夠的連線以確保使用者不再需要等待當前連線的使用者斷開連線。但由於分配的每個連線都需要更多的系統記憶體,所以如果分配太多連線就可能會產生資源浪費。連線的應用程式平均數等於使用者數乘以每個使用者的平均連線數。如果不確定應使用什麼值,可接受預設值。取值範圍是05000,預設值是0

8.         指定與此資料庫連線的遠端應用程式平均數(NUM_REMOTE_APPS):此引數用來指定與此資料庫連線的遠端應用程式平均數。注意要分配足夠的連線以確保使用者不再需要等待當前連線的使用者斷開連線。但由於分配的每個連線都需要更多的系統記憶體,所以如果分配太多連線就可能會產生資源浪費。連線的應用程式平均數等於使用者數乘以每個使用者的平均連線數。如果不確定應使用什麼值,可接受預設值。取值範圍是05000,預設值是10

9.         選擇最能反映應用程式的隔離級別(ISOLATION):此引數用來指定最能反映所有應用程式的隔離級別,就是在所有應用程式中使用最頻繁的那個隔離級別在這裡指定一下。在資料庫上執行的每個應用程式都可以有不同的隔離級別。該級別確定使用者讀取或更改資料時的鎖定行數和鎖定持續時間。不要選擇建立的鎖定數多於需要數的隔離級別,因為每個附加鎖定都需要更多的記憶體,另外,鎖定級別過高,會影響應用程式的併發性。可選擇的值有RRRSCSUR,預設值是RRRR REPEATABLE READ)是可重複讀,需要長期鎖定,一般會上表級鎖;RSREAD STABLILITY)是值讀穩定性,很少長期鎖定,一般會對結果集上鎖;CSCURSOR STABILITY)是值遊標穩定性,很多短期鎖定,一般對檢索到的當前行上行級鎖;URUNCOMMITTED READ)是值未落實讀,無鎖定。

10.     緩衝池是否可以自動調節大小(BP_RESIZEABLE):此引數用來指定緩衝池是否可以自動調節大小,在DB2 V9中引入了自動自調整記憶體功能,如果建立的BUFFERPOOL指定了AUTOMATIC屬性,則緩衝池就可以自動調節大小,當需要更多的記憶體時,就從資料庫共享記憶體等其他地方擠佔記憶體,當不需要太多記憶體時,就會釋放掉多餘的記憶體。如果DB2是安裝在WINDOWSAIX上,指定了自動調節大小的緩衝池還可以和作業系統互相擠佔記憶體。可選的值有YESNO,預設值是YES

 

APPLY選項可以選擇的配置引數值分別是無值適用(NONE)、只有資料庫配置和緩衝池適用(DB ONLY)、所有引數及其值都適用(DB AND DBM),每個引數的具體含義如下:

1.         無值適用(NONE

此引數值表示本次執行的AUTOCONFIGURE命令,只根據輸入引數值顯示建議變化的值,但是不應用他們。如果覺得建議值可行,可以通過手工的方式進行更新,比如,對DBM引數進行更新,可以在DB2CC控制中心點例項右鍵選擇“配置引數”,通過圖形化的方式進行更改,也可以在DB2CLP視窗中,用UPDATE DB CFG命令進行更改。

2.         只有資料庫配置和緩衝池適用(DB ONLY

此引數值表示本次執行的AUTOCONFIGURE命令,將分別基於當前的資料庫管理器配置引數和輸入引數值,顯示資料庫配置引數和緩衝池設定的建議值,並應用這些建議值到資料庫配置引數和緩衝池設定中。

3.         所有引數及其值都適用(DB AND DBM

此引數值表示本次執行的AUTOCONFIGURE命令,根據輸入引數值顯示並應用對資料庫管理器配置引數、資料庫配置引數以及緩衝池設定的建議值。

 

此選項還可以指定ON CURRENT NODE。在分割槽資料庫環境中(DPF),配置顧問程式預設情況下將更新所有節點的資料庫配置引數。如果執行配置顧問程式時指定了ON CURRENT NODE選項,則將只把資料庫配置引數建議值應用到當前(CONNECTION)節點。緩衝池總是被應用到系統目錄中。因此,所有節點都會被影響。ON CURRENT NODE選項不會影響緩衝池建議值。

             

       即使為建立資料庫(CREATE DATABASE)請求自動啟用了配置顧問程式,但是,只要您願意,仍然可以特地執行配置顧問程式,以便應用資料庫管理器配置建議值。如果對建立資料庫(CREATE DATABASE)請求禁用了配置顧問程式,則以後可以附帶給定的選項來手工執行它。

       如果系統被分成了多個邏輯分割槽(LOGICAL PARTITIONS),那麼記憶體百分比(MEM_PERCENT)引數指定的百分比將影響所有邏輯分割槽用到的記憶體。舉個例子,如果指定DB2使用系統25%的記憶體,將不管存在多少個邏輯分割槽,都將分配總記憶體的25%。但是資料庫配置引數推薦值將只為一個邏輯分割槽做調整。

配置顧問程式建議的值只是針對每個例項具有一個資料庫的情況。如果想要在多個資料庫上使用此顧問程式,則每個資料庫應該屬於一個單獨的例項。當這個資料庫是這個系統中唯一活動的資料庫,配置顧問命令為當前連線的資料庫產生配置引數建議值。如果當前系統中存在多個活動的資料庫(不在一個例項中),則記憶體百分比(MEM_PERCENT)引數將隻影響當前連線資料庫的共享記憶體,也就是說推薦的資料庫引數值只是當前連線資料庫的,和另外的活動資料庫沒有關係。舉個例子,如果整個DB2資料庫使用系統80%的記憶體,而且系統中存在兩個活動的資料庫平均共享這些資源,則將只指定40%(80%被平均分給兩個資料庫)給記憶體百分比(MEM_PERCENT)引數。當直接通過AUTOCONFIGURE命令呼叫配置顧問程式時,登錄檔變數DB2_ENABLE_AUTOCONFIG_DEFAULT的值將被忽略。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-366498/,如需轉載,請註明出處,否則將追究法律責任。

相關文章