oracle

关注公众号 jb51net

关闭
首页 > 数据库 > oracle > Oracle杀会话

Oracle杀会话的实现步骤

作者:为中华崛起而奋斗

本文主要介绍了Oracle杀会话的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、数据库出现hang处置过程:

sqlplus -prelim / as sysdba

oradebug setmypid
oradebug unlimit
oradebug hanganalyze 3
oradebug dump systemstate 266
oradebug tracefile_name   -- 此命令生成dump文件,根据命令提示的路径查看dump文件
oradebug close_trace;

2、数据库连不上时,可以使用以下命令杀会话:

ps -ef | grep SID | grep LOCAL=NO | awk '{print $2}' | xargs kill -9

3、如果数据库可以连接,可以使用SQL杀会话:

select a.inst_id,
       a.username,
       a.logon_time,
       a.status,
       'alter system kill session ''' || a.sid || ',' || a.serial# || ''',',
       'kill -9 ' || b.spid
from gv$session a,
     gv$process b,
     dba_users u
where a.inst_id = 1
  and a.paddr = b.addr
  and a.status = 'INACTIVE'
  and a.username not in ('SYS', 'SYSTEM')
  and a.username = u.username
  and u.default_tablespace not in ('SYSTEM', 'SYSAUX')
  and a.type = 'USER'
  and to_char(a.logon_time, 'yyyy-mm-dd hh24:mi:ss') < to_char(sysdate - 2 / 24, 'yyyy-mm-dd hh24:mi:ss')
group by a.inst_id,
         a.username,
         a.logon_time,
         a.status,
         a.sid,
         a.serial#,
         b.spid,
         a.type
order by username, logon_time desc;

到此这篇关于Oracle杀会话的实现步骤的文章就介绍到这了,更多相关Oracle杀会话内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文