666 lines
19 KiB
SQL
666 lines
19 KiB
SQL
select x.sid
|
|
,x.serial#
|
|
,x.username
|
|
,x.sql_id
|
|
,x.sql_child_number
|
|
,optimizer_mode
|
|
,hash_value
|
|
,address
|
|
,sql_text
|
|
from v$sqlarea sqlarea
|
|
,v$session x
|
|
where x.sql_hash_value = sqlarea.hash_value
|
|
and x.sql_address = sqlarea.address
|
|
and x.sid = 763
|
|
and x.username like '%CHOIMAL%' ;
|
|
|
|
|
|
|
|
select sid, event, blocking_session, last_call_et
|
|
from v$session
|
|
where status = 'ACTIVE'
|
|
and blocking_session is not null;
|
|
|
|
select sid, seq#, EVENT, WAIT_CLASS, SECONDS_IN_WAIT
|
|
from v$session_wait where sid='763';
|
|
|
|
|
|
|
|
SELECT ROUND(SOFAR*21411/TOTALWORK)
|
|
FROM V$SESSION_LONGOPS
|
|
WHERE username like '%MAL%'
|
|
AND TIME_REMAINING > 0
|
|
|
|
1134
|
|
1430
|
|
select STATUS, WAIT_TIME, LOGON_TIME from v$session where username like '%CHOIMAL%'
|
|
|
|
|
|
select sql_text from v$sqltext where sql_id=1134;
|
|
|
|
|
|
select blocking_session, sid, serial#, wait_class, seconds_in_wait
|
|
from v$session where username like '%CHOIMAL%';
|
|
|
|
select sid, serial#, username, program, event, p1, status, sql_id from v$session where username like '%CHOIMAL%';
|
|
|
|
select sid from v$session where username like '%CHOIMAL%';
|
|
|
|
select sql_id from v$session where username like '%CHOIMAL%';
|
|
|
|
|
|
FROM A SPECIFIC USERNAME -------------------This only we want
|
|
----------------------
|
|
SET LINSIZE 152
|
|
col spid for a10
|
|
col process_spid for a10
|
|
col user_name for a20
|
|
col form_name for a20
|
|
select a.pid,a.spid,a.process_spid, c.user_name,to_char(a.start_time,'DD-MON-YYYY HH24:MI:SS') "START_TIME" ,
|
|
d.user_form_name "FORM_NAME"
|
|
from apps.fnd_logins a, apps.fnd_login_resp_forms b, apps.fnd_user c,
|
|
apps.fnd_form_tl d
|
|
where
|
|
a.login_id=b.login_id
|
|
and c.user_name like 'JROMO'
|
|
and a.user_id=c.user_id
|
|
and trunc(b.start_time) >trunc(sysdate -11)
|
|
and trunc(b.end_time) is null
|
|
and b.form_id=d.form_id
|
|
and d.language='US';
|
|
|
|
|
|
Total Count of sessions
|
|
-----------------------
|
|
select count(s.status) TOTAL_SESSIONS from gv$session s;
|
|
|
|
Total Count of Inactive sessions
|
|
---------------------------------
|
|
select count(s.status) INACTIVE_SESSIONS
|
|
from gv$session s, v$process p
|
|
where
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE';
|
|
|
|
SESSIONS WHICH ARE IN INACTIVE STATUS FROM MORE THAN 1HOUR
|
|
select count(s.status) "INACTIVE SESSIONS > 1HOUR "
|
|
from gv$session s, v$process p
|
|
where
|
|
p.addr=s.paddr and
|
|
s.last_call_et > 3600 and
|
|
s.status='INACTIVE';
|
|
|
|
COUNT OF ACTIVE SESSIONS
|
|
--------------------------
|
|
select count(s.status) ACTIVE_SESSIONS
|
|
from gv$session s, v$process p
|
|
where
|
|
p.addr=s.paddr and
|
|
s.status='ACTIVE';
|
|
|
|
TOTAL SESSIONS COUNT ORDERED BY PROGRAM
|
|
--------------------------------------
|
|
col program for a30
|
|
select s.program,count(s.program) Total_Sessions
|
|
from gv$session s, v$process p
|
|
where p.addr=s.paddr
|
|
group by s.program;
|
|
|
|
TOTAL COUNT OF SESSIONS ORDERED BY MODULE
|
|
----------------------------------------
|
|
col module for a30
|
|
prompt TOTAL SESSIONS
|
|
select s.module,count(s.sid) Total_Sessions
|
|
from gv$session s, v$process p
|
|
where p.addr=s.paddr
|
|
group by s.module;
|
|
|
|
TOTAL COUNT OF SESSIONS ORDERED BY ACTION
|
|
----------------------------------------
|
|
col action for a30
|
|
prompt TOTAL SESSIONS
|
|
select s.action,count(s.sid) Total_Sessions
|
|
from gv$session s, v$process p
|
|
where p.addr=s.paddr
|
|
group by s.action;
|
|
|
|
INACTIVE SESSIONS
|
|
-----------------
|
|
prompt INACTIVE SESSIONS
|
|
select p.spid, s.sid,s.last_call_et/3600 last_call_et ,s.status,s.action,s.module,s.program
|
|
from gv$session s, v$process p
|
|
where
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE';
|
|
|
|
INACTIVE
|
|
---------
|
|
prompt INACTIVE SESSIONS
|
|
select count(s.status) INACTIVE
|
|
from gv$session s, gv$sqlarea t,v$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE';
|
|
|
|
INACTIVE PROGRAMS
|
|
-------------------
|
|
col module for a40
|
|
prompt INACTIVE SESSIONS
|
|
col INACTIVE_PROGRAMS FOR A40
|
|
select distinct (s.program) INACTIVE_PROGRAMS,s.module
|
|
from gv$session s, v$process p
|
|
where p.addr=s.paddr and
|
|
s.status='INACTIVE';
|
|
|
|
INACTIVE PROGRAMS with disk reads
|
|
----------------------------------
|
|
prompt INACTIVE SESSIONS
|
|
select distinct (s.program) INACTIVE_PROGRAMS,SUM(T.DISK_READS)
|
|
from gv$session s, gv$sqlarea t,v$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
GROUP BY S.PROGRAM;
|
|
|
|
INACTIVE SESSIONS COUNT WITH PROGRAM
|
|
--------------------------------------
|
|
col program for a30
|
|
prompt TOTAL INACTIVE SESSIONS
|
|
col INACTIVE_PROGRAMS FOR A40
|
|
select s.program,count(s.program) Total_Inactive_Sessions
|
|
from gv$session s,v$process p
|
|
where p.addr=s.paddr AND
|
|
s.status='INACTIVE'
|
|
group by s.program
|
|
order by 2 desc;
|
|
|
|
TOTAL INACTIVE SESSIONS MORE THAN 1HOUR
|
|
---------------------------------------
|
|
col program for a30
|
|
col INACTIVE_PROGRAMS FOR A40
|
|
select s.program,count(s.program) Inactive_Sessions_from_1Hour
|
|
from gv$session s,v$process p
|
|
where p.addr=s.paddr AND
|
|
s.status='INACTIVE'
|
|
and s.last_call_et > (3600)
|
|
group by s.program
|
|
order by 2 desc;
|
|
|
|
TOTAL INACTIVE SESSIONS GROUP BY MODULE
|
|
col program for a60
|
|
COL MODULE FOR A30
|
|
prompt TOTAL SESSIONS
|
|
col INACTIVE_PROGRAMS FOR A40
|
|
select s.module,count(s.module) Total_Inactive_Sessions
|
|
from gv$session s,v$process p
|
|
where p.addr=s.paddr AND
|
|
s.status='INACTIVE'
|
|
group by s.module;
|
|
|
|
INACTIVE SESSION DETAILS MORE THAN 1 HOUR
|
|
--------------------------------------------
|
|
set pagesize 40
|
|
col INST_ID for 99
|
|
col spid for a10
|
|
set linesize 150
|
|
col PROGRAM for a10
|
|
col action format a10
|
|
col logon_time format a16
|
|
col module format a13
|
|
col cli_process format a7
|
|
col cli_mach for a15
|
|
col status format a10
|
|
col username format a10
|
|
col last_call_et_Hrs for 9999.99
|
|
col sql_hash_value for 9999999999999col username for a10
|
|
set linesize 152
|
|
set pagesize 80
|
|
col "Last SQL" for a60
|
|
col elapsed_time for 999999999999
|
|
select p.spid, s.sid,s.last_call_et/3600 last_call_et_Hrs ,s.status,s.action,s.module,s.program,t.disk_reads,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.last_call_et > (3600)
|
|
order by last_call_et;
|
|
|
|
INACTIVE PROGRAM --ANY--
|
|
------------------------
|
|
select p.spid, s.sid,s.last_call_et/3600 last_call_et_Hrs ,s.status,s.action,s.module,s.program,t.disk_reads,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
And s.program='&PROGRAM_NAME'
|
|
order by last_call_et;
|
|
|
|
INACTIVE MODULES --ANY---
|
|
--------------------------
|
|
select p.spid, s.sid,s.last_call_et/3600 last_call_et_Hrs ,s.status,s.action,s.module,s.program,t.disk_reads,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr
|
|
And s.module like '%order_cleanup_hazmat_v3.sql'
|
|
order by last_call_et;
|
|
|
|
INACTIVE JDBC SESSIONS
|
|
------------------------
|
|
set pagesize 40
|
|
col INST_ID for 99
|
|
col spid for a10
|
|
set linesize 150
|
|
col PROGRAM for a10
|
|
col action format a10
|
|
col logon_time format a16
|
|
col module format a13
|
|
col cli_process format a7
|
|
col cli_mach for a15
|
|
col status format a10
|
|
col username format a10
|
|
col last_call_et for 9999.99
|
|
col sql_hash_value for 9999999999999col username for a10
|
|
set linesize 152
|
|
set pagesize 80
|
|
col "Last SQL" for a60
|
|
col elapsed_time for 999999999999
|
|
select p.spid, s.sid,s.last_call_et/3600 last_call_et ,s.status,s.action,
|
|
s.module,s.program,t.disk_reads,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.program='JDBC Thin Client'
|
|
and s.last_call_et > 3600
|
|
order by last_call_et;
|
|
|
|
|
|
|
|
COUNT OF INACTIVE SESSIONS MORE THAN ONE HOUR
|
|
---------------------------------------------
|
|
SELECT COUNT(P.SPID)
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.program='JDBC Thin Client'
|
|
and s.last_call_et > 3600
|
|
order by last_call_et;
|
|
|
|
FORMS
|
|
TOTAL FORM SESSIONS
|
|
----------------------
|
|
SELECT COUNT(S.SID) INACTIVE_FORM_SESSIONS FROM V$SESSION S
|
|
WHERE S.STATUS='INACTIVE' and
|
|
s.action like ('%FRM%');
|
|
|
|
FORMS SESSIONS DETAILS
|
|
-----------------------
|
|
col "Last SQL" for a30
|
|
select p.spid,s.sid,s.status,s.last_call_et/3600 last_call_et_hrs ,
|
|
s.sid,t.disk_reads, t.elapsed_time,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.action like ('FRM%') and
|
|
s.last_call_et > 3600
|
|
order by spid;
|
|
|
|
|
|
col machine for a15
|
|
col "Last SQL" for a30
|
|
select p.spid,s.sid,s.status,s.last_call_et/3600 last_call_et_hrs ,
|
|
S.ACTION,s.process Client_Process,s.machine
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.action like ('FRM%') and
|
|
s.last_call_et > 3600;
|
|
order by 4;
|
|
|
|
|
|
|
|
|
|
INACTIVE FORMS SESSIONS DETAILS
|
|
-------------------------------
|
|
col program for a15
|
|
col last_call_et for 999.99
|
|
select p.spid, s.sid, s.process,s.last_call_et/3600 last_call_et ,s.status,s.action,s.module,s.program,t.disk_reads,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.action like 'FRM:%'
|
|
and s.last_call_et > 3600
|
|
order by last_call_et desc;
|
|
|
|
UNIQUE SPID
|
|
------------
|
|
select unique(p.spid)
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.action like 'FRM:%'
|
|
and s.last_call_et > 3600;
|
|
|
|
COUNT FORMS
|
|
------------
|
|
select COUNT(p.spid)
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.action like 'FRM:%'
|
|
and s.last_call_et > 3600;
|
|
|
|
ZERO HASH VALUE
|
|
-----------------
|
|
select COUNT(p.spid)
|
|
from gv$session s,gv$process p
|
|
where
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.action like 'FRM:%'
|
|
and s.last_call_et > 3600
|
|
AND S.SQL_HASH_VALUE=0;
|
|
|
|
INACTIVE FORM BY NAME
|
|
---------------------
|
|
select count(s.sid) from v$session S
|
|
where s.action like ('%&ACTION%')
|
|
AND S.STATUS='INACTIVE';
|
|
|
|
GROUP BY ACTION
|
|
---------------
|
|
SELECT S.ACTION,COUNT(S.SID) FROM V$SESSION S
|
|
WHERE S.STATUS='INACTIVE' and
|
|
s.action like ('%FRM%')
|
|
group by s.action;
|
|
|
|
|
|
|
|
INACTIVE FORM
|
|
-----------------
|
|
set pagesize 40
|
|
col INST_ID for 99
|
|
col spid for a10
|
|
set linesize 150
|
|
col PROGRAM for a10
|
|
col action format a10
|
|
col logon_time format a16
|
|
col module format a13
|
|
col cli_process format a7
|
|
col cli_mach for a15
|
|
col status format a10
|
|
col username format a10
|
|
col last_call_et for 9999.99
|
|
col sql_hash_value for 9999999999999col username for a10
|
|
set linesize 152
|
|
set pagesize 80
|
|
col "Last SQL" for a30
|
|
col elapsed_time for 999999999999
|
|
select p.spid, s.sid,s.process cli_process,s.last_call_et/3600 last_call_et ,
|
|
s.status,s.action,s.module,s.program,t.disk_reads,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE'
|
|
and s.action like ('FRM%')
|
|
and s.last_call_et > (3600*3)
|
|
order by last_call_et;
|
|
|
|
|
|
|
|
|
|
|
|
INACTIVE FORM SESSIONS
|
|
---------------------
|
|
col cli_proc for a9
|
|
COL AUDSID FOR A6
|
|
COL PID FOR A6
|
|
COL SID FOR A5
|
|
COL FORM_NAME FOR A25
|
|
COL USER_NAME FOR A15
|
|
col last_call_et for 9999.99
|
|
SELECT
|
|
-- /*+ ORDERED FULL(fl) FULL(vp) USE_HASH(fl vp) */
|
|
( SELECT SUBSTR ( fu.user_name, 1, 20 )
|
|
FROM apps.fnd_user fu
|
|
WHERE fu.user_id = fl.user_id
|
|
) user_name,vs.status,
|
|
TO_CHAR ( fl.start_time, 'DD-MON-YYYY HH24:MI' ) login_start_time,
|
|
TO_CHAR ( fl.end_time, 'DD-MON-YYYY HH24:MI' ) login_end_time,
|
|
vs.last_call_et/3600 last_call_et,
|
|
SUBSTR ( fl.process_spid, 1, 6 ) spid,
|
|
SUBSTR ( vs.process, 1, 8 ) cli_proc,
|
|
SUBSTR ( TO_CHAR ( vs.sid ), 1, 3 ) sid,
|
|
SUBSTR ( TO_CHAR ( vs.serial#), 1, 7 ) serial#,
|
|
SUBSTR ( TO_CHAR ( rf.audsid ), 1, 6 ) audsid,
|
|
SUBSTR ( TO_CHAR ( fl.pid ), 1, 3 ) pid,
|
|
SUBSTR ( vs.module || ' - ' ||
|
|
( SELECT SUBSTR ( ft.user_form_name, 1, 40 )
|
|
FROM apps.fnd_form_tl ft
|
|
WHERE ft.application_id = rf.form_appl_id
|
|
AND ft.form_id = rf.form_id
|
|
AND ft.language = USERENV('LANG')
|
|
), 1, 40 ) form_name
|
|
FROM apps.fnd_logins fl,
|
|
gv$process vp,
|
|
apps.fnd_login_resp_forms rf,
|
|
gv$session vs
|
|
WHERE fl.start_time > sysdate - 7 /* login within last 7 days */
|
|
AND fl.login_type = 'FORM'
|
|
AND fl.process_spid = vp.spid
|
|
AND fl.pid = vp.pid
|
|
AND fl.login_id = rf.login_id
|
|
AND rf.end_time IS NULL
|
|
AND rf.audsid = vs.audsid
|
|
and vs.status='INACTIVE'
|
|
ORDER BY
|
|
vs.process,
|
|
fl.process_spid;
|
|
|
|
ACTIVE
|
|
-------
|
|
prompt ACTIVE SESSIONS
|
|
select count(s.status) ACTIVE
|
|
from gv$session s, gv$sqlarea t,v$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr and
|
|
s.status='ACTIVE';
|
|
|
|
MODULE
|
|
-------
|
|
set pagesize 40
|
|
col INST_ID for 99
|
|
col spid for a10
|
|
set linesize 150
|
|
col PROGRAM for a10
|
|
col action format a10
|
|
col logon_time format a16
|
|
col module format a13
|
|
col cli_process format a7
|
|
col cli_mach for a15
|
|
col status format a10
|
|
col username format a10
|
|
col last_call_et for 9999.99
|
|
col sql_hash_value for 9999999999999col username for a10
|
|
set linesize 152
|
|
set pagesize 80
|
|
col "Last SQL" for a30
|
|
col elapsed_time for 999999999999
|
|
select p.spid, s.sid,s.process cli_process,s.last_call_et/3600 last_call_et ,
|
|
s.status,s.action,s.module,s.program,t.disk_reads,lpad(t.sql_text,30) "Last SQL"
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr
|
|
and s.MODULE like ('&MODULE_NAME_1HR%')
|
|
and s.last_call_et > ('&TIME_HRS' * 3600)
|
|
order by last_call_et;
|
|
|
|
select p.spid, s.sid,s.process cli_process,s.last_call_et/3600 last_call_et ,
|
|
s.status,s.action,s.module,s.program
|
|
from gv$session s, gv$sqlarea t,gv$process p
|
|
where s.sql_address =t.address and
|
|
p.addr=s.paddr
|
|
and s.MODULE like ('%TOAD%')
|
|
Order by last_call_et;
|
|
|
|
TOAD SESSIONS
|
|
-------------
|
|
select p.spid, s.sid,s.process cli_process,s.last_call_et/3600 last_call_et ,
|
|
s.status,s.action,s.module,s.program
|
|
from gv$session s, gv$process p
|
|
where
|
|
p.addr=s.paddr
|
|
and s.MODULE like ('%TOAD%')
|
|
Order by last_call_et;
|
|
|
|
CLIENT MACHINE SESSIONS COUNT
|
|
-----------------------------
|
|
select count(s.process) TOTAL from v$session S
|
|
where s.machine like ('%&CLIENT_MACHINE%');
|
|
|
|
select count(s.process) INACTIVE from v$session S
|
|
where s.machine like ('%&CLIENT_MACHINE%')
|
|
and s.status='INACTIVE';
|
|
|
|
hash value=0
|
|
-------------
|
|
select count(s.process) from v$session S
|
|
where s.machine like ('%&CLIENT_MACHINE%')
|
|
AND S.SQL_HASH_VALUE=0;
|
|
|
|
select count(s.process) from v$session S
|
|
where s.machine like ('%&CLIENT_MACHINE%')
|
|
AND S.SQL_HASH_VALUE=0
|
|
AND S.LAST_CALL_ET > 3600;
|
|
|
|
Unique Actions
|
|
---------------
|
|
col module for a40
|
|
prompt INACTIVE SESSIONS
|
|
col INACTIVE_PROGRAMS FOR A40
|
|
select distinct (s.program) INACTIVE_PROGRAMS,s.module
|
|
from gv$session s, gv$sqlarea t,v$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
s.machine like ('%&CLIENT_MACHINE%') AND
|
|
p.addr=s.paddr and
|
|
s.status='INACTIVE';
|
|
|
|
GROUP BY program
|
|
------------------
|
|
col program for a60
|
|
prompt TOTAL SESSIONS
|
|
col INACTIVE_PROGRAMS FOR A40
|
|
select s.program,count(s.program) Total_Inactive_Sessions
|
|
from gv$session s, gv$sqlarea t,v$process p
|
|
where s.sql_address =t.address and
|
|
s.sql_hash_value =t.hash_value and
|
|
p.addr=s.paddr AND
|
|
s.machine like ('%&CLIENT_MACHINE%') AND
|
|
s.status='INACTIVE'
|
|
|
|
group by s.program;
|
|
|
|
alter system kill session 'sid,serial#' immediate;
|
|
|
|
alter system kill session '2208, 37605' immediate;
|
|
alter system kill session '1308,38903' immediate;
|
|
alter system kill session '277,30355' immediate;
|
|
|
|
ALTER SYSTEM DISCONNECT SESSION '304,3276' IMMEDIATE;
|
|
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''';' from v$session where status ='INACTIVE' and username='H3G_ODS';
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''' immediate;' from v$session where username like 'NSISNW';
|
|
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''' IMMEDIATE;' from v$session where sid=143;
|
|
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''' IMMEDIATE;', to_char(logon_time, 'hh24:mi:ss dd/mm/yy') login_time from v$SESSION where status='INACTIVE';
|
|
select SID,SERIAL#,status from v$session where sid=143;
|
|
select status from v$session where SERIAL=53718
|
|
|
|
----------------------------------------
|
|
Check how rollback is going after killing session
|
|
|
|
Summary
|
|
If you kill a session and has uncommited transactions you must wait until rollback. To find how rollback is going execute
|
|
|
|
SELECT used_ublk FROM v$transaction WHERE ADDR IN (SELECT TADDR FROM v$session WHERE SID = <SID>)
|
|
|
|
where sid, is the sid of the killed session
|
|
|
|
If there is a value there, this is the number of undo blocks used by the transaction. Wait one minute and again. If it is decreasing, a rollback is occuring and based on the difference between these values, you can "guesstimate" the time required to complete the rollback.
|
|
Output will be like the below
|
|
SQL> SELECT used_ublk FROM v$transaction WHERE ADDR IN (SELECT TADDR FROM v$session WHERE SID = 304);
|
|
|
|
USED_UBLK
|
|
----------
|
|
270265
|
|
|
|
SQL> /
|
|
|
|
USED_UBLK
|
|
----------
|
|
270244
|
|
where the USED_UBLK keeps reducing
|
|
|
|
|
|
alter system kill session 'sid,serial#' immediate;
|
|
|
|
alter system kill session '2208, 37605' immediate;
|
|
alter system kill session '1308,38903' immediate;
|
|
alter system kill session '277,30355' immediate;
|
|
|
|
ALTER SYSTEM DISCONNECT SESSION '304,3276' IMMEDIATE;
|
|
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''';' from v$session where status ='INACTIVE' and username='H3G_ODS';
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''' immediate;' from v$session where username like 'NSISNW';
|
|
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''' IMMEDIATE;' from v$session where sid=143;
|
|
|
|
select 'Alter system kill session '''||SID||','||SERIAL#||''' IMMEDIATE;', to_char(logon_time, 'hh24:mi:ss dd/mm/yy') login_time from v$SESSION where status='INACTIVE';
|
|
select SID,SERIAL#,status from v$session where sid=143;
|
|
select status from v$session where SERIAL=53718
|
|
|
|
----------------------------------------
|
|
Check how rollback is going after killing session
|
|
|
|
Summary
|
|
If you kill a session and has uncommited transactions you must wait until rollback. To find how rollback is going execute
|
|
|
|
SELECT used_ublk FROM v$transaction WHERE ADDR IN (SELECT TADDR FROM v$session WHERE SID = <SID>)
|
|
|
|
where sid, is the sid of the killed session
|
|
|
|
If there is a value there, this is the number of undo blocks used by the transaction. Wait one minute and again. If it is decreasing, a rollback is occuring and based on the difference between these values, you can "guesstimate" the time required to complete the rollback.
|
|
Output will be like the below
|
|
SQL> SELECT used_ublk FROM v$transaction WHERE ADDR IN (SELECT TADDR FROM v$session WHERE SID = 304);
|
|
|
|
USED_UBLK
|
|
----------
|
|
270265
|
|
|
|
SQL> /
|
|
|
|
USED_UBLK
|
|
----------
|
|
270244
|
|
where the USED_UBLK keeps reducing |