问题描述
开发人员报告系统运行缓慢,已经影响业务系统正常使用.请求协助诊断.
1.登陆数据库主机
使用vmstat检查,发现CPU资源已经耗尽,大量任务位于运行队列:
2.使用Top命令
观察进程CPU耗用,发现没有明显过高CPU使用的进程
3.检查进程数量
bash-2.03$ ps -ef|grep ora|wc -l
258
发现系统存在大量Oracle进程,大约在300左右,大量进程消耗了几乎所有CPU资源,而正常情况下Oracle连接数应该在100左右.
4.检查数据库
查询v$session_wait获取各进程等待事件
SQL> select sid,event,p1,p1text from v$session_wait;
发现存在大量db file scattered read及db file sequential read等待.显然全表扫描等操作成为系统最严重的性能影响因素.