在開始前請關閉IBM目錄服務器將上下文切換到IBM目錄服務器DB實例擁有者一般是ldapdb用戶 比如
在Unix系統裡輸入
su ldapdb
在Windows系統裡輸入
dbcmd
set DBINSTANCE=ldapdb
為了調節DB參數運行dbtuningssh腳本你可以在這裡下載: http://wwwsoftwareibmcom/ibmdl
/pub/software/tivoli_support/misc/Security/AMeB/_
am/tuning_guide_scriptstar
或者通過ftp地址
ftp://ftpsoftwareibmcom
/software/tivoli_support/misc/Security/AMeB/am/tuning_guide_scriptstar
Web頁面需要注冊用戶名和密碼
這個腳本的文件系統擁有者必須是DB實例擁有者一般就是ldapdb用戶文件系統組應該和實例擁有者相同(一般是dbsysadm)腳本必須在DB實例擁有者的上下文中使用
腳本中的ibmdefaultbp和ldapbp參數控制著DB的緩沖池db_turningssh腳本設置了DB緩沖池的建議大小其他一些可選的設置在腳本的注釋裡寫明了IBM目錄服務器的性能隨著DB緩沖池的增長而提高然而在大多數情況下通過這樣的參數調節方式你可以預見不超過%的性能提高
DB緩沖池是DB緩存數據表和索引的地方DB用戶使用索引來在查詢時迅速找到該獲取哪個表行項需要更多信息請參考IBM Directory Server Tuning Guide
顯示和驗證當前設置
輸入如下命令來顯示當前的DB參數調節設置的結果
db get database configuration for ldapdb | \
egrep DBHEAP|SORTHEAP|MAXLOCKS|MINCOMMIT|UTIL_HEAP_SZ|APPLHEAPSZ
db connect to ldapdb
db select bpnamenpagespagesize from syscatbufferpools
db terminate
如果某個堆配置參數過低就將出現一些功能性的問題輸入如下命令來顯示當前的堆參數設置
db get db cfg for ldapdb | grep HEAP
下面是一個使用了推薦值的多種堆參數的輸出例子顯示
Database heap (KB) (DBHEAP) =
Utilities heap size (KB) (UTIL_HEAP_SZ) =
Max appl control heap size (KB) (APP_CTL_HEAP_SZ) =
Sort list heap (KB) (SORTHEAP) =
SQL statement heap (KB) (STMTHEAP) =
Default application heap (KB) (APPLHEAPSZ) =
Statistics heap size (KB ) (STAT_HEAP_SZ) =
如果一個堆參數小於最小值輸入如下命令將其增大到最小值
db update db cfg for ldapdb using parm_name parm_value
這裡parm_name是上文輸出中的第三欄的字樣(無括號)parm_value是最後一欄的值
如果堆參數設置的過高或者過低IBM的目錄服務器都會以失效來提示出現了問題在這種情況下需要查看諸如IBM Directory Server V(IDS )的clierror文件或者IBM Tivoli Directory Server V(IDS v)的dbclilog或者其他一些文件在IDS v系統中該文件缺省目錄在Solaris的/var/ldap/和AIX的/tmp中在IDS v和後來系統中Solaris和AIX的缺省目錄都是/var/ldap
注意dblook能夠在一條命令下提供關於數據庫及其配置的足夠多的信息例子如下
dblook d ldapdb u ldapdb p o output_file
output_file是存儲結果的文件位置
關於IBM目錄服務器運行的警告
DB參數調節使用了db terminate如果當該命令發出IBM目錄服務器slapd或ibmslapd進程在運行它將阻止服務器的部分功能所有緩存的搜索看起來反應正常其他的搜索將會簡單的變為無結果或者出現錯誤信息恢復功能將會重啟IBM目錄服務器因此最好是在調節DB參數時關閉IBM目錄服務器
關於緩沖池內存使用的警告
如果任何的緩沖池被設置過高DB將會因為缺少足夠內存而無法啟動如果出現該問題將會有一個核心轉儲的文件但是通常沒有錯誤信息
在AIX系統裡系統錯誤日志將會報告一個內存分配失敗查看這個日志請輸入
errpt a | more
使用太大的緩沖池大小來恢復一個被分在系統裡的數據庫將會導致恢復失敗查看http://publibboulderibmcom/infocenter/tivihelp/
vr/topic/comibmitamedoc_/am_perftunehtm#idtrouble來解決這個問題
如果DB因為緩沖池過大而無法啟動請重新調節DB參數
關於MINCOMMIT的警告
不要設置MINCOMMIT為以外的數最新的db_tuningssh腳本正確的設置了該值為以前的版本均設置為設置為非的值將會導致更新操作的超時並且有可能影響更新的速度
From:http://tw.wingwit.com/Article/program/DB2/201311/11229.html