kill session的測試
按照目前的狀態有兩個登陸的session,username都是hujinpei.
SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
SADDR SID SERIAL# PADDR USERNAME STATUS
-------- ---------- ---------- -------- ------------------------------ --------
676440DC 9 19 67618FE8 SYS ACTIVE
67645D2C 12 262 67618818 HUJINPEI INACTIVE
6764669C 13 49 67618C00 HUJINPEI INACTIVE
我們嘗試kill其中一個
SQL> alter system kill session '12,262';
系統已更改。
此時我們發現PADDR已經改成一個虛擬地址了
SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
SADDR SID SERIAL# PADDR USERNAME STATUS
-------- ---------- ---------- -------- ------------------------------ --------
676440DC 9 19 67618FE8 SYS ACTIVE
67645D2C 12 262 6763AD64 HUJINPEI KILLED
6764669C 13 49 67618C00 HUJINPEI INACTIVE
緊接著我們在kill第二個session
SQL> alter system kill session '13,49';
系統已更改。
SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
SADDR SID SERIAL# PADDR USERNAME STATUS
-------- ---------- ---------- -------- ------------------------------ --------
676440DC 9 19 67618FE8 SYS ACTIVE
67645D2C 12 262 6763AD64 HUJINPEI KILLED
6764669C 13 49 6763AD64 HUJINPEI KILLED
我們看到了兩個session擁有了同樣的虛擬地址。
其實只要其中兩個session,有一個touch了原來的會話,被killed的session就會被pmon回收,但是如果我們想按照原來的paddr來kill程式怎麼辦呢?因為先前session的PADDR已經被修改了。
可以這樣:
SQL> select p.addr from v$process p where pid <> 1
2 minus
3 select s.paddr from v$session s;
ADDR
--------
67618818
根據這個addr我們就可以查spid了,來kill程式了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-6241/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- kill sessionSession
- 【kill session】Oracle 徹底 kill session(轉載)SessionOracle
- awk -- kill sessionSession
- Oracle kill sessionOracleSession
- kill session的學問Session
- Alter system kill session and ORA-00031: session marked for killSession
- session測試Session
- disconnect session和kill session的區別Session
- mysql批次kill sessionMySqlSession
- alter system kill sessionSession
- Oracle kill session scriptOracleSession
- oracle_kill_sessionOracleSession
- KILL SESSION 相關Session
- Oracle中Kill sessionOracleSession
- Oracle批量kill sessionOracleSession
- Oracle中Kill session的研究OracleSession
- disconnect session和kill session的區別 轉Session
- 大話Oracle中的kill sessionOracleSession
- 無腦批量kill sessionSession
- Oracle 徹底 kill sessionOracleSession
- 表鎖定,kill sessionSession
- Oracle中Kill session [轉]OracleSession
- 要 kill session 例子,session多,報錯如下Session
- Oracle中Kill session的研究 for oracle -- 轉OracleSession
- 【會話】Oracle kill session系列會話OracleSession
- kill session V$SESSION標記為KILLED 的2種情況Session
- read by other session 測試Session
- 批次kill session實現指令碼Session指令碼
- alter system kill session 不成功Session
- 定時kill長事務指令碼kill_long_session.sh指令碼Session
- 關於oracle session的簡單測試OracleSession
- Oracle中的Session kill不釋放問題OracleSession
- 批量kill殺死某些會話session的plsql會話SessionSQL
- Oracle kill session相關問題(上)OracleSession
- Oracle kill session相關問題(下)OracleSession
- OB運維 | 連線 kill 中的 session_id運維Session
- windows下處理kill session不被釋放的鎖WindowsSession
- ALTER SYSTEM KILL SESSION這麼沒力?(轉)Session