db2数据库性能优化实践

1,增大数据库缓冲池可以提高数据库性能

2,为常见查询表,常用查询where后边的条件加索引

3,对表,索引进行REORG、runstats操作

4、设置数据库参数(对性能、并发影响较大)

 内存相关设置:排序内存(SHEAPTHRES_SHR 、SORTHEAP )、包缓存、catalogcace_sz

 锁相关设置:locklist、maxlocks,设置LOCKTIMEOUT锁超时时间,防止死锁等待拖死服务器

5,通过db2top -d数据库名字查看锁升级LockEscals的情况,防止行锁升级为表锁,增加表访问等待时间。如果锁升级的数量较多,则增大locklist和maxlocks两个参数的值,实践证明两个参数不宜用默认值

6、尽量减少每次处理数据的量,防止事务日志过多记录占用系统资源,尤其分区数据库最为明显。

注意:分区数据库在处理大量数据的时候,会出现事务日志满的错误SQLCODE=-964, SQLSTATE=57011,在这种情况下调大事务日志大小和个数然后重启好像修改不会起作用,需要先将日志大小和个数先调小重启然后再调大才能生效,不知道是不是db2的一个bug。

多节点数据库调整参考脚本:

db2_all db2 update db cfg for orderdb using LOGFILSIZ 102400
db2_all db2 update db cfg for orderdb using LOGPRIMARY 40

你可能感兴趣的:(db2)