如何彻底杀死Oracle相关用户的会话
有三种方法可以终止ORACLE数据库中的会话进程:
1:改变系统终止会话
至于KILL SESSION子句,如下面的官方文档描述所示,alter system kill session实际上并没有杀死会话,它只是将会话标记为终止。等待PMON进程清除会话。
select sid,serial # from v $ session where username = ' DEMO ';查询用户的sid,序列号
您可以使用alter system kill session' sid,serial #' immediate来快速回滚,释放与会话相关的锁,并立即返回当前会话的控制权。
指定IMMEDIATE以指示Oracle数据库回滚正在进行的事务,释放所有会话锁,恢复整个会话状态,并将控制权立即交还给您。
2:改变系统断开会话
ALTER SYSTEM DISCONNECT SESSION杀死专用服务器或者* *享受服务器的连接会话,相当于从操作系统杀死进程。它有两个选项,POST_TRANSACTION和IMMEDIATE,其中POST_TRANSACTION表示在事务完成后断开会话,IMMEDIATE表示中断会话并立即回滚事务。
SQL & gtALTER SYSTEM DISCONNECT会话' sid,serial#' POST_TRANSACTION。
SQL & gt立即更改系统断开会话' sid,serial# '。
3: kill-9 spid (Linux)或orakill ORACLE_SID spid(Windows)
你可以使用下面的SQL语句找到相应的操作系统进程SPID并杀死它。当然,杀死操作系统进程是一件很危险的事情,尤其是不要误杀。所以一定要仔细确认后再实施。
select spid from v $ process where addrin(select paddr from v $ session where username = ' user name ');(找到用户的spid)
kill -9 spid
如果要完全终止数据库中的会话,尤其是大型事务会话,最好立即使用alter system disconnect session或使用以下步骤:
1:先在操作系统级别杀死进程。
2.终止数据库中的会话
反之亦然。这可以快速终止进程并释放资源。
如何彻底杀死Oracle相关用户的会话
标签:通过完成正式文档回滚事务串行用户名操作状态dem。