关于DB2数据库的参数调优技巧

关于DB2数据库的参数调优技巧,第1张

在开始前 请关闭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/DB2.Linux的安装配置管理

作为关系型数据库技术的领导者,IBM公司在2001年将世界排名第四的Informix数据库公司纳入麾下,并将其所拥有的先进特性融入到DB2当中。下面我准备了关于IBM/DB2.Linux的安装配置管理的.文章,提供给大家参考!

1.安装IBM/DB2 V9.1 Linux版

下载得到安装文件 db2exc_912_LNX_x86.tar.gz ,解压到ext2/3分区

# cd db2exc_912_LNX_x86

# ./db2setup

(1)d出java的安装界面,install new instance

(2)使用“Typical Mode”,选择安装目录,默认为 DB2_root=/opt/ibm/db2/V9.1/

# echo DB2_root=/opt/ibm/db2/V9.1/ >>/etc/profile

(3)并默认创建 db2inst?、db2fenc?、db2adsusr? 这个几个用户最重要的是本地实例管理用户 db2inst? 其负责管理数据库实例

(4)创建Instance,然后下一步继续安装,看到successful结果,表示成功

(5) # ps -e | grep db2 应该可以看到三个不同名称的进程

(6) # tail /etc/inittab #可以看到最后一行就是启动db2的方法

fmc:2345:respawn:/opt/ibm/db2/V9.1/bin/db2fmcd #DB2 Fault Monitor Coordinator

2.配置IBM/DB2的库开发和CLI/ODBC连接

# su db2inst1

$ cd $DB2_ROOT

## 编目(catalog):

$ ./db2 catalog tcpip node remote server

$ ./db2 catalog db at node

$ ./db2 connect to user using

## 反编目(uncatalog):

$ ./db2 uncatalog db

$ ./db2 uncatalog node

3.修改,使用IBM/DB2的CLI/ODBC进行程序开发

(1)如果不想使用db2实例,而只是想使用CLI/ODBC来开发程序,可以注释 /etc/inittab 中启动db2的那一句,放弃启动IBM/DB2数据库服务。

(2)环境变量配置文件 : /home/db2inst1/sqllib/db2profile

查看 /etc/profile ,保证(添加或者修改)有以下两句

export DB2INSTANCE=db2inst1

export PATH=$DB2_ROOT/binPATH

export LD_LIBRARY_PATH=$DB2_ROOT/lib32LD_LIBRARY_PATH

(3)编目目标机器地址与ODBC的DSN的关系,CLI/ODBC 中最重要的头文件(include)和库(lib)

$DB2_ROOT/lib32 或 其联接 /home/db2inst1/sqllib/lib,其中最重要的是libdb2.so

4.数据库备份及恢复

(1).使用用户名和口令登录服务器

# db2 connect to ecm3000 user using

(2).强制停止所有应用,是异步的

# db2 force applications all

(3).将数据库备份到指定目录下

# db2 backup database to

(4).从指定目录中恢复数据库

# db2 restore database from

5.修改和卸载DB2

请先反编目()如步骤2中

# su db2inst1

$ cd $DB2_ROOT/install

$ ./db2_deinstall -a

等待结束 ...

修改该/etc/inittab 中启动db2的那一句,保证放弃启动IBM/DB2数据库服务。

查看当前连接数,sample为数据库名

db2 list applications for db sample

db2 list applications for db sample show detail

连接数据库

db2 connect to dbname user username using passwd

设置最大连接数

db2 update db cfg using MAXAPPLS number


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10017696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存