你需要查它当前的等待事件是什么。 SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT FROM gv$sqlarea a, gv$session b WHERE a.SQL_ID = b.SQL_ID
执行后的结果为: SQL> SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT FROM gv$sqlarea a, gv$session b WHERE a.SQL_ID = b.SQL_ID;EVENT -------------------------------------------------------------------------------- SID SERIAL# SQL_ID ELAPSED_TIME ---------- ---------- -------------------------- ------------ SQL_TEXT -------------------------------------------------------------------------------- SQL_FULLTEXT -------------------------------------------------------------------------------- SQL*Net message from client 124 92 8t8skhfa5hj38 124428 SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FU LLTEXT FROM gv$sqlarea a, gv$session b WHERE a.SQL_ID = b.SQL_ID SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FUEVENT -------------------------------------------------------------------------------- SID SERIAL# SQL_ID ELAPSED_TIME ---------- ---------- -------------------------- ------------ SQL_TEXT -------------------------------------------------------------------------------- SQL_FULLTEXT --------------------------------------------------------------------------------wait for unread message on broadcast channel 137 3 2b064ybzkwf1y 157767 BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END; BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;EVENT -------------------------------------------------------------------------------- SID SERIAL# SQL_ID ELAPSED_TIME ---------- ---------- -------------------------- ------------ SQL_TEXT -------------------------------------------------------------------------------- SQL_FULLTEXT -------------------------------------------------------------------------------- 不过小弟是oracle的初学者,看的还不太明白阿!还望大侠们不吝赐教!
上述的执行结果是在我创建表空间时得到的,此时cpu的使用率为100%
上述的执行结果是正在创建表空间时执行SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT FROM gv$sqlarea a, gv$session b WHERE a.SQL_ID = b.SQL_ID 得到的结果,此时cpu的使用率为100%
SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT
FROM gv$sqlarea a, gv$session b
WHERE a.SQL_ID = b.SQL_ID
SQL> SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT FROM gv$sqlarea a, gv$session b WHERE a.SQL_ID = b.SQL_ID;EVENT
--------------------------------------------------------------------------------
SID SERIAL# SQL_ID ELAPSED_TIME
---------- ---------- -------------------------- ------------
SQL_TEXT
--------------------------------------------------------------------------------
SQL_FULLTEXT
--------------------------------------------------------------------------------
SQL*Net message from client
124 92 8t8skhfa5hj38 124428
SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FU
LLTEXT FROM gv$sqlarea a, gv$session b WHERE a.SQL_ID = b.SQL_ID
SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FUEVENT
--------------------------------------------------------------------------------
SID SERIAL# SQL_ID ELAPSED_TIME
---------- ---------- -------------------------- ------------
SQL_TEXT
--------------------------------------------------------------------------------
SQL_FULLTEXT
--------------------------------------------------------------------------------wait for unread message on broadcast channel
137 3 2b064ybzkwf1y 157767
BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;EVENT
--------------------------------------------------------------------------------
SID SERIAL# SQL_ID ELAPSED_TIME
---------- ---------- -------------------------- ------------
SQL_TEXT
--------------------------------------------------------------------------------
SQL_FULLTEXT
--------------------------------------------------------------------------------
不过小弟是oracle的初学者,看的还不太明白阿!还望大侠们不吝赐教!
FROM gv$sqlarea a, gv$session b
WHERE a.SQL_ID = b.SQL_ID
得到的结果,此时cpu的使用率为100%