Oracle捕获问题SQL解决CPU过渡消耗

时间:2021-08-02 05:36:23

本文通过实际业务系统中调整的一个案例,试图给出一个常见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左右.