某日發生資料庫當機事件, 連v$lock 都無法查詢, 所以根本找不到lock源頭,從OS層kill掉之後,開9i OEM去查....發現session在DB level還在....最後只得重啟,下次記得需作hang analyze..
sqlplus /nolog
SQL> connect / as sysdba
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug hanganalyze 3
@2012/1/4
最後發現是9.2.0.8 bug ,已上patch , 觀察中.
6243069
|
Session Marked As Killed But Continues To Consume 100% CPU
|
@2012/3 仍發生, 最後發現是內存記憶體的問題, 換掉就正常了. 也夠瞎的
--
也有可能是以下描述:
對表做alter table, drop 這樣的操作時,被鎖時,
就不能查詢v$lock
解決:
找到會話的sid後,再查詢spid
select spid from
v$session s, v$process p
where s.paddr=p.addr
and sid=xxx
where s.paddr=p.addr
and sid=xxx
再在作業系統裏用kill
kill -9 xxx
kill -9 xxx
Ref.
http://space.itpub.net/11088128/viewspace-691847
http://garydba.com/?p=412
沒有留言:
張貼留言