Oracle批量杀会话

Oracle批量杀会话

𝓓𝓸𝓷 Lv6

Oracle查询会话,Oracle批量杀会话,Oracle根据SQL_ID杀会话,Oracle根据SQL_ID杀会话杀进程,按SQL_ID批量杀会话

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
set linesize 500
set pagesize 500
col sid format 9999
col spid for a5
col serial# format 999999
col event format a23
col p123 format a15
col wait_time format 999
col sql_id for a15
col username format a12
col machine format a12
col program format a12
alter session set cursor_sharing=force;
select /*XJ LEADING(S) FIRST_ROWS */ s.sid,s.serial#,p.spid,s.username,s.machine,s.program,s.event,S.P1 || '/'||S.P2||'/'||S.P3 P123,S.wait_time,NVL(SQL_ID,S.PREV_SQL_ID) SQL_ID from v$session s,v$process p where s.username is not null and s.paddr=p.addr and s.status='ACTIVE' and s.sid<>(select sid from v$mystat where rownum=1) order by p.pid desc;


set linesize 1000 pagesize 1000
select 'kill -9 ' || p.spid
from v$session s, v$process p
where s.username is not null
and s.paddr = p.addr
and s.status = 'ACTIVE'
and s.sid <> (select sid from v$mystat where rownum = 1)
and sql_id = '31g8jw692q4gz'
order by p.pid desc;


set linesize 1000 pagesize 1000
select 'alter system kill session ''' || s.sid || ',' || s.serial# ||
''' immediate;'
from v$session s, v$process p
where s.username is not null
and s.paddr = p.addr
and s.status = 'ACTIVE'
and s.sid <> (select sid from v$mystat where rownum = 1)
and sql_id = '31g8jw692q4gz';

---Oracle批量结束会话、批量解锁会话
select 'kill -9 ' || p.spid
from v$session s, v$process p
where s.username is not null
and s.paddr = p.addr
and s.status = 'ACTIVE'
and s.sid <> (select sid from v$mystat where rownum = 1)
and sql_id = '31g8jw692q4gz'
order by p.pid desc;

select 'alter system kill session ''' || s.sid || ',' || s.serial# ||
''' immediate;'
from v$session s, v$process p
where s.username is not null
and s.paddr = p.addr
and s.status = 'ACTIVE'
and s.sid <> (select sid from v$mystat where rownum = 1)
and sql_id = '31g8jw692q4gz';

select 'alter system kill session ''' || s.sid || ',' || s.serial# ||
''' immediate;'
from v$session s, v$process p
where s.username is not null
and s.paddr = p.addr
and s.status = 'ACTIVE'
and s.sid <> (select sid from v$mystat where rownum = 1)
and event = 'enq: TX - row lock contention'
and s.username = 'MJIS';

select 'alter system kill session ''' || s.sid || ',' || s.serial# ||
''' immediate;'
from v$session s, v$process p
where s.username = 'PHIS'
and s.paddr = p.addr
and s.sid <> (select sid from v$mystat where rownum = 1);
  • Title: Oracle批量杀会话
  • Author: 𝓓𝓸𝓷
  • Created at : 2025-04-27 16:05:23
  • Updated at : 2025-06-09 11:49:59
  • Link: https://www.zhangdong.me/oracle-batch-kill-sql.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
评论