作者kingoface (Vincent)
看板Database
標題[SQL ] 如何刪除v$session的特定session(oracle)
時間Tue Jun 4 15:02:12 2013
各位先進好!
狀況是這樣的,小弟是Oracle的新手.
新到剛剛可以用sys連線,
看到很多張資料表....結束!
我想要在v$session中刪除某個特定session.
所以我下了:DELETE FROM V$SESSION WHERE USERNAME = '12345';
但是他說ORA-02030: 只能選自固定的表格/視觀表
我發現我整個觀念可能有非常大的錯誤,所以我去 google一下.
得到一個資訊.
ALTER SYSTEM KILL SESSION 'sid,serial#';
但是好像是全部刪除!?
若是要刪除12345的話
是下
ALTER SYSTEM KILL SESSION 'sid,serial#' WHERE USERNAME = '12345;
這樣嗎?
不好意思,因為我沒測試空間,不敢亂試,想說上來問問各位先進!
================================已解決分隔線==========================
基本上是
ALTER SYSTEM KILL SESSION '111,222' IMMEDIATE;
111是sid,222是 #
另外要記得加上immediate,不然他不會刪除.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.195.130
※ 編輯: kingoface 來自: 59.124.195.130 (06/04 15:46)
→ iFEELing:ㄟ 不太對 immediate是不等CLIENT就砍 但還是要rollback 06/04 22:49
→ iFEELing:有時候不小心會變殭屍的 06/04 22:49
推 iamnotfat:session 會被killed , 交易rollback...除非牽扯到dblink 06/06 11:21
→ iamnotfat:導致distributed transaction 中斷 這比較慘... 06/06 11:21
推 wilsmart:沒加immediate會等到交易結束才刪 通常都是在卡session 06/11 14:26
→ wilsmart:才會下kill session,因此都會加immediate 如果你有用 06/11 14:26
→ wilsmart:OEM 或 Toad.可以利用這2個工具 然指令還是要記一下囉 06/11 14:27
推 wilsmart:另外V$這種table是view..是不能對他做動作的 所以才error 06/11 14:37