MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/catprp.sql

Rem
Rem $Header: rdbms/admin/catprp.sql /main/20 2014/12/11 22:46:35 skayoor Exp $
Rem
Rem catprp.sql
Rem
Rem Copyright (c) 2001, 2014, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      catprp.sql - Streams Propagation Views
Rem
Rem    DESCRIPTION
Rem      <short description of component this file declares/defines>
Rem
Rem    NOTES
Rem      <other useful comments, qualifications, etc.>
Rem
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: rdbms/admin/catprp.sql
Rem SQL_SHIPPED_FILE: rdbms/admin/catprp.sql
Rem SQL_PHASE: CATPRP
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: rdbms/admin/catstr.sql
Rem END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    skayoor     11/30/14 - Proj 58196: Change Select priv to Read Priv
Rem    surman      12/29/13 - 13922626: Update SQL metadata
Rem    talliu      06/28/13 - Add CDB view for DBA view
Rem    surman      03/27/12 - 13615447: Add SQL patching tags
Rem    rmao        03/20/09 - bug7561840: set propagation status to ABORTED if
Rem                           its queue schedule is disabled by error
Rem    jinwu       09/04/08 - populate dba_propagation.error_message based on
Rem                           last CCAC run mode
Rem    haxu        04/24/08 - populate dba_propagation.error_message for CCAC
Rem    jinwu       05/19/06 - add column acked_scn to dba_propagation 
Rem    liwong      05/10/06 - rename auto_merge to auto_merge_threshold 
Rem    juyuan      01/16/05 - add columns to dba_propagation
Rem    narora      03/02/05 - bug 4209149: add status to dba_propagation 
Rem    rvenkate    05/11/04 - queue_to_queue support 
Rem    elu         04/23/03 - modify all_propagation
Rem    elu         09/26/02 - add negative rulesets
Rem    sbalaram    06/19/02 - Fix bug 2395423
Rem    weiwang     02/01/02 - fix [dba|all]_propagation views
Rem    wesmith     01/10/02 - add grants to propagation views
Rem    sbalaram    12/10/01 - use create or replace synonym
Rem    alakshmi    11/08/01 - Merged alakshmi_apicleanup
Rem    jingliu     11/06/01 - fix typo
Rem    wesmith     11/04/01 - add public synonym for all_propagation
Rem    liwong      11/04/01 - Add all_propagation
Rem    kmeiyyap    11/02/01 - Created
Rem

@@?/rdbms/admin/sqlsessstart.sql

CREATE OR REPLACE VIEW DBA_PROPAGATION
(PROPAGATION_NAME, SOURCE_QUEUE_OWNER, SOURCE_QUEUE_NAME, 
 DESTINATION_QUEUE_OWNER, DESTINATION_QUEUE_NAME, DESTINATION_DBLINK,
 RULE_SET_OWNER, RULE_SET_NAME, NEGATIVE_RULE_SET_OWNER, 
 NEGATIVE_RULE_SET_NAME, QUEUE_TO_QUEUE, STATUS,
 ERROR_MESSAGE, ERROR_DATE, ORIGINAL_PROPAGATION_NAME,
 ORIGINAL_SOURCE_QUEUE_OWNER, ORIGINAL_SOURCE_QUEUE_NAME, ACKED_SCN,
 AUTO_MERGE_THRESHOLD)
AS
SELECT p.propagation_name, p.source_queue_schema, p.source_queue,
       p.destination_queue_schema, p.destination_queue, p.destination_dblink,
       p.ruleset_schema, p.ruleset, p.negative_ruleset_schema, 
       p.negative_ruleset,
       case when bitand(p.spare1, 1) = 1 THEN 'TRUE' ELSE 'FALSE' END,
       decode (qs.schedule_disabled, 'Y',
                case when qs.failures >= 16 THEN 'ABORTED' ELSE 'DISABLED' END,
                                     'N', 'ENABLED', 
                                     null, 'ABORTED'),
       case when bitand(p.spare1, 4) = 4 THEN  p.error_msg
                                         ELSE qs.last_error_msg END,
       case when bitand(p.spare1, 4) = 4 THEN  p.error_date 
                                         ELSE qs.last_error_date END,
                                    /* look at errors based on last run mode */
       p.original_propagation_name,
       p.original_source_queue_schema, p.original_source_queue, p.acked_scn,
       auto_merge_threshold
  FROM sys.streams$_propagation_process p, dba_queue_schedules qs
  WHERE p.source_queue_schema = qs.schema (+) and
        p.source_queue = qs.qname (+) and
        qs.destination (+) = 
        case when bitand(p.spare1, 1) = 1 THEN
        dbms_logrep_util.canonical_concat(p.destination_queue_schema,
                                          p.destination_queue) || '@' ||
        p.destination_dblink
        ELSE p.destination_dblink END and
        qs.message_delivery_mode (+) = 'PERSISTENT'
