在开始前 请关闭IBM目录服务器 将上下文切换到IBM目录服务器DB 实例拥有者 一般是ldapdb 用户 比如
在Unix系统里 输入
su ldapdb
在Windows系统里 输入
db cmdset DB INSTANCE=ldapdb
为了调节DB 参数 运行db tunings sh脚本 你可以在这里下载: // sofare ibm /ibmdl/pub/sofare/tivoli_support/misc/Security/AMeB/_am /tuning_guide_scripts tar
或者通过ftp地址
ftp://ftp sofare ibm /sofare/tivoli_support/misc/Security/AMeB/am /tuning_guide_scripts tar
Web页面需要注册用户名和密码
这个脚本的文件系统拥有者必须是DB 实例拥有者 一般就是ldapdb 用户 文件系统组应该和实例拥有者相同(一般是dbsysadm) 脚本必须在DB 实例拥有者的上下文中使用
脚本中的ibmdefaultbp和ldapbp参数控制着DB 的缓冲池 db _turnings sh脚本 设置了DB 缓冲池的建议大小 其他一些可选的设置在脚本的注释里写明了 IBM目录服务器的性能随着DB 缓冲池的增长而提高 然而在大多数情况下 通过这样的参数调节方式 你可以预见不超过 %的性能提高
DB 缓冲池是DB 缓存数据表和索引的地方 DB 用户使用索引来在查询时迅速找到该获取哪个表行项 需要更多信息 请参考IBM Directory Server Tuning Guide
显示和验证当前设置
输入如下命令来显示当前的DB 参数调节设置的结果
db get database configuration for ldapdb | \
egrep DBHEAP|SORTHEAP|MAXLOCKS|MINMIT|UTIL_HEAP_SZ|APPLHEAPSZ
db connect to ldapdb
db select bpname npages pagesize from syscat bufferpools
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 )的cli error文件或者IBM Tivoli Directory Server V (IDS v )的db cli log或者其他一些文件 在IDS v 系统中 该文件缺省目录在Solaris的/var/ldap/和AIX的/tmp中 在IDS v 和后来系统中 Solaris和AIX的缺省目录都是/var/ldap
注意db look能够在一条命令下提供关于数据库及其配置的足够多的信息 例子如下
db look 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
使用太大的缓冲池大小来恢复一个被分在系统里的数据库将会导致恢复失败 查看//publib boulder ibm /infocenter/tivihelp/v r /topic/ ibm itame doc_ /am _perftune #idtrouble来解决这个问题
如果DB 因为缓冲池过大而无法启动 请重新调节DB 参数
关于MINMIT的警告
lishixinzhi/Article/program/DB2/201311/11229
在开始之前,请停止 IBM Directory Server。将上下文切换到 IBM Directory Server DB2 实例所有者,通常为 ldapdb2 用户。
Integrity VM 的可选功能,通过该功能,您可以更改虚拟机使用的物理内存量,而无需重新引导该虚拟机。在 Integrity VM 的本发行版中,只能在HP-UXguest 虚拟机上使用动态内存。
例如,该功能允许将作为 Servicegard 节点的 guest 虚拟机用作多个 Serviceguard 程序包的备用服务器。当程序包故障切换到 guest 虚拟机时,可在故障切换之前。
之后或期间更改 guest 虚拟机的内存,使其符合程序包的要求。要使用动态内存,guest 虚拟机必须安装 guest 虚拟机管理软件。
在 VM Host 中,动态内存软件随 Integrity VM 一起提供。可使用 hpvmcreate、hpvmmodify 或 hpvmclone 命令的 -x 选项在 VM Host 上管理动态内存。
-x 选项可将各种配置参数与 guest 虚拟机(包括 guest 虚拟机的动态内存和网络管理)相关联。 表 1提供了用于动态内存的 -x 关键字的完整列表。
以上内容参考:百度百科-动态内存
不需要设置。客户端连接的时候需要这个db2的端口,这个默认是50000,也可以通过如下查看:
C:\SQLLIB97\BIN>db2 get dbm cfg | grep SVCENAME
TCP/IP Service name (SVCENAME) = db2c_DB2_01
SSL service name (SSL_SVCENAME) =
得到了服务名称db2c_DB2_01,然后到系统端口文件去查看对应的端口号:
在windows上这个文件是C:\WINDOWS\system32\drivers\etc\service
Unix和Linux上为: /etc/services
如果该端口没有设置,可以如下设置:
db2 update dbm cfg using svcename 50000
db2 terminate
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)