2026-03-12 20:23:15
This commit is contained in:
149
vg/session_active_tree.sql
Normal file
149
vg/session_active_tree.sql
Normal file
@@ -0,0 +1,149 @@
|
||||
@@header
|
||||
|
||||
/*
|
||||
*
|
||||
* Author : Vishal Gupta
|
||||
* Purpose : Display Session Hierarchy
|
||||
* Parameters : 1 - INST_ID (Use % as wildcard)
|
||||
* 2 - WHERE CLAUSE
|
||||
*
|
||||
* Revision History:
|
||||
* ===================
|
||||
* Date Author Description
|
||||
* --------- ------------ -----------------------------------------
|
||||
* 20-Apr-12 Vishal Gupta First Draft
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/************************************
|
||||
* INPUT PARAMETERS
|
||||
************************************/
|
||||
DEFINE INST_ID="&&1"
|
||||
DEFINE WHERE_CLAUSE="&2"
|
||||
|
||||
COLUMN _INST_ID NEW_VALUE INST_ID NOPRINT
|
||||
COLUMN _TOP_ROWCOUNT NEW_VALUE TOP_ROWCOUNT NOPRINT
|
||||
COLUMN _WHERE_CLAUSE NEW_VALUE WHERE_CLAUSE NOPRINT
|
||||
|
||||
SELECT DECODE('&&INST_ID','','%','&&INST_ID') "_INST_ID"
|
||||
-- , DECODE('&&WHERE_CLAUSE','','','&&WHERE_CLAUSE') "_WHERE_CLAUSE"
|
||||
FROM DUAL
|
||||
;
|
||||
|
||||
|
||||
|
||||
PROMPT *************************************************************************************
|
||||
PROMPT * D A T A B A S E S E S S I O N S ( A C T I V E ) T R E E
|
||||
PROMPT *
|
||||
PROMPT * Input Parameters
|
||||
PROMPT * - Instance# = "&&INST_ID"
|
||||
PROMPT * - Where Clause = "&&WHERE_CLAUSE"
|
||||
PROMPT *************************************************************************************
|
||||
|
||||
|
||||
set pages 50
|
||||
|
||||
COLUMN INST_ID HEADING "I#" FORMAT 99
|
||||
COLUMN SID HEADING "SID(Hierarchy)" FORMAT a11
|
||||
COLUMN serial# HEADING "Serial#" FORMAT 99999
|
||||
COLUMN QCINST_ID HEADING "Parent|I#" FORMAT 99
|
||||
COLUMN QCSID HEADING "Parent|SID" FORMAT 9999
|
||||
COLUMN qcserial# HEADING "Parent|Serial#" FORMAT 99999
|
||||
COLUMN degree HEADING "Deg" FORMAT 99
|
||||
COLUMN req_degree HEADING "Req|Deg" FORMAT 99
|
||||
COLUMN state HEADING "State" FORMAT a12 TRUNCATED
|
||||
COLUMN SPID FORMAT a6
|
||||
COLUMN username FORMAT a20
|
||||
COLUMN last_call_et HEADING "LastCall|(sec)" FORMAT 99,999
|
||||
COLUMN logon_time FORMAT a15
|
||||
COLUMN service_name FORMAT a21
|
||||
COLUMN process FORMAT a15
|
||||
COLUMN osuser FORMAT a10 TRUNCATE
|
||||
COLUMN machine FORMAT a30
|
||||
COLUMN program FORMAT a15 TRUNCATE
|
||||
COLUMN sql_text FORMAT a60 TRUNCATE
|
||||
COLUMN event FORMAT a30 TRUNCATE
|
||||
|
||||
--BREAK ON QCSID ON QCSID SKIP 1
|
||||
/*
|
||||
WITH parallel_sessions AS
|
||||
(
|
||||
SELECT pxs.inst_id
|
||||
, pxs.sid
|
||||
, pxs.serial#
|
||||
, pxs.qcinst_id
|
||||
, pxs.qcsid
|
||||
, pxs.qcserial#
|
||||
, degree
|
||||
, req_degree
|
||||
FROM gv$px_session pxs
|
||||
ORDER BY pxs.qcinst_id NULLS FIRST
|
||||
, pxs.qcsid
|
||||
, pxs.qcserial#
|
||||
, pxs.inst_id
|
||||
, pxs.sid
|
||||
, pxs.serial#
|
||||
)
|
||||
*/
|
||||
SELECT /*+ RULE */
|
||||
--, level
|
||||
DECODE(level,1, '' , ' ')
|
||||
|| LPAD('> ',(level-1)*5,'|--')
|
||||
|| s.sid sid
|
||||
, s.inst_id
|
||||
-- , pxs.serial#
|
||||
-- , pxs.qcinst_id
|
||||
-- , pxs.qcsid
|
||||
-- , pxs.qcserial#
|
||||
, p.spid
|
||||
-- , pxs.req_degree
|
||||
, pxs.degree
|
||||
-- , s.status
|
||||
, s.state
|
||||
, s.last_call_et
|
||||
, TO_CHAR(s.LOGON_TIME,'DD-MON-YY HH24:MI') logon_time
|
||||
, s.sql_id
|
||||
, s.username
|
||||
, s.service_name
|
||||
, s.osuser
|
||||
, s.program
|
||||
, sql.sql_text
|
||||
FROM gv$session s
|
||||
-- , parallel_sessions pxs
|
||||
, gv$px_session pxs
|
||||
, gv$process p
|
||||
, gv$sqltext sql
|
||||
, gv$session s2
|
||||
WHERE p.inst_id = s.inst_id
|
||||
AND p.addr = s.paddr
|
||||
AND s.inst_id = pxs.inst_id (+)
|
||||
AND s.sid = pxs.sid (+)
|
||||
AND s.serial# = pxs.serial# (+)
|
||||
AND s.inst_id = sql.inst_id (+)
|
||||
AND s.sql_id = sql.sql_id (+)
|
||||
AND pxs.qcinst_id = s2.inst_id (+)
|
||||
AND pxs.qcsid = s2.sid (+)
|
||||
AND sql.PIECE (+) = 0
|
||||
AND s.status <> 'INACTIVE'
|
||||
AND s.type <> 'BACKGROUND'
|
||||
AND s.inst_id LIKE '&&INST_ID'
|
||||
&&WHERE_CLAUSE
|
||||
CONNECT BY PRIOR pxs.inst_id = NVL(pxs.qcinst_id,pxs.inst_id)
|
||||
AND PRIOR pxs.sid = pxs.qcsid
|
||||
AND PRIOR pxs.serial# = pxs.qcserial#
|
||||
START WITH pxs.qcinst_id IS NULL
|
||||
/*
|
||||
ORDER BY NVL(s2.last_call_et,s.last_call_et) DESC
|
||||
-- , NVL(pxs.qcinst_id,pxs.inst_id)
|
||||
-- , pxs.qcsid
|
||||
, s.inst_id
|
||||
, s.sid
|
||||
*/
|
||||
;
|
||||
|
||||
UNDEFINE INST_ID
|
||||
UNDEFINE WHERE_CLAUSE
|
||||
|
||||
@@footer
|
||||
Reference in New Issue
Block a user