Sql queries to check ACTIVE / INACTIVE Sessions
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;
FROM A SPECIFIC USERNAME
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';
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;
No comments:
Post a Comment