需要查詢SID和SERIAL#,然后kill掉。
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
方法1、用sql語句
SHELL sqlplus /nolog
SQL conn /as sysdba
SQL set head off
SQL spool kill.txt
SQL select ‘a(chǎn)lter system kill session ‘ || ”” || a.SID || ‘,’ || a.SERIAL# || ””||’ ;’ from v$session a where a.STATUS = ‘ACTIVE' and osuser='alex';
SQL spool off
SQL exit
SHELLsed -i ‘/^$/d’ ~/kill.txt
SHELLsqlplus /nolog
SQL conn /as sysdba
SQL @kill.txt
SQL exit
方法2、用proc
declare?cursor?mycur?is
select?b.sid,b.serial#
from?v$locked_object?a,v$session?b
where?a.session_id?=?b.sid?group?by?b.sid,b.serial#;?
begin
for?cur?in?mycur
loop
execute?immediate?(?‘a(chǎn)lter?system?kill?session?”’||cur.sid?||?‘,’||?cur.SERIAL#?||”’?‘);
end?loop;
end;
??匠?焙蟛嘔岜喚飪??茄?薊嵩斐捎τ貌僮鞅蛔樅??梢砸設(shè)ralce管理員權(quán)限用戶登錄Oracle數(shù)據(jù),查詢到被鎖的對(duì)象,然后殺除指定的會(huì)話。用下面的語句查詢被鎖的對(duì)象,可以帶上更多約束條件,如schemaname等更精確的匹配。
alter system kill session 'sid, serial#' 如上面查出來的一條記錄的sid是53, serial#為663,就執(zhí)行以下的語句alter system kill session '53,663' 如果要一次性殺死多個(gè)會(huì)話,一個(gè)一個(gè)填寫sid和serial#十分的繁瑣,應(yīng)該在查詢被鎖對(duì)象的同時(shí)拼湊出多條的殺會(huì)話語句,以分號(hào)分隔,一起復(fù)制下來,然后就可以批量的執(zhí)行了。 1.SELECT'alter system kill session '''|| c.sid ||''||','|| c.serial# ||''';',2. a.object_id, a.session_id, b.object_name, c.*3. FROMv$locked_object a, dba_objects b, v$session c4. WHEREa.object_id = b.object_id5. ANDa.SESSION_ID = c.sid(+)6. ANDschemaname ='Unmi'7. ORDERBYlogon_time
sqlplus環(huán)境下 alter system kill session 'sid,serial#';
如果不行的話在操作系統(tǒng)下操作:
windows: orakill 實(shí)例名 spid
linux: kill -9 spid