關于DB2數據庫的參數調優技巧

發表于:2008-02-03來源:作者:點擊數: 標簽:
在開始前,請關閉IBM目錄 服務器 。將上下文切換到IBM目錄服務器DB2實例擁有者,一般是ldapdb2用戶。 比如: 1、在 Unix 系統里,輸入: su - ldapdb2 2、在 Windows 系統里,輸入: db2cmd set DB2INSTANCE=ldapdb2 為了調節DB2參數,運行db2-tunings.sh腳本
在開始前,請關閉IBM目錄服務器。將上下文切換到IBM目錄服務器DB2實例擁有者,一般是ldapdb2用戶。 比如:

  1、在Unix系統里,輸入:

  su - ldapdb2

  2、在Windows系統里,輸入:

  db2cmd
  set DB2INSTANCE=ldapdb2

  為了調節DB2參數,運行db2-tunings.sh腳本,你可以在這里下載: http://www3.software.ibm.com/ibmdl
/pub/software/tivoli_support/misc/Security/AMeB/_
am5.1/tuning_guide_scripts.tar

  或者通過ftp地址:

  ftp://ftp.software.ibm.com
/software/tivoli_support/misc/Security/AMeB/am5.1/tuning_guide_scripts.tar

  Web頁面需要注冊用戶名和密碼。

  這個腳本的文件系統擁有者必須是DB2實例擁有者,一般就是ldapdb2用戶。文件系統組應該和實例擁有者相同(一般是dbsysadm)。腳本必須在DB2實例擁有者的上下文中使用。

  腳本中的ibmdefaultbp和ldapbp參數控制著DB2的緩沖池。db2_turnings.sh腳本,設置了DB2緩沖池的建議大小。其他一些可選的設置在腳本的注釋里寫明了。IBM目錄服務器的性能隨著DB2緩沖池的增長而提高。然而在大多數情況下,通過這樣的參數調節方式,你可以預見不超過10%的性能提高。

  DB2緩沖池是DB2緩存數據表和索引的地方。DB2用戶使用索引來在查詢時迅速找到該獲取哪個表行項。需要更多信息,請參考IBM Directory Server Tuning Guide。

  顯示和驗證當前設置

  輸入如下命令來顯示當前的DB2參數調節設置的結果:

  db2 get database configuration for ldapdb2 | \

  egrep 'DBHEAP|SORTHEAP|MAXLOCKS|MINCOMMIT|UTIL_HEAP_SZ|APPLHEAPSZ'

  db2 connect to ldapdb2

  db2 "select bpname,npages,pagesize from syscat.bufferpools"

  db2 terminate

  如果某個堆配置參數過低,就將出現一些功能性的問題。輸入如下命令來顯示當前的堆參數設置:

  db2 get db cfg for ldapdb2 | grep HEAP

  下面是一個使用了推薦值的多種堆參數的輸出例子顯示:

  Database heap (4KB) (DBHEAP) = 1200

  Utilities heap size (4KB) (UTIL_HEAP_SZ) = 5000

  Max appl. control heap size (4KB) (APP_CTL_HEAP_SZ) = 128

  Sort list heap (4KB) (SORTHEAP) = 2500

  SQL statement heap (4KB) (STMTHEAP) = 2048

  Default application heap (4KB) (APPLHEAPSZ) = 2048

  Statistics heap size (4KB ) (STAT_HEAP_SZ) = 4384

  如果一個堆參數小于最小值,輸入如下命令將其增大到最小值:

  db2 update db cfg for ldapdb2 using parm_name parm_value

  這里parm_name是上文輸出中的第三欄的字樣(無括號),parm_value是最后一欄的值。

  如果堆參數設置的過高或者過低,IBM的目錄服務器都會以失效來提示出現了問題。在這種情況下,需要查看諸如IBM Directory Server V4.1(IDS 4.1)的cli.error文件或者IBM Tivoli Directory Server V5.2(IDS v5.2)的db2cli.log或者其他一些文件。在IDS v4.1系統中,該文件缺省目錄在Solaris的/var/ldap/和AIX的/tmp中。在IDS v5.1和后來系統中,Solaris和AIX的缺省目錄都是/var/ldap。

  注意db2look能夠在一條命令下提供關于數據庫及其配置的足夠多的信息。例子如下:

  db2look -d ldapdb2 -u ldapdb2 -p -o output_file

  output_file是存儲結果的文件位置。

  關于IBM目錄服務器運行的警告

  DB2參數調節使用了db2 terminate。如果當該命令發出,IBM目錄服務器slapd或ibmslapd進程在運行,它將阻止服務器的部分功能。所有緩存的搜索看起來反應正常。其他的搜索將會簡單的變為無結果或者出現錯誤信息?;謴凸δ軐貑BM目錄服務器。因此最好是在調節DB2參數時關閉IBM目錄服務器。

  關于緩沖池內存使用的警告

  如果任何的緩沖池被設置過高,DB2將會因為缺少足夠內存而無法啟動。如果出現該問題將會有一個核心轉儲的文件,但是通常沒有錯誤信息。

  在AIX系統里,系統錯誤日志將會報告一個內存分配失敗。查看這個日志請輸入:

  errpt -a | more

  使用太大的緩沖池大小來恢復一個被分在系統里的數據庫將會導致恢復失敗。查看http://publib.boulder.ibm.com/infocenter/tivihelp/
v2r1/topic/com.ibm.itame3.doc_5.1/am51_perftune116.htm#idtrouble來解決這個問題。

  如果DB2因為緩沖池過大而無法啟動,請重新調節DB2參數。

  關于MINCOMMIT的警告

  不要設置MINCOMMIT為1以外的數。最新的db2_tunings.sh腳本正確的設置了該值為1。以前的版本均設置為25。設置為非1的值將會導致更新操作的超時,并且有可能影響更新的速度。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97