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;
INACTIVE
FORM SESSION older than 1 hour:
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='frmweb@SGPERPOLEBSP2 (TNS V1-V3)'
--AND s.program='frmweb@SGPERPOLEBSP1 (TNS V1-V3)'
and s.last_call_et > (3600)
order by last_call_et;
No comments:
Post a Comment