DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1378|回复: 0
打印 上一主题 下一主题

[待整理] 关于DB2数据库的参数调优技巧

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 14:55:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在开始前,请关闭IBM目录服务器。将上下文切换到IBM目录服务器DB2实例拥有者,一般是ldapdb2用户。 比如:  1、在Unix系统里,输入:
  su - ldapdb2
  2、在Windows系统里,输入:
  db2cmd
  set DB2INSTANCE=ldapdb2
  为了调节DB2参数,运行db2-tunings.sh脚本,你可以在这里下载:
  或者通过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进程在运行,它将阻止服务器的部分功能。所有缓存的搜索看起来反应正常。其他的搜索将会简单的变为无结果或者出现错误信息。恢复功能将会重启IBM目录服务器。因此最好是在调节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的值将会导致更新操作的超时,并且有可能影响更新的速度。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-15 21:27 , 耗时 0.091350 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表