63 lines
2.1 KiB
SQL
63 lines
2.1 KiB
SQL
--------------------------------------------------------------------------------
|
|
--
|
|
-- File name: channels.sql
|
|
-- Purpose: Report KSR channel message counts by channel endpoints
|
|
--
|
|
-- Author: Tanel Poder
|
|
-- Copyright: (c) http://www.tanelpoder.com
|
|
--
|
|
-- Usage: @channels
|
|
--
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
--break on channel_name skip 1
|
|
col channels_program head PROGRAM for a20 truncate
|
|
|
|
SELECT * FROM (
|
|
SELECT
|
|
cd.name_ksrcdes channel_name
|
|
-- , cd.id_ksrcdes descr
|
|
, c.ctxp_ksrchdl context_ptr
|
|
, CASE WHEN BITAND(c.flags_ksrchdl, 1) = 1 THEN 'PUB '
|
|
END ||
|
|
CASE WHEN BITAND(c.flags_ksrchdl, 2) = 2 THEN 'SUB ' END ||
|
|
CASE WHEN BITAND(c.flags_ksrchdl, 16) = 16 THEN 'INA' END flags
|
|
, NVL(s.sid, -1) sid
|
|
, p.addr paddr
|
|
-- , p.program
|
|
-- , p.spid
|
|
, SUBSTR(NVL(s.program,p.program),INSTR(NVL(s.program,p.program),'(')) channels_program
|
|
, c.mesgcnt_ksrchdl mesg_count
|
|
, CASE WHEN BITAND(cd.scope_ksrcdes, 1) = 1 THEN 'ANY ' END ||
|
|
CASE WHEN BITAND(cd.scope_ksrcdes, 2) = 2 THEN 'LGWR ' END ||
|
|
CASE WHEN BITAND(cd.scope_ksrcdes, 4) = 4 THEN 'DBWR ' END ||
|
|
CASE WHEN BITAND(cd.scope_ksrcdes, 8) = 8 THEN 'PQ ' END ||
|
|
CASE WHEN BITAND(cd.scope_ksrcdes, 256) = 256 THEN 'REG ' END ||
|
|
CASE WHEN BITAND(cd.scope_ksrcdes, 512) = 512 THEN 'NFY ' END scope
|
|
, c.kssobown owning_so
|
|
-- , c.owner_ksrchdl owning_proc
|
|
-- , s.serial#
|
|
-- , s.username
|
|
-- , s.type
|
|
, cd.maxsize_ksrcdes
|
|
-- , EVTNUM_KSRCHDL
|
|
FROM
|
|
x$ksrchdl c
|
|
, v$process p
|
|
, v$session s
|
|
, X$KSRCCTX ctx
|
|
, X$KSRCDES cd
|
|
WHERE
|
|
s.paddr (+) = c.owner_ksrchdl
|
|
AND p.addr (+) = c.owner_ksrchdl
|
|
AND c.ctxp_ksrchdl = ctx.addr
|
|
AND cd.indx = ctx.name_ksrcctx
|
|
AND bitand(c.kssobflg,1) = 1
|
|
-- AND lower(cd.name_ksrcdes) like '%&1%'
|
|
)
|
|
WHERE &1
|
|
ORDER BY
|
|
channel_name
|
|
, flags
|
|
/
|