如何查詢占CPU高的oracle進(jìn)程
1:首先使用TOP命令傳到占用CPU高的SPID號(hào)
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
3575 oracle 1 12 0 0K 0K run 748.6H 24.98% oracle
3571 oracle 1 22 0 0K 0K sleep 706.2H 22.84% oracle
2:使用DBA賬戶登錄數(shù)據(jù)庫(kù),使用以下SQL語(yǔ)句查詢:
SELECT * FROM V$PROCESS WHERE spid=3575;查詢到SQL相關(guān)信息
3:根據(jù)以上查詢到的信息使用以下SQL查詢:
SELECT sid, program FROM V$SESSION S WHERE EXISTS(SELECT 1 FROM V$PROCESS WHERE spid=3575 AND ADDR = S.PADDR);
可以查詢到具體那個(gè)客戶端查詢一直在不斷占用ORACLE資源!
最后對(duì)這個(gè)查詢進(jìn)行處理!
4.根據(jù)SID查得SQLITPUB
select sql_textITPUB
from v$sqltext
where a.hashvalue=(select sql_hash_value
from v$session b
where b.SID='&sid')
0order by piece ASC;
根據(jù)lockwait字段可以查詢當(dāng)前正在等待的鎖的相關(guān)信息:
select * from v$lock where kaddr in (select lockwait from v$session where sid= $sid);
(sql_address,sql_hash_value),(prev_sql_addr,prev_hash_value) 根據(jù)這兩組字段, 可以查詢到當(dāng)前session正在執(zhí)行的或最近一次執(zhí)行的sql語(yǔ)句的詳細(xì)信息:
select * from v$sqltext where address = &sql_address and hash_value = &sql_hash_value;
根據(jù)PID查SQL相關(guān)信息:
select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));
根據(jù)PID查SQL語(yǔ)句
SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='&spid' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece;
得到進(jìn)程的sid號(hào):
select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));
得到session的sqltext語(yǔ)句:
select sql_text from v$sqltext_with_newlines where hash_value in (select SQL_HASH_VALUE from v$session where paddr in (select addr from v$process where spid= '&pid')) order by piece;
相關(guān)文章
Oracle數(shù)據(jù)庫(kù)刪除表空間后磁盤(pán)空間不釋放的問(wèn)題及解決
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)刪除表空間后磁盤(pán)空間不釋放的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Oracle數(shù)據(jù)更改后出錯(cuò)的解決方法
這篇文章主要介紹了Oracle數(shù)據(jù)更改后出錯(cuò)的解決方法,需要的朋友可以參考下2014-07-07利用PL/SQL從Oracle數(shù)據(jù)庫(kù)導(dǎo)出和導(dǎo)入數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了利用PL/SQL從Oracle數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)和導(dǎo)入數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03自動(dòng)備份Oracle數(shù)據(jù)庫(kù)
自動(dòng)備份Oracle數(shù)據(jù)庫(kù)...2007-03-03Navicat for oracle創(chuàng)建數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了Navicat for oracle創(chuàng)建數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Oracle 查詢存儲(chǔ)過(guò)程做橫向報(bào)表的方法
Oracle 查詢存儲(chǔ)過(guò)程做橫向報(bào)表的方法,需要的朋友可以參考一下2013-03-03Oracle查詢中OVER (PARTITION BY ..)用法
這篇文章主要介紹了Oracle查詢中OVER (PARTITION BY ..)用法,內(nèi)容和代碼大家參考一下。2017-11-11Linux ORCLE數(shù)據(jù)庫(kù)增量備份腳本
Linux下ORCLE數(shù)據(jù)庫(kù)增量備份腳本 (基礎(chǔ)篇) ,需要的朋友可以參考下。2009-11-11關(guān)于oracle中clob字段查詢慢的問(wèn)題及解決方法
最近在用oracle的過(guò)程中用到了對(duì)blob字段模糊查詢的問(wèn)題。接下來(lái)通過(guò)本文給大家分享關(guān)于oracle中clob字段查詢慢的問(wèn)題及解決方法,需要的的朋友參考下吧2017-02-02