请教一个问题,Oracle m000进程,总是100%cpu的跑
发布网友
发布时间:2022-05-06 01:26
我来回答
共3个回答
热心网友
时间:2022-05-06 02:55
topas/top 看下是不是oracle进程占用的cpu。
然后查看下oracle数据库中都在跑哪些语句。
多数都是效率较差的sql语句导致cpu使用率过高的,一般通过优化sql即可解决。
可用如下语句查看哪些执行时间较长的sql:
Select b.USERNAME,
b.SID,
a.SQL_ID,
a.SQL_TEXT,
a.sql_fulltext,
b.EVENT,
a.executions,
-- trunc(((decode(a.EXECUTIONS,0,0,a.cpu_time / a.executions)) / 10000)) c_time, ---单位零点秒
trunc(((decode(a.EXECUTIONS,0,0,a.ELAPSED_TIME / a.executions)) / 10000)) e_time,
--trunc(cpu_time/10000) cpu_time,
trunc(a.ELAPSED_TIME/10000) ELAPSED_TIME ,
a.DISK_READS,
a.BUFFER_GETS,
b.MACHINE,
b.PROGRAM
From v$sqlarea a, v$session b
Where executions > =0
And b.status = 'ACTIVE'
and a.SQL_ID = b.SQL_ID
-- and b.USERNAME='DB_WTDZ'
-- and trunc(((a.cpu_time / a.executions) / 1000000))>5
Order By e_time desc
热心网友
时间:2022-05-06 04:13
你的CPU差的话肯定跑满cup。