SQL Queries to Check ACTIVE / INACTIVE Sessions

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,
$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ย 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;

 

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ย 

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ย 

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;

 

 

 

About Syed Saad

With 16 years of experience as a certified and skilled Oracle Database Administrator, I possess the expertise to handle various levels of database maintenance tasks and proficiently perform Oracle updates. Throughout my career, I have honed my analytical abilities, enabling me to swiftly diagnose and resolve issues as they arise. I excel in planning and executing special projects within time-sensitive environments, showcasing exceptional organizational and time management skills. My extensive knowledge encompasses directing, coordinating, and exercising authoritative control over all aspects of planning, organization, and successful project completions. Additionally, I have a strong aptitude for resolving customer relations matters by prioritizing understanding and effective communication. I am adept at interacting with customers, vendors, and management, ensuring seamless communication and fostering positive relationships.

Check Also

Oracle Database Monitoring Queries

QUERY TO CHECK SIZE OF ALL TABLESPACES

Leave a Reply