Oracle杀会话流程

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

sql 复制代码
sqlplus -prelim / as sysdba

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

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

bash 复制代码
ps -ef | grep SID | grep LOCAL=NO | awk '{print $2}' | xargs kill -9

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

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;
相关推荐
阿杰 AJie2 分钟前
MySQL 里给表添加索引
数据库·mysql
昊昊该干饭了7 分钟前
一个真实查询需求如何从表设计走到高效 SQL
数据库·sql
Ha_To1 小时前
2026.1.20 SQL Server命令
数据库
智在碧得1 小时前
碧服打造DataOps全链路闭环,定义大数据工程化发布新标杆
大数据·网络·数据库
IvorySQL2 小时前
PostgreSQL 性能:云端与本地的延迟分析
数据库·postgresql
wangbing11252 小时前
分组取前几位
数据库
给我来一根2 小时前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python
_F_y2 小时前
MySQL表的操作
android·数据库·mysql
SmartBrain3 小时前
Agent 知识总结
服务器·数据库·笔记
fenglllle3 小时前
MySQL explain format的差异
数据库·mysql