select cp.capture_name,
cp.queue_name, cp.queue_owner, cp.ruleset_name,
cp.ruleset_owner, u.name, cp.start_scn,
decode(cp.status, 1, 'DISABLED',
2, 'ENABLED',
4, 'ABORTED', 'UNKNOWN'),
cp.spare1, cp.spare2,
decode(cp.use_dblink, 1, 'YES', 'NO'),
cp.first_scn, cp.source_dbname, dl.source_dbid, dl.source_resetlogs_scn,
dl.source_resetlogs_time, cp.logmnr_sid, cp.negative_ruleset_name,
cp.negative_ruleset_owner,
nvl(dl.checkpoint_scn, 0),
dbms_logrep_util.get_req_ckpt_scn(dl.id, nvl(cp.spare2,0)),
decode(bitand(cp.flags, 4), 4, 'IMPLICIT', 'EXPLICIT'),
cp.status_change_time, cp.error_number,
cp.error_message, cp.version,
decode(bitand(cp.flags, 64), 64, 'DOWNSTREAM', 'LOCAL'),
dbms_logrep_util.get_last_enq_scn(cp.capture_name), cp.spare3,
cp.start_scn_time,
-- When GG and XOUT are set concurrently, GG purpose takes precedence.
(case
when bitand(cp.flags, 524288) = 524288 -- 0x80000
then 'GoldenGate Capture'
when bitand(cp.flags, 1048576) = 1048576 -- 0x100000
then 'XStream Out'
when bitand(cp.flags, 2048)= 2048 -- 0x800
then 'AUDIT VAULT'
when bitand(cp.flags, 2) = 2
then 'CHANGE DATA CAPTURE'
else
( select 'XStream Streams' from dual where exists
(select 1 from sys.props$
where name = 'GG_XSTREAM_FOR_STREAMS' and value$ = 'T')
union
select 'Streams' from dual where NOT exists
(select 1 from sys.props$
where name = 'GG_XSTREAM_FOR_STREAMS' and value$ = 'T'))
end), cp.source_root_name,
cp.spare5
from "_DBA_CAPTURE" cp, dba_logmnr_session dl,
sys.user$ u
where dl.id (+) = cp.logmnr_sid
and cp.capture_userid = u.user# (+)
and (bitand(cp.flags,512) != 512) -- skip sync capture
SELECT CP.CAPTURE_NAME
,
CP.QUEUE_NAME
, CP.QUEUE_OWNER
, CP.RULESET_NAME
,
CP.RULESET_OWNER
, U.NAME
, CP.START_SCN
,
DECODE(CP.STATUS
, 1
, 'DISABLED'
,
2
, 'ENABLED'
,
4
, 'ABORTED'
, 'UNKNOWN')
,
CP.SPARE1
, CP.SPARE2
,
DECODE(CP.USE_DBLINK
, 1
, 'YES'
, 'NO')
,
CP.FIRST_SCN
, CP.SOURCE_DBNAME
, DL.SOURCE_DBID
, DL.SOURCE_RESETLOGS_SCN
,
DL.SOURCE_RESETLOGS_TIME
, CP.LOGMNR_SID
, CP.NEGATIVE_RULESET_NAME
,
CP.NEGATIVE_RULESET_OWNER
,
NVL(DL.CHECKPOINT_SCN
, 0)
,
DBMS_LOGREP_UTIL.GET_REQ_CKPT_SCN(DL.ID
, NVL(CP.SPARE2
, 0))
,
DECODE(BITAND(CP.FLAGS
, 4)
, 4
, 'IMPLICIT'
, 'EXPLICIT')
,
CP.STATUS_CHANGE_TIME
, CP.ERROR_NUMBER
,
CP.ERROR_MESSAGE
, CP.VERSION
,
DECODE(BITAND(CP.FLAGS
, 64)
, 64
, 'DOWNSTREAM'
, 'LOCAL')
,
DBMS_LOGREP_UTIL.GET_LAST_ENQ_SCN(CP.CAPTURE_NAME)
, CP.SPARE3
,
CP.START_SCN_TIME
,
-- WHEN GG
AND XOUT ARE SET CONCURRENTLY
, GG PURPOSE TAKES PRECEDENCE.
(CASE
WHEN BITAND(CP.FLAGS
, 524288) = 524288 -- 0X80000
THEN 'GOLDENGATE CAPTURE'
WHEN BITAND(CP.FLAGS
, 1048576) = 1048576 -- 0X100000
THEN 'XSTREAM OUT'
WHEN BITAND(CP.FLAGS
, 2048)= 2048 -- 0X800
THEN 'AUDIT VAULT'
WHEN BITAND(CP.FLAGS
, 2) = 2
THEN 'CHANGE DATA CAPTURE'
ELSE
( SELECT 'XSTREAM STREAMS'
FROM DUAL
WHERE EXISTS
(SELECT 1
FROM SYS.PROPS$
WHERE NAME = 'GG_XSTREAM_FOR_STREAMS'
AND VALUE$ = 'T')
UNION
SELECT 'STREAMS'
FROM DUAL
WHERE NOT EXISTS
(SELECT 1
FROM SYS.PROPS$
WHERE NAME = 'GG_XSTREAM_FOR_STREAMS'
AND VALUE$ = 'T'))
END)
, CP.SOURCE_ROOT_NAME
,
CP.SPARE5
FROM "_DBA_CAPTURE" CP
, DBA_LOGMNR_SESSION DL
,
SYS.USER$ U
WHERE DL.ID (+) = CP.LOGMNR_SID
AND CP.CAPTURE_USERID = U.USER# (+)
AND (BITAND(CP.FLAGS
, 512) != 512) -- SKIP SYNC CAPTURE
|
|
|