/
COMMENT ON TABLE dba_propagation IS
'Streams propagation in the database'
/
COMMENT ON COLUMN dba_propagation.propagation_name IS
'name of the Streams propagation'
/
COMMENT ON COLUMN dba_propagation.source_queue_owner IS
'owner of the propgation source queue'
/
COMMENT ON COLUMN dba_propagation.source_queue_name IS
'name of the propagation source queue'
/
COMMENT ON COLUMN dba_propagation.destination_queue_owner IS
'owner of the propagation destination queue'
/
COMMENT ON COLUMN dba_propagation.destination_queue_name IS
'name of the propagation destination queue'
/
COMMENT ON COLUMN dba_propagation.destination_dblink IS
'database link to access the propagation destination queue'
/
COMMENT ON COLUMN dba_propagation.rule_set_owner IS
'propagation rule set owner'
/
COMMENT ON COLUMN dba_propagation.rule_set_name IS
'propagation rule set name'
/
COMMENT ON COLUMN dba_propagation.negative_rule_set_owner IS
'propagation negative rule set owner'
/
COMMENT ON COLUMN dba_propagation.negative_rule_set_name IS
'propagation negative rule set name'
/
COMMENT ON COLUMN dba_propagation.status IS
'Status of the propagation: DISABLED, ENABLED, ABORTED'
/
COMMENT ON COLUMN dba_propagation.error_message IS
'Error message last encountered by propagation'
/
COMMENT ON COLUMN dba_propagation.error_date IS
'The time that propagation last encountered an error'
/
COMMENT ON COLUMN dba_propagation.original_propagation_name IS
'The original propagation from which this propagation is cloned'
/
COMMENT ON COLUMN dba_propagation.original_source_queue_owner IS
'The source queue owner of original propagation'
/
COMMENT ON COLUMN dba_propagation.original_source_queue_name IS
'The source queue name of original propagation'
/
COMMENT ON COLUMN dba_propagation.auto_merge_threshold IS
'If not null, merge_streams() will be called on this propagation automatically'
/


CREATE OR REPLACE PUBLIC SYNONYM dba_propagation FOR dba_propagation
/
GRANT SELECT ON dba_propagation TO select_catalog_role
/



execute CDBView.create_cdbview(false,'SYS','DBA_PROPAGATION','CDB_PROPAGATION');
grant select on SYS.CDB_PROPAGATION to select_catalog_role
/
create or replace public synonym CDB_PROPAGATION for SYS.CDB_PROPAGATION
/

-- View of propagation processes
CREATE OR REPLACE VIEW ALL_PROPAGATION
AS
SELECT p.*
FROM   dba_propagation p, all_queues q
WHERE p.source_queue_owner = q.owner
   AND p.source_queue_name = q.name
   AND ((p.rule_set_owner IS NULL and p.rule_set_name IS NULL) OR
        ((p.rule_set_owner, p.rule_set_name) IN 
          (SELECT r.rule_set_owner, r.rule_set_name
             FROM all_rule_sets r)))
   AND ((p.negative_rule_set_owner IS NULL AND 
         p.negative_rule_set_name IS NULL) OR
        ((p.negative_rule_set_owner, p.negative_rule_set_name) IN 
          (SELECT r.rule_set_owner, r.rule_set_name
             FROM all_rule_sets r)))
/
COMMENT ON TABLE all_propagation IS
'Streams propagation seen by the user'
/
COMMENT ON COLUMN all_propagation.propagation_name IS
'name of the Streams propagation'
/
COMMENT ON COLUMN all_propagation.source_queue_owner IS
'owner of the propgation source queue'
/
COMMENT ON COLUMN all_propagation.source_queue_name IS
'name of the propagation source queue'
/
COMMENT ON COLUMN all_propagation.destination_queue_owner IS
'owner of the propagation destination queue'
/
COMMENT ON COLUMN all_propagation.destination_queue_name IS
'name of the propagation destination queue'
/
COMMENT ON COLUMN all_propagation.destination_dblink IS
'database link to access the propagation destination queue'
/
COMMENT ON COLUMN all_propagation.rule_set_owner IS
'propagation rule set owner'
/
COMMENT ON COLUMN all_propagation.rule_set_name IS
'propagation rule set name'
/
COMMENT ON COLUMN all_propagation.negative_rule_set_owner IS
'propagation negative rule set owner'
/
COMMENT ON COLUMN all_propagation.negative_rule_set_name IS
'propagation negative rule set name'
/
COMMENT ON COLUMN all_propagation.status IS
'Status of the propagation: DISABLED, ENABLED, ABORTED'
/
COMMENT ON COLUMN all_propagation.error_message IS
'Error message last encountered by propagation'
/
COMMENT ON COLUMN all_propagation.error_date IS
'The time that propagation last encountered an error'
/

CREATE OR REPLACE PUBLIC SYNONYM all_propagation FOR all_propagation
/
GRANT READ ON all_propagation TO public with grant option
/

@?/rdbms/admin/sqlsessend.sql

OHA YOOOO