輕鬆接觸Oracle資料庫中的Kill session
問:當一個session被kill掉以 後,該session的 paddr被修改,如果有多個session被kill,那麼多個session的paddr都會被更改為相同的程式地址,在這種情況下,資源是無法釋放的,我選擇了 查詢spid,在作業系統級來kill這些程式。但是由於此時v$session.paddr已經改變,我已經無法透過v$session和v$process關聯來獲得 spid,那還可以怎麼辦呢?
答:具體示例如下:
現在我們獲得了程式地址,就可以在v$process中找到spid,然後可以使用Kill或者orakill在系統級來殺掉這些程式。
當在Oracle中kill session以後, Oracle只是簡單的把相關session的paddr 指向同一個虛擬地址.
此時v$process和v$session失去關聯,程式就此中斷,然後Oracle就等待PMON去清除這些Session.所以通常等待一個被標記為 Killed的Session退 出需要花費很長的時間,如果此時被Kill的process,重新嘗試執行任務,那麼馬上會收到程式中斷的提示,process退出,此時Oracle會立即啟動 PMON 來清除該session。
ps:
select * from v$process where addr in (
Select p.addr From v$process p Where pid <> 1
minus
select s.paddr from v$session s
)
答:具體示例如下:
現在我們獲得了程式地址,就可以在v$process中找到spid,然後可以使用Kill或者orakill在系統級來殺掉這些程式。
當在Oracle中kill session以後, Oracle只是簡單的把相關session的paddr 指向同一個虛擬地址.
此時v$process和v$session失去關聯,程式就此中斷,然後Oracle就等待PMON去清除這些Session.所以通常等待一個被標記為 Killed的Session退 出需要花費很長的時間,如果此時被Kill的process,重新嘗試執行任務,那麼馬上會收到程式中斷的提示,process退出,此時Oracle會立即啟動 PMON 來清除該session。
ps:
select * from v$process where addr in (
Select p.addr From v$process p Where pid <> 1
minus
select s.paddr from v$session s
)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11411056/viewspace-733434/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 帶你輕鬆接觸”DB2″資料庫中的資料型別DB2資料庫資料型別
- Oracle資料庫之初步接觸Oracle資料庫
- Oracle中Kill sessionOracleSession
- Oracle中Kill session的研究OracleSession
- 帶你輕鬆接觸Oracle執行計劃的相關概念Oracle
- Oracle中Kill session [轉]OracleSession
- Oracle中Kill session的研究 for oracle -- 轉OracleSession
- 大話Oracle中的kill sessionOracleSession
- 有望在專案中接觸國產資料庫資料庫
- 新接觸oracle資料庫需要了解的東西Oracle資料庫
- Oracle kill sessionOracleSession
- 【kill session】Oracle 徹底 kill session(轉載)SessionOracle
- 資料庫日誌中Immediate Kill Session錯誤解決方法資料庫Session
- Oracle kill session scriptOracleSession
- oracle_kill_sessionOracleSession
- Oracle批量kill sessionOracleSession
- Oracle中的Session kill不釋放問題OracleSession
- 【資料庫設計—接觸真實的的你】資料庫
- Oracle 徹底 kill sessionOracleSession
- 新霸哥帶你輕鬆玩轉Oracle資料庫Oracle資料庫
- 5分鐘,輕鬆搞定Oracle資料庫等保測評Oracle資料庫
- 非常規方法,輕鬆應對Oracle資料庫危急異常Oracle資料庫
- 【會話】Oracle kill session系列會話OracleSession
- 掌握BeanShell,輕鬆處理jmeter中的資料BeanJMeter
- kill sessionSession
- 輕鬆實現session的mysql處理 (轉)SessionMySql
- Oracle kill session相關問題(上)OracleSession
- Oracle kill session相關問題(下)OracleSession
- Session儲存到指定資料庫中Session資料庫
- 10個教程教你輕鬆備份MySQL資料庫MySql資料庫
- awk -- kill sessionSession
- kill session的學問Session
- kill session的測試Session
- 輕鬆篡改WebSocket資料包Web
- 輕鬆地將PHP會話儲存在MySQL資料庫PHP會話MySql資料庫
- 使用ADO.NET輕鬆操縱資料庫(一)資料庫
- 使用ADO.NET輕鬆操縱資料庫(二)資料庫
- Alter system kill session and ORA-00031: session marked for killSession