正在看的oracle教程是:oracle捕获问题sql解决cpu过渡消耗。本文通过实际业务系统中调整的一个案例,试图给出一个常见cpu消耗问题的一个诊断方法.大多数情况下,系统的性能问题都是由不良sql代码引起的,那么作为dba,怎样发现和解决这些sql问题就显得尤为重要.
本案例平台为unix,所以不可避免的应用了一些unix下常用的工具.如vmstat,top等.
本文适宜读者范围:中高级.
系统环境:
os: solaris8
oracle: 8.1.7.4
问题描述:
开发人员报告系统运行缓慢,已经影响业务系统正常使用.请求协助诊断.
1.登陆数据库主机
使用vmstat检查,发现cpu资源已经耗尽,大量任务位于运行队列:
2.使用top命令
观察进程cpu耗用,发现没有明显过高cpu使用的进程
3.检查进程数量
发现系统存在大量oracle进程,大约在300左右,大量进程消耗了几乎所有cpu资源,而正常情况下oracle连接数应该在100左右.