1、更新统计信息
--更新数据库所有表统计信息
--连接到数据库(-v选项,表示要回显命令,以下同)
db2 -v connect to DB_NAME
--查看是否收集过统计信息,什么时候更新的
db2 -v "select tbname, nleaf, nlevels, stats_time from sysibm.sysindexes"
--更新所有表统计信息
db2 -v reorgchk update statistics on table all
--再次查看统计信息状态
db2 -v "select tbname, nleaf, nlevels, stats_time from sysibm.sysindexes"
--中断会话使统计信息起作用
db2 -v terminate
--更新单表统计信息
db2 -v runstats on table TAB_NAME and indexes all
2、配置缓冲池参数,以确定缓冲池大小
--连接数据库
db2 -v connect to DB_NAME
--查看缓冲池
db2 -v select * from syscat.bufferpools
--更改默认缓冲池大小
db2 -v alter bufferpool IBMDEFAULTBP size -1
--断开数据库连接
db2 -v connect reset
--修改数据库BUFFPAGE参数
db2 -v update db cfg for dbname using BUFFPAGE bigger_value
--断开数据库连接
db2 -v terminate
3、生成快照,计算缓冲池命中率
--打开缓冲池监视开关
db2 -v update monitor switches using bufferpool on
--查看是否缓冲池见识开关是否打开
db2 -v get monitor switches
--重置监视器
db2 -v reset monitor all
-- 运行应用程序
--获取所有数据库快照,并输出到snap.out文件
db2 -v get snapshot for all databases > snap.out
--获取数据库管理器快照,并输出到snap.out文件
db2 -v get snapshot for dbm >> snap.out
--获取所有缓冲池快照,并输出到snap.out文件
db2 -v get snapshot for all bufferpools >> snap.out
--重置监视器
db2 -v reset monitor all
--断开数据库连接
db2 -v terminate
--在快照文件snap.out里查找相应指标:logical reads及physical reads
--计算缓冲区命中率
(1 - ((buffer pool data physical reads + buffer pool index physical reads) /(buffer pool data logical reads + pool index logical reads))) * 100%
4、配置日志缓冲相关参数LOGBUFSZ(默认值8*4k)
--更改参数LOGBUFSZ
db2 -v update database cfg for DB_NAME using LOGBUFSZ 256
--断开数据库连接
db2 -v terminate
5、配置应用堆大小参数APPHEAPSZ(DB2 EE为128*4K,DB2 EEE为64*4K)
--更改参数APPHEAPSZ
db2 -v update db cfg for DB_NAME using applheapsz 256
--断开数据库连接
db2 -v terminate
6、配置排序参数SORTHEAP(默认256*4k) 和 SHEAPTHRES
--修改SORTHEAP参数(数据库参数)
db2 -v update db cfg for DB_NAME using SORTHEAP a_value
--修改SHEAPTHRES参数(数据库管理器参数)
db2 -v update dbm cfg using SHEAPTHRES b_value
db2 -v terminate
7、配置代理程序参数MAXAGENTS,NUM_POOLAGENTS和NUM_INITAGENTS
--更改MAXAGENTS参数
db2 -v update dbm cfg using MAXAGENTS a_value
--更改NUM_POOLAGENTS参数
db2 -v update dbm cfg using NUM_POOLAGENTS b_value
--更改NUM_INITAGENTS参数
db2 -v update dbm cfg using NUM_INITAGENTS c_value
--断开数据库连接以使参数更改生效
db2 -v terminate
8、配置锁相关参数LOCKLIST,MAXLOCKS(百分比)及LOCKTIMEOUT(秒)
--更改参数LOCKLIST
db2 -v update db cfg for DB_NAME using LOCKLIST a_number
--更改参数MAXLOCKS
db2 -v update db cfg for DB_NAME using MAXLOCKS b_number
--更改参数LOCKTIMEOUT
db2 -v update db cfg for DB_NAME using LOCKTIMEOUT c_number
--断开数据库连接
db2 -v terminate
9、配置应用相关参数MAXAPPLS
--更改参数MAXAPPLS
db2 -v update db cfg for DB_NAME using MAXAPPLS a_number
--断开数据库连接
db2 -v terminate
10、配置页清除程序相关参数NUM_IOCLEANERS
--更改参数NUM_IOCLEANERS
db2 -v update db cfg for DB_NAME using NUM_IOCLEANERS a_number
--断开数据库连接
db2 -v terminate
9、配置按组提交相关参数MINCOMMIT(默认为1)
--更改参数MINCOMMIT
db2 -v update db cfg for DB_NAME using MINCOMMIT a_number
--断开数据库连接
db2 -v terminate
以上为DB2调优经常调整的参数及用到的语句,供大家参考,如需转载,请注明出处。