May 17, 2026, 11:40 PM
This commit is contained in:
@@ -0,0 +1,666 @@
|
||||
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
|
||||
Reference in New Issue
Block a user