Oracle SQL高版本(high version count)引起性能故障处理
Oracle SQL高版本(high version count)引起性能故障处理
用户报告前台业务响应缓慢,登陆至数据库获取awr报告。kill掉相关会话后系统恢复,杀会话可参考metalink id 786507.1Load Profile 除了Rollback per transaction %比较高之外,达到了95%。其他指标似乎正常。
于是进一步查看事务回滚相关信息,可以看到每秒事务回滚数(transaction rollbacks)只有145.13,远远小于user rollbacks (2,454.12)
Statistic Total per Second per Trans
rollback changes - undo records applied 830,757 688.73 0.27
rollbacks only - consistent read gets 152,722 126.61 0.05
transaction rollbacks 175,061 145.13 0.06
transaction tables consistent read rollbacks 322 0.27 0.00
transaction tables consistent reads - undo records applied 96,665 80.14 0.03
user commits 168,522 139.71 0.05
user rollbacks 2,960,222 2,454.12 0.95
这里需要注意的是在分布式事务中,如采用dblink获取数据,不论用户发出commit或者rollback,在会话统计中transaction rollbacks基数都会增加。即commit或者rollback一次
transaction rollbacks都会加1.
当用户发出rollback命令,不论有无事务user rollbacks都会增加。从数值上来看
Rollback per transaction %应该等于user rollbacks/(user commits+user rollbacks),所以回滚率高应该不会是引起性能问题的主要原因。
|
评论暂时关闭