kill session的測試

oracle_ace發表於2007-12-26

按照目前的狀態有兩個登陸的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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章