文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发OracleOracle进程导致CPU 100%具体解决步骤
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
热点TOP10
·常用数据库比较
·性能分析工具的使用
·Oracle数据库重做日志文件丢失后的恢复
·细化解析:Oracle使用的hints调整机制
·监控Oracle数据库的常用shell脚本
·ORA-01092: ORACLE 例程终止。强行断开连接
·oracle数据库 exp/imp命令详解
·解析Oracle/Oracle Forms 的多用途代码
·Oracle数据库不同版本间用exp来导数据
·细化解析:Oracle数据库后台进程的功能

Oracle进程导致CPU 100%具体解决步骤

日期:2007年10月10日 作者: 查看:[大字体 中字体 小字体]


  1:检查系统

  sar -u 5 5

  2: 看谁在用CPU

  topas

  ps -ef grep ora #检查第四列,C的大小(unit,100 per cpu)

  3:检查CPU数量

  /usr/sbin/bindprocessor -q

  lsattr El proc0

  4:两种可能:

  1: A Background (instance) process

  2: An oracle (user) process #此种可能最大。

  5: 如果是用户进程:那么高CPU的主要原因有:

  Large Queries, Procedure compilation or execution,

  Space management and Sorting

  5.1 查看每个Session的CPU利用情况:

  select ss.sid,se.command,ss.value CPU ,se.username,se.program

  from v$sesstat ss, v$session se

  where ss.statistic# in

  (select statistic#

  from v$statname

  where name = 'CPU used by this session')

  and se.sid=ss.sid

  and ss.sid>6

  order by ss.sid

  5.2: 比较上述Session

  比较一下哪个session的CPU使用时间最多,然后查看该Session的具体情况:

  select s.sid, event, wait_time, w.seq#, q.sql_text

  from v$session_wait w, v$session s, v$process p, v$sqlarea q

  where s.paddr=p.addr and

  s.sid=&p and

  s.sql_address=q.address;

  5.3:查看

  得到上述信息后,查看相应操作是否有hash joins 和 full table scans。如果有hash joins 和 full table scans那么必须创建相应的Index或者检查Index是否有效。

  另外必须检查是否有并行的查询存在和同一时刻有多个用户在执行相同的SQL语句,如果有必须关闭并行的查询和任何类型的并行提示(hints);如果查询使用intermedia数据,那么为了减少总的Index大小,必须限制使用Intermedia的Worldlist。(try restricting the wordlist that intermedia uses to help reduce the total indexsize)。

  6:注意事项

  上述方案只能根据已经运行完成的操作,对于正在执行的长时间操作只能等操作完成后才能检测得到。因此我们可以通过另外一个很好的工具来检测正在运行的长时间操作语句。v$session_longops,这个视图显示那些操作正在被运行,或者已经完成。每个process完成后会刷新本视图的信息。

  7:怎样寻找集中使用CPU的Process

  很多时候会发现有N个Process在平均分享着CPU的利用率,这种情况唯一的可能性就是这些Process在执行着相同的Package或者Query.

  这种情况:建议通过statspack,在CPU高利用率额时候运行几个快照,然后根据这些快照检查Statspack报告,检查报告中最TOP的Query。然后使用 sql_trace and tkprof 工具去跟踪一下。

  同时检查buffer cache 的命中率是否大雨95%。

  同时在报告中还需要检查一下table scans (long tables),看是否在报告生成期间有存在全表扫描。

  8:参数

  另外还有一些不是特别重要的,但是也必须关心检查的参数可能消耗CPU。

  parallel query 并行查询:

  并行查询最好用于数据仓库的环境下,那种情况任何时候只有几个用户在同时使用。在一个联机事务处理环境中,当同时许多用户去并行查询一个数据库的巨大表时候,会导致CPU的爆满。所以最好在数据库的级别关闭并行查询:设置参数如下:

  parallel_min_server = 0  parallel_max_server = 0

  parallel_automatic_tuning = false;

  在配置上述参数后,如果SQL语句中使用的并行的提示,那么还是有可能会出现并行查询的情况,所以还需要继续监视相关的SQL语句,如果有可以直接去除提示。


[1] [2] 下一页 




上一篇:正确的理解SQL Server和XML支持

下一篇:在asp.net2.0中使用存储过程

相关文章:
·解决与HTTP 500 – 内部服务器错误错误信息有关的问题
·不用重装XP系统就可以解决全部故障
·注册表已经损坏并导致WindowsXP无法启动,应该如何恢复
·笔记本电脑无线上网解决方案大比拼
·XP系统运行慢?小编自用7招解决
·Firefox 使用常见问题和解决方法
·Windows系统进程列表完全解析
·0X000000该内存不能为read的解决方法
·WindowsXP应用技巧的具体总结
·MSN Messenger无法登录的最权威解决方法
相关软件:
·保证你快速致富的七个步骤
·Effective Oracle by design(脚本)
·Oracle认证考试百宝箱V 2.0
·Oracle9i Performance Tuning
·GMAT 解决问题汇编
·从员工到老板的五个步骤
·ORACLE数据管理工具V1.0.0.6
·天使进程管理器 V3.20.1
·进程管理王 V1.54
·Oracle 1z0-501 V3 考试试题题库

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot