数据库生态圈(RDB & NoSQL & Bigdata)——专注于关系库优化(Oracle & Mysql & Postgresql & SQL Server )

https://www.cnblogs.com/lhdz_bj
http://blog.itpub.net/8484829
https://blog.csdn.net/tuning_optmization
https://www.zhihu.com/people/lhdz_bj

导航

DB2性能调优

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调优经常调整的参数及用到的语句,供大家参考,如需转载,请注明出处。

 


 


 

 

 

 

 

 

 


        


 

 


 


 

posted on 2018-03-24 11:45  lhdz_bj  阅读(1172)  评论(0编辑  收藏  举报