REM REM DBAToolZ NOTE: REM This script was obtained from DBAToolZ.com REM It's configured to work with SQL Directory (SQLDIR). REM SQLDIR is a utility that allows easy organization and REM execution of SQL*Plus scripts using user-friendly menu. REM Visit DBAToolZ.com for more details and free SQL scripts. REM REM REM File: REM s_pq_slave_sec.sql REM REM PQ REM REM Author: REM J.P.Lewis REM REM Purpose: REM REM WARNING: REM -------- REM MUST BE RAN AS SYS creates a VIEW and public SYNONYM REM ------------------------------------------------------------------- REM Improved view to replace v$pq_slave rem This script creates a view similar to the Oracle-supplied view rem v$pq_slave only a lot better. rem -- rem It reports: rem messages sent and received split into local and remote rem times in seconds, and CPU time in hundredths rem the process address (v$process.addr) of the slave rem rem the calling instance number rem the process (v$process.addr, v$session.paddr) of the caller rem rem An id for the slave rem the number of times that process has been started rem the number of times that pmon has cleaned up the process rem the number of times the process has been used rem -- rem Note: rem Some of the stats (e.g. cpu_sec_cur) are not updated in real time. rem This means they are always zero. rem -- rem Furthermore, some of the totals are per startup (cpu time), whilst rem some are for the full lifetime of the instance (messages sent etc.) REM REM REM Usage: REM s_pq_slave_sec.sql REM REM Example: REM s_pq_slave_sec.sql REM REM REM History: REM 03-13-1998 J.P.Lewis Created REM 08-01-2001 VMOGILEV Added to DBATOOLZ library REM REM set echo on create or replace view v$pq_slave_sec as select kxfpdpnum id, kxfpdpnam name, kxfpdppro process, decode(bitand(kxfpdpflg, 16), 0, 'BUSY', 'IDLE') status, decode(bitand(kxfpdpflg, 8), 0, 'NO', 'YES') active, kxfpdpsta started, kxfpdpcln cleaned, kxfpdpcin calling_inst, kxfpdpcpr calling_paddr, kxfpdpses sessions, floor(kxfpdpcit / 100) idle_sec_cur, floor(kxfpdpcbt / 100) busy_sec_cur, round(kxfpdpcct / 100,2) cpu_sec_cur, kxfpdpclsnt local_sent_cur, kxfpdpcrsnt remote_sent_cur, kxfpdpclrcv local_recd_cur, kxfpdpcrrcv remote_recd_cur, floor((kxfpdptit + kxfpdpcit) / 100) idle_sec_total, floor((kxfpdptbt + kxfpdpcbt) / 100) busy_sec_total, round((kxfpdptct + kxfpdpcct) / 100,2) cpu_sec_total, kxfpdptlsnt + kxfpdpclsnt local_sent_tot, kxfpdptrsnt + kxfpdpcrsnt remote_sent_tot, kxfpdptlrcv + kxfpdpclrcv local_recd_tot, kxfpdptrrcv + kxfpdpcrrcv remote_recd_tot from x$kxfpdp where bitand(kxfpdpflg, 8) != 0 ; create public synonym v$pq_slave_sec for sys.v$pq_slave_sec;