以下的文章主要是教会你如何正确的查看Oracle CPU的情况,如果你对其相关的实际操作有兴趣的话,以下的文章主要是介绍正确的查看Oracle CPU的情况,下面就是相关内容的具体描述。
发现那些SQL运行了大量的PARSE
selectsql_text,parse_calls,executionsfromv$sqlareaorderbyparse_callsdesc;
SYS的总的PARSE情况
selectname,valuefromv$sysstatwherenamelike'parsecount%';
CPU空间及繁忙情况
select*fromv$osstat;
查看每个Session的CPU利用情况:
selectss.sid,se.command,ss.valueCPU,se.username,se.program fromv$sesstatss,v$sessionse wheress.statistic#in (selectstatistic# fromv$statname wherename='CPUusedbythissession') andse.sid=ss.sid andss.sid>6orderbyCPUdesc;
比较一下哪个session的CPU使用时间最多,然后查看该Session的具体情况:
selects.sid,s.event,s.MACHINE,s.OSUSER,s.wait_time,w.seq#,q.sql_text fromv$session_waitw,v$sessions,v$processp,v$sqlareaq wheres.paddr=p.addrand s.sid=&pand s.sql_address=q.address;
占用CPU最高的10个Session及其SQL语句
selects.sid,w.wait_time,w.seconds_in_wait,w.state,w.wait_time_micro,w.time_remaining_micro,w.time_since_last_wait_micro,p.USERNAME, status,server,schemaname,osuser,machine,p.terminal,p.program,logon_time,w.event,w.wait_class,tracefile,sql_text,last_active_time fromv$session_waitw,v$sessions,v$processp,v$sqlareaq wheres.paddr=p.addrand s.sid in (selectsidfrom ( selectss.sid fromv$sesstatss,v$sessionse wheress.statistic#in ( selectstatistic#fromv$statname wherename='CPUusedbythissession') andse.sid=ss.sidandss.sid>6orderbyss.valuedesc )whererownum<11) ands.sql_address=q.address;
上述的相关内容就是对查看Oracle CPU情况的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】
- Oracle 10g中的hints调整机制详解提高Oracle SQL的执行效率的3个方案Oracle数据库的安全性管理策略的解决方案Oracle数据库的性能完全保护的4个项目Oracle密码文件的实际操作方案介绍