当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle捕获问题SQL解决CPU过渡消耗

Oracle
Oracle Jdbc的一些限制(10.2.0.1)
使用Instr()与decode()进行多条件组合查询
修改ORACLE的DATAFILE文件名
Oracle中向视图中插入数据
oracle中实现自动增长列
oracle同时向多表插入数据
建立与Oracle服务器连接的两种连接模式
oracle中的connect by 在sql server中实现
Oracle巧取指定记录与巧用外关联查询
如何杀死oracle死锁进程
Oracle数据直接导出到文本文件的方法
在ORACLE中实现SELECT TOP N的方法
教你用Oracle解析函数快速检查序列间隙
教你在Oracle中启动脚本跟踪存储过程
Oracle Peeking绑定变量的控制
在Oracle实例间移动SQL调整工具集
使用DBMS_METADATA包获得对象DDL
使用Oracle 10gMERGE语句更新数据行
在不同字符集的数据库之间导入数据的方法
介绍Oracle数据库去除别名的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 86 ::
收藏到网摘: n/a

正在看的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左右.

--------------------------------------------------------------------------------