Wednesday, December 2, 2015

How to check the sessions on database

Query to check All Active sessions in database:
====================================
col osuser for a15
col MACHINE for a25
col USERNAME for a15
set lines 300 pages 3000
col wait_class for a10
col EVENT for a33
col STATE for a17
col SERVICE_NAME for a12
col B_S for 9999
col B_I for 9999
col sid for 9999
col inst_id for 9999
col QCINST_ID for 9999
col QCSID for 9999
select a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,
a.last_call_et/60 RUN_TIME,a.seconds_in_wait Wait_time
,a.status,a.blocking_session B_S,a.blocking_instance B_I,service_name
from
Gv$session a ,gv$px_session b
where status='ACTIVE' and
USERNAME not in('SYS','SYSTEM','DBSNMP') and a.sid=b.sid(+)
 and a.inst_id=b.inst_id(+) and username is not null
group by a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,
a.last_call_et/60,a.seconds_in_wait,a.status,a.blocking_session,a.blocking_instance ,service_name

order by last_call_et/60 desc;


Query to check All sessions in database:
===============================

col osuser for a15
col MACHINE for a25
col USERNAME for a15
set lines 300 pages 3000
col wait_class for a10
col EVENT for a33
col STATE for a17
col SERVICE_NAME for a12
col B_S for 9999
col B_I for 9999
col sid for 9999
col inst_id for 9999
col QCINST_ID for 9999
col QCSID for 9999
select a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,
a.last_call_et/60 RUN_TIME,a.seconds_in_wait Wait_time
,a.status,a.blocking_session B_S,a.blocking_instance B_I,service_name
from
Gv$session a ,gv$px_session b
where
USERNAME not in('SYS','SYSTEM','DBSNMP') and a.sid=b.sid(+)
 and a.inst_id=b.inst_id(+) and username is not null
group by a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,
a.last_call_et/60,a.seconds_in_wait,a.status,a.blocking_session,a.blocking_instance ,service_name

order by last_call_et/60 desc;

Query to check All Active sessions in database running from a particular USER :   
=============================================================

INPUT: username
======

col osuser for a10
col MACHINE for a25
col USERNAME for a15
set lines 300 pages 3000
col wait_class for a10
col EVENT for a33
col STATE for a17
col SERVICE_NAME for a12
col B_S for 9999
col B_I for 9999
col sid for 9999
col inst_id for 9999
col QCINST_ID for 9999
col QCSID for 9999
select a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60 RUN_TIME,
a.seconds_in_wait Wait_time,a.status,a.blocking_session B_S,a.blocking_instance B_I
from Gv$session a ,gv$px_session b where status='ACTIVE'
and USERNAME =upper('&USERNAME') and a.sid=b.sid(+)  and a.inst_id=b.inst_id(+)
group by a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60,a.seconds_in_wait,a.status,a.blocking_session,a.blocking_instance

order by last_call_et/60;

Query to check All Active sessions in database running from a particular Machine :   
===============================================================

INPUT: machine
======

col osuser for a15
col MACHINE for a25
col USERNAME for a15
set lines 300 pages 3000
col wait_class for a10
col EVENT for a33
col STATE for a17
col SERVICE_NAME for a12
col B_S for 9999
col B_I for 9999
col sid for 9999
select a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60 RUN_TIME,
a.seconds_in_wait Wait_time,a.status,a.blocking_session B_S,a.blocking_instance B_I
from Gv$session a ,gv$px_session b
where machine='&machine' and status='ACTIVE' and a.sid=b.sid(+)  and a.inst_id=b.inst_id(+) and username is not null
group by a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60,a.seconds_in_wait,a.status,a.blocking_session,a.blocking_instance
order by last_call_et/60 desc;

Query to check All Active sessions in database running from a particular SQL_ID:   
==============================================================

INPUT: sql_id
======

col osuser for a15
col MACHINE for a25
col USERNAME for a15
set lines 300 pages 3000
col wait_class for a10
col EVENT for a33
col STATE for a17
col SERVICE_NAME for a12
col B_S for 9999
col B_I for 9999
col sid for 9999
select a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60 RUN_TIME,
a.seconds_in_wait Wait_time,a.status,a.blocking_session B_S,a.blocking_instance B_I
from Gv$session a ,gv$px_session b
where sql_id='&sql_id' and a.sid=b.sid(+)  and a.inst_id=b.inst_id(+) and username is not null
group by a.inst_id,a.sid,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60,a.seconds_in_wait,a.status,a.blocking_session,a.blocking_instance
order by last_call_et/60 desc;

INPUT: sid
======
col osuser for a15
col MACHINE for a25
col USERNAME for a15
set lines 300 pages 3000
col wait_class for a10
col EVENT for a33
col STATE for a17
col SERVICE_NAME for a12
col B_S for 9999
col B_I for 9999
col sid for 9999
col q_i for 99
col qcsid for 99999
select a.inst_id,a.sid,a.serial#,b.qcinst_id q_i,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60 RUN_TIME,
a.seconds_in_wait Wait_time,a.status,a.prev_sql_id
from Gv$session a ,gv$px_session b
where a.sid=&sid and a.inst_id=&inst_id and a.sid=b.sid(+)  and a.inst_id=b.inst_id(+) and username is not null
group by a.inst_id,a.sid,a.serial#,b.qcinst_id,b.qcsid,a.MACHINE,a.event,a.sql_id,a.osuser,a.USERNAME,a.last_call_et/60,a.seconds_in_wait,a.status,a.prev_sql_id
order by last_call_et/60 desc;


No comments:

Post a Comment