快速找到数据库致慢的原因

来源:互联网 发布:徽商银行待遇知乎 编辑:程序博客网 时间:2024/04/28 06:44
快速找到数据库致慢的原因  

lcm_0090828在itpub上发了贴子:发觉数据库很慢时,如果不用分析工具如statspack等,如何快速找出原因?
lcm_0090828给出自己常用的checklist:
1. 检查表空间资源
2. 归档是否正常(归档空间满时,会等待归档,之后用户进程就死掉了)
3. 检查alert 信息
4. 用vmstat, top命令看看系统i/o, cpu的繁忙程度,以及哪个进程在消耗资源,结合v$process, v$session, v$sqlarea 等视图查找出终端机器,以及其使用的sql 语句等。
5. 有没有死锁
6. 有时用户进程运行的程序会报错,就根据错误提示寻找根源及解决办法,可能是初始化参数设置不合理。


这个是一个方法论的贴子,从它的回复可以看出大家常用的性能调优方法,一般都是从wait events入手,根据wait events表现的特征,然后从最可能的方向去查证,这的确是一个很好的因果关系,不过偶一向都不如此。

偶一直比较喜欢最直接的方式,就是用sql直接去找原因,如果从v$sqlarea中找不到想要的,才会从wait events去求证,有些sql很快就结束了,如果从wait events上去求证,即是看到了特征,然后去查v$sqlarea时可能该sql已经结束了。。。

 
原创粉丝点击