oracle怎么杀掉会话,Oracle会话

如何杀掉Oracle的Session

需要查询SID和SERIAL#,然后kill掉。

从网站建设到定制行业解决方案,为提供成都做网站、网站建设服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。创新互联将不断加快创新步伐,提供优质的建站服务。

方法1、用sql语句

SHELL sqlplus /nolog

SQL conn /as sysdba

SQL set head off

SQL spool kill.txt

SQL select ‘alter 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 ( ‘alter system kill session ”’||cur.sid || ‘,’|| cur.SERIAL# ||”’ ‘);

end loop;

end;

如何杀掉(kill)Oracle中的会话(Session)

��匠�焙蟛呕岜唤饪��茄�蓟嵩斐捎τ貌僮鞅蛔枞�?梢砸設ralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。用下面的语句查询被锁的对象,可以带上更多约束条件,如schemaname等更精确的匹配。

alter system kill session 'sid, serial#' 如上面查出来的一条记录的sid是53, serial#为663,就执行以下的语句alter system kill session '53,663' 如果要一次性杀死多个会话,一个一个填写sid和serial#十分的繁琐,应该在查询被锁对象的同时拼凑出多条的杀会话语句,以分号分隔,一起复制下来,然后就可以批量的执行了。 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

如何杀掉Oracle中的会话

sqlplus环境下 alter system kill session 'sid,serial#';

如果不行的话在操作系统下操作:

windows: orakill 实例名 spid

linux: kill -9 spid


当前标题:oracle怎么杀掉会话,Oracle会话
网址分享:http://scjbc.cn/article/pheose.html

其他资讯