Go to main content
1/55
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Changes in This Release for Oracle Streams Concepts and Administration
Changes in Oracle Database 12
c
Release 1 (12.1)
Deprecated Features
Part I Essential Oracle Streams Concepts
1
Introduction to Oracle Streams
1.1
Overview of Oracle Streams
1.2
What Can Oracle Streams Do?
1.2.1
Capture Messages at a Database
1.2.2
Stage Messages in a Queue
1.2.3
Propagate Messages from One Queue to Another
1.2.4
Consume Messages
1.2.5
Detect and Resolve Conflicts
1.2.6
Transform Messages
1.2.7
Track Messages with Oracle Streams Tags
1.2.8
Share Information with Non-Oracle Databases
1.3
What Are the Uses of Oracle Streams?
1.3.1
Data Replication
1.3.2
Data Warehouse Loading
1.3.3
Database Availability During Upgrade and Maintenance Operations
1.3.4
Message Queuing
1.3.5
Event Management and Notification
1.3.6
Data Protection
1.4
Sample Oracle Streams Configurations
1.4.1
Sample Hub-and-Spoke Replication Configuration
1.4.2
Sample Replication Configuration with Downstream Capture
1.4.3
Sample Replication Configuration That Uses Synchronous Captures
1.4.4
Sample N-Way Replication Configuration
1.4.5
Sample Configuration That Performs Capture and Apply in a Single Database
1.4.6
Sample Messaging Configuration
1.5
Oracle Streams Documentation Roadmap
1.5.1
Documentation for Learning About Oracle Streams
1.5.2
Documentation About Setting Up or Extending an Oracle Streams Environment
1.5.3
Documentation About Managing an Oracle Streams Environment
1.5.4
Documentation About Monitoring an Oracle Streams Environment
1.5.5
Documentation About Using Oracle Streams for Upgrade and Maintenance
2
Oracle Streams Information Capture
2.1
Ways to Capture Information with Oracle Streams
2.1.1
Implicit Capture
2.1.1.1
Capture Processes
2.1.1.2
Synchronous Captures
2.1.2
Explicit Capture
2.2
Types of Information Captured with Oracle Streams
2.2.1
Logical Change Records (LCRs)
2.2.1.1
Row LCRs
2.2.1.2
DDL LCRs
2.2.1.3
Extra Information in LCRs
2.2.2
User Messages
2.3
Summary of Information Capture Options with Oracle Streams
2.4
Instantiation in an Oracle Streams Environment
2.5
Implicit Capture with an Oracle Streams Capture Process
2.5.1
Introduction to Capture Processes
2.5.2
Capture Process Rules
2.5.3
Data Types Captured by Capture Processes
2.5.4
Types of DML Changes Captured by Capture Processes
2.5.5
Supplemental Logging in an Oracle Streams Environment
2.5.6
Local Capture and Downstream Capture
2.5.6.1
Local Capture
2.5.6.1.1
The Source Database Performs All Change Capture Actions
2.5.6.1.2
Advantages of Local Capture
2.5.6.2
Downstream Capture
2.5.6.2.1
Real-Time Downstream Capture
2.5.6.2.2
Archived-Log Downstream Capture
2.5.6.2.3
The Downstream Database Performs Most Change Capture Actions
2.5.6.2.4
Advantages of Downstream Capture
2.5.6.2.5
Optional Database Link From the Downstream Database to the Source Database
2.5.6.2.6
Operational Requirements for Downstream Capture
2.5.7
SCN Values Related to a Capture Process
2.5.7.1
Captured SCN and Applied SCN
2.5.7.2
First SCN and Start SCN
2.5.7.2.1
First SCN
2.5.7.2.2
Start SCN
2.5.7.2.3
Start SCN Must Be Greater Than or Equal to First SCN
2.5.7.2.4
A Start SCN Setting That Is Before Preparation for Instantiation
2.5.8
Oracle Streams Capture Processes and RESTRICTED SESSION
2.5.9
Capture Process Subcomponents
2.5.10
Capture User
2.5.11
Capture Process States
2.5.12
Capture Process Parameters
2.5.13
Persistent Capture Process Status Upon Database Restart
2.6
Implicit Capture with Synchronous Capture
2.6.1
Introduction to Synchronous Capture
2.6.2
Synchronous Capture and Queues
2.6.3
Synchronous Capture Rules
2.6.4
Data Types Captured by Synchronous Capture
2.6.5
Types of DML Changes Captured by Synchronous Capture
2.6.6
Capture User for Synchronous Capture
2.6.7
Multiple Synchronous Captures in a Single Database
2.7
Explicit Capture by Applications
2.7.1
Types of Messages That Can Be Enqueued Explicitly
2.7.1.1
User Messages
2.7.1.2
Logical Change Records (LCRs) and Messaging
2.7.2
Enqueue Features
3
Oracle Streams Staging and Propagation
3.1
Introduction to Message Staging and Propagation
3.2
Queues
3.2.1
ANYDATA Queues and Typed Queues
3.2.2
Persistent Queues and Buffered Queues
3.2.2.1
Queues and Oracle Streams Clients
3.2.2.1.1
Queues and Capture Processes
3.2.2.1.2
Queues and Synchronous Capture
3.2.2.1.3
Queues and Propagations
3.2.2.1.4
Queues and Apply Processes
3.2.2.1.5
Queues and Messaging Clients
3.3
Message Propagation Between Queues
3.3.1
Propagation Rules
3.3.2
Queue-to-Queue Propagations
3.3.3
Ensured Message Delivery
3.3.4
Directed Networks
3.3.4.1
Queue Forwarding and Apply Forwarding
3.3.4.1.1
Advantages of Queue Forwarding
3.3.4.1.2
Advantages of Apply Forwarding
4
Oracle Streams Information Consumption
4.1
Overview of Information Consumption with Oracle Streams
4.1.1
Ways to Consume Information with Oracle Streams
4.1.1.1
Implicit Consumption
4.1.1.2
Explicit Consumption
4.1.2
Types of Information Consumed with Oracle Streams
4.1.2.1
Captured LCRs
4.1.2.2
Persistent LCRs
4.1.2.3
Buffered LCRs
4.1.2.4
Persistent User Messages
4.1.2.5
Buffered User Messages
4.1.3
Summary of Information Consumption Options
4.2
Implicit Consumption with an Apply Process
4.2.1
Introduction to the Apply Process
4.2.2
Apply Process Rules
4.2.3
Types of Messages That Can Be Processed with an Apply Process
4.2.4
Message Processing Options for an Apply Process
4.2.4.1
DML Handlers
4.2.4.1.1
Statement DML Handlers
4.2.4.1.2
Procedure DML Handlers
4.2.4.2
Error Handlers
4.2.4.3
DDL Handlers
4.2.4.4
Message Handlers
4.2.4.5
Precommit Handlers
4.2.4.6
Considerations for Apply Handlers
4.2.4.7
Summary of Message Processing Options
4.2.5
The Source of Messages Applied by an Apply Process
4.2.6
Data Types Applied
4.2.7
Automatic Data Type Conversion During Apply
4.2.7.1
Automatic Trimming of Character Data Types During Apply
4.2.7.2
Automatic Conversion and LOB Data Types
4.2.8
SQL Generation
4.2.8.1
Interfaces for Performing SQL Generation
4.2.8.2
SQL Generation Formats
4.2.8.3
SQL Generation and Data Types
4.2.8.3.1
SQL Generation and Automatic Data Type Conversion
4.2.8.3.2
SQL Generation and LOB, LONG, LONG RAW, and XMLType Data Types
4.2.8.4
SQL Generation and Character Sets
4.2.8.5
Sample Generated SQL Statements
4.2.8.5.1
Sample Generated SQL Statements for the hr.employees Table
4.2.8.5.2
Sample Generated SQL Statements for a Table With LOB Columns
4.2.9
Oracle Streams Apply Processes and RESTRICTED SESSION
4.2.10
Apply Process Subcomponents
4.2.10.1
Reader Server States
4.2.10.2
Coordinator Process States
4.2.10.3
Apply Server States
4.2.11
Apply User
4.2.12
Apply Process Parameters
4.2.13
Persistent Apply Process Status Upon Database Restart
4.2.14
The Error Queue
4.3
Explicit Consumption with a Messaging Client
4.4
Explicit Consumption with Manual Dequeue
5
How Rules Are Used in Oracle Streams
5.1
Overview of How Rules Are Used in Oracle Streams
5.2
Rule Sets and Rule Evaluation of Messages
5.2.1
Oracle Streams Client with No Rule Set
5.2.2
Oracle Streams Client with a Positive Rule Set Only
5.2.3
Oracle Streams Client with a Negative Rule Set Only
5.2.4
Oracle Streams Client with Both a Positive and a Negative Rule Set
5.2.5
Oracle Streams Client with One or More Empty Rule Sets
5.2.6
Summary of Rule Sets and Oracle Streams Client Behavior
5.3
System-Created Rules
5.3.1
Global Rules
5.3.1.1
Global Rules Example
5.3.1.2
System-Created Global Rules Avoid Empty Rule Conditions Automatically
5.3.2
Schema Rules
5.3.2.1
Schema Rule Example
5.3.3
Table Rules
5.3.3.1
Table Rules Example
5.3.3.1.1
Apply All Row LCRs Related to the hr.locations Table
5.3.3.1.2
Apply All DDL LCRs Related to the hr.countries Table
5.3.3.1.3
Summary of Rules
5.3.4
Subset Rules
5.3.4.1
Subset Rules Example
5.3.4.2
Row Migration and Subset Rules
5.3.4.2.1
Row Migration During Capture
5.3.4.2.2
Row Migration During Propagation
5.3.4.2.3
Row Migration During Apply
5.3.4.2.4
Row Migration During Dequeue by a Messaging Client
5.3.4.3
Subset Rules and Supplemental Logging
5.3.4.4
Guidelines for Using Subset Rules
5.3.4.4.1
Use Capture Subset Rules When All Destinations Need Only a Subset of Changes
5.3.4.4.2
Use Propagation or Apply Subset Rules When Some Destinations Need Subsets
5.3.4.4.3
Ensure That the Table Where Subset Row LCRs Are Applied Is a Subset Table
5.3.5
Message Rules
5.3.5.1
Message Rule Example
5.3.5.1.1
Dequeue User Messages If region Is EUROPE and priority Is 1
5.3.5.1.2
Send User Messages to a Message Handler If region Is AMERICAS and priority Is 2
5.3.5.1.3
Summary of Rules
5.3.6
System-Created Rules and Negative Rule Sets
5.3.6.1
Negative Rule Set Example
5.3.6.1.1
Apply All DML Changes to the Tables in the hr Schema
5.3.6.1.2
Discard Row LCRs Containing DML Changes to the hr.job_history Table
5.3.6.1.3
Summary of Rules
5.3.7
System-Created Rules with Added User-Defined Conditions
6
Rule-Based Transformations
6.1
Declarative Rule-Based Transformations
6.2
Custom Rule-Based Transformations
6.2.1
Custom Rule-Based Transformations and Action Contexts
6.2.2
Required Privileges for Custom Rule-Based Transformations
6.3
Rule-Based Transformations and Oracle Streams Clients
6.3.1
Rule-Based Transformations and Capture Processes
6.3.1.1
Rule-Based Transformation Errors During Capture by a Capture Process
6.3.2
Rule-Based Transformations and Synchronous Captures
6.3.2.1
Rule-Based Transformations and Errors During Capture by a Synchronous Capture
6.3.3
Rule-Based Transformations and Propagations
6.3.3.1
Rule-Based Transformation Errors During Propagation
6.3.4
Rule-Based Transformations and an Apply Process
6.3.4.1
Rule-Based Transformation Errors During Apply Process Dequeue
6.3.4.2
Apply Errors on Transformed Messages
6.3.5
Rule-Based Transformations and a Messaging Client
6.3.5.1
Rule-Based Transformation Errors During Messaging Client Dequeue
6.3.6
Multiple Rule-Based Transformations
6.4
Transformation Ordering
6.4.1
Declarative Rule-Based Transformation Ordering
6.4.1.1
Default Declarative Transformation Ordering
6.4.1.2
User-Specified Declarative Transformation Ordering
6.5
Considerations for Rule-Based Transformations
Part II Advanced Oracle Streams Concepts
7
Advanced Capture Process Concepts
7.1
Multiple Capture Processes in a Single Database
7.2
Capture Process Checkpoints
7.2.1
Required Checkpoint SCN
7.2.2
Maximum Checkpoint SCN
7.2.3
Checkpoint Retention Time
7.3
A New First SCN Value and Purged LogMiner Data Dictionary Information
7.4
ARCHIVELOG Mode and a Capture Process
7.5
Capture Process Creation
7.5.1
The LogMiner Data Dictionary for a Capture Process
7.5.1.1
Scenario Illustrating Why a Capture Process Needs a LogMiner Data Dictionary
7.5.1.2
Multiple Capture Processes for the Same Source Database
7.6
The Oracle Streams Data Dictionary
7.7
Capture Process Rule Evaluation
8
Advanced Queue Concepts
8.1
Secure Queues
8.1.1
Secure Queues and the SET_UP_QUEUE Procedure
8.1.2
Secure Queues and Oracle Streams Clients
8.2
Transactional and Nontransactional Queues
8.3
Commit-Time Queues
8.3.1
When to Use Commit-Time Queues
8.3.1.1
Transactional Dependency Ordering During Dequeue
8.3.1.2
Consistent Browse of Messages in a Queue
8.3.2
How Commit-Time Queues Work
9
Advanced Propagation Concepts
9.1
Propagation Jobs
9.1.1
Propagation Scheduling and Oracle Streams Propagations
9.1.2
Propagation Jobs and RESTRICTED SESSION
9.2
Oracle Streams Data Dictionary for Propagations
9.3
Binary File Propagation
10
Advanced Apply Process Concepts
10.1
Apply Process Creation
10.2
Apply Processes and Dependencies
10.2.1
How Dependent Transactions Are Applied
10.2.2
Row LCR Ordering During Apply
10.2.3
Dependencies and Constraints
10.2.4
Dependency Detection, Rule-Based Transformations, and Apply Handlers
10.2.5
Virtual Dependency Definitions
10.2.5.1
Value Dependency
10.2.5.2
Object Dependency
10.2.6
Barrier Transactions
10.3
Considerations for Applying DML Changes to Tables
10.3.1
Constraints and Applying DML Changes to Tables
10.3.2
Substitute Key Columns
10.3.3
Apply Process Behavior for Column Discrepancies
10.3.3.1
Missing Columns at the Destination Database
10.3.3.2
Extra Columns at the Destination Database
10.3.3.3
Column Data Type Mismatch
10.3.4
Conflict Resolution and an Apply Process
10.3.5
Handlers and Row LCR Processing
10.3.5.1
No Relevant Handlers
10.3.5.2
Relevant Update Conflict Handler
10.3.5.3
DML Handler But No Relevant Update Conflict Handler
10.3.5.3.1
Statement DML Handler Failure
10.3.5.4
DML Handler And a Relevant Update Conflict Handler
10.3.5.5
Statement DML Handler and Procedure DML Handler
10.3.5.6
Error Handler But No Relevant Update Conflict Handler
10.3.5.7
Error Handler And a Relevant Update Conflict Handler
10.3.5.8
Statement DML Handler and Relevant Error Handler
10.3.5.9
Statement DML Handler, Error Handler, and Relevant Update Conflict Handler
10.4
Considerations for Applying DDL Changes
10.4.1
System-Generated Names
10.4.2
CREATE TABLE AS SELECT Statements
10.4.3
DML Statements within DDL Statements
10.4.3.1
The DDL Statement Contains Derived Values
10.4.3.2
The DDL Statement Fires DML Triggers
10.5
Instantiation SCN and Ignore SCN for an Apply Process
10.6
The Oldest SCN for an Apply Process
10.7
Low-Watermark and High-Watermark for an Apply Process
10.8
Apply Processes and Triggers
10.8.1
Trigger Firing Property
10.8.2
Apply Processes and Triggers Created with the ON SCHEMA Clause
10.9
Oracle Streams Data Dictionary for an Apply Process
10.10
Multiple Apply Processes in a Single Database
11
Advanced Rule Concepts
11.1
The Components of a Rule
11.1.1
Rule Condition
11.1.1.1
Variables in Rule Conditions
11.1.1.2
Simple Rule Conditions
11.1.1.2.1
Simple Rule Expressions
11.1.1.2.2
Conditions
11.1.1.2.3
Constants
11.1.1.2.4
Examples of Simple Rule Conditions
11.1.1.2.5
Benefits of Simple Rules
11.1.2
Rule Evaluation Context
11.1.2.1
Explicit and Implicit Variables
11.1.2.2
Evaluation Context Association with Rule Sets and Rules
11.1.2.3
Evaluation Function
11.1.3
Rule Action Context
11.2
Rule Set Evaluation
11.2.1
Rule Set Evaluation Process
11.2.2
Partial Evaluation
11.3
Database Objects and Privileges Related to Rules
11.3.1
Privileges for Creating Database Objects Related to Rules
11.3.2
Privileges for Altering Database Objects Related to Rules
11.3.3
Privileges for Dropping Database Objects Related to Rules
11.3.4
Privileges for Placing Rules in a Rule Set
11.3.5
Privileges for Evaluating a Rule Set
11.3.6
Privileges for Using an Evaluation Context
11.4
Evaluation Contexts Used in Oracle Streams
11.4.1
Evaluation Context for Global, Schema, Table, and Subset Rules
11.4.2
Evaluation Contexts for Message Rules
11.5
Oracle Streams and Event Contexts
11.6
Oracle Streams and Action Contexts
11.6.1
Purposes of Action Contexts in Oracle Streams
11.6.1.1
Internal LCR Transformations in Subset Rules
11.6.1.2
Information About Declarative Rule-Based Transformations
11.6.1.3
Custom Rule-Based Transformations
11.6.1.4
Execution Directives for Messages During Apply
11.6.1.5
Enqueue Destinations for Messages During Apply
11.6.2
Ensure That Only One Rule Can Evaluate to TRUE for a Particular Rule Condition
11.6.3
Action Context Considerations for Schema and Global Rules
11.7
User-Created Rules, Rule Sets, and Evaluation Contexts
11.7.1
User-Created Rules and Rule Sets
11.7.1.1
Rule Conditions for Specific Types of Operations
11.7.1.2
Rule Conditions that Instruct Oracle Streams Clients to Discard Unsupported LCRs
11.7.1.3
Complex Rule Conditions
11.7.1.3.1
Rule Conditions Using the NOT Logical Condition to Exclude Objects
11.7.1.3.2
Rule Conditions Using the LIKE Condition
11.7.1.4
Rule Conditions with Undefined Variables that Evaluate to NULL
11.7.1.4.1
Examples of Undefined Variables that Result in TRUE Rules for Oracle Streams Clients
11.7.1.4.2
Examples of Undefined Variables that Result in FALSE Rules for Oracle Streams Clients
11.7.1.5
Variables as Function Parameters in Rule Conditions
11.7.2
User-Created Evaluation Contexts
12
Combined Capture and Apply Optimization
12.1
About Combined Capture and Apply Optimization
12.2
Combined Capture and Apply Requirements
12.3
How to Use Combined Capture and Apply
12.4
How to Determine Whether Combined Capture and Apply Is Being Used
12.5
Combined Capture and Apply and Point-in-Time Recovery
13
Oracle Streams High Availability Environments
13.1
Overview of Oracle Streams High Availability Environments
13.2
Protection from Failures
13.2.1
Oracle Streams Replica Database
13.2.1.1
Updates at the Replica Database
13.2.1.2
Heterogeneous Platform Support
13.2.1.3
Multiple Character Sets
13.2.1.4
Mining the Online Redo Logs to Minimize Latency
13.2.1.5
Fast Failover
13.2.1.6
Single Capture for Multiple Destinations
13.2.2
When Not to Use Oracle Streams
13.2.3
Application-Maintained Copies
13.3
Best Practices for Oracle Streams High Availability Environments
13.3.1
Configuring Oracle Streams for High Availability
13.3.1.1
Directly Connecting Every Database to Every Other Database
13.3.1.2
Creating Hub-and-Spoke Configurations
13.3.1.3
Local or Downstream Capture with Oracle Streams Capture Processes
13.3.2
Recovering from Failures
13.3.2.1
Automatic Capture Process Restart After a Failover
13.3.2.2
Database Links Reestablishment After a Failover
13.3.2.3
Propagation Job Restart After a Failover
13.3.2.4
Automatic Apply Process Restart After a Failover
Part III Oracle Streams Administration
14
Introduction to Oracle Streams Administration
14.1
Oracle-Supplied PL/SQL Packages
14.1.1
DBMS_APPLY_ADM Package
14.1.2
DBMS_CAPTURE_ADM Package
14.1.3
DBMS_COMPARISON Package
14.1.4
DBMS_PROPAGATION_ADM Package
14.1.5
DBMS_RULE Package
14.1.6
DBMS_RULE_ADM Package
14.1.7
DBMS_STREAMS Package
14.1.8
DBMS_STREAMS_ADM Package
14.1.9
DBMS_STREAMS_ADVISOR_ADM Package
14.1.10
DBMS_STREAMS_AUTH Package
14.1.11
DBMS_STREAMS_HANDLER_ADM Package
14.1.12
DBMS_STREAMS_MESSAGING Package
14.1.13
DBMS_STREAMS_TABLESPACE_ADM Package
14.1.14
UTL_SPADV Package
14.2
Oracle Streams Data Dictionary Views
14.3
Oracle Streams Tool in Oracle Enterprise Manager Cloud Control
15
Managing Oracle Streams Implicit Capture
15.1
Managing a Capture Process
15.1.1
Starting a Capture Process
15.1.2
Stopping a Capture Process
15.1.3
Managing the Rule Set for a Capture Process
15.1.3.1
Specifying a Rule Set for a Capture Process
15.1.3.1.1
Specifying a Positive Rule Set for a Capture Process
15.1.3.1.2
Specifying a Negative Rule Set for a Capture Process
15.1.3.2
Adding Rules to a Rule Set for a Capture Process
15.1.3.2.1
Adding Rules to the Positive Rule Set for a Capture Process
15.1.3.2.2
Adding Rules to the Negative Rule Set for a Capture Process
15.1.3.3
Removing a Rule from a Rule Set for a Capture Process
15.1.3.4
Removing a Rule Set for a Capture Process
15.1.4
Setting a Capture Process Parameter
15.1.5
Setting the Capture User for a Capture Process
15.1.6
Managing the Checkpoint Retention Time for a Capture Process
15.1.6.1
Setting the Checkpoint Retention Time for a Capture Process to a New Value
15.1.6.2
Setting the Checkpoint Retention Time for a Capture Process to Infinite
15.1.7
Adding an Archived Redo Log File to a Capture Process Explicitly
15.1.8
Setting the First SCN for an Existing Capture Process
15.1.9
Setting the Start SCN for an Existing Capture Process
15.1.10
Specifying Whether Downstream Capture Uses a Database Link
15.1.11
Dropping a Capture Process
15.2
Managing a Synchronous Capture
15.2.1
Managing the Rule Set for a Synchronous Capture
15.2.1.1
Specifying a Rule Set for a Synchronous Capture
15.2.1.2
Adding Rules to a Rule Set for a Synchronous Capture
15.2.1.3
Removing a Rule from a Rule Set for a Synchronous Capture
15.2.2
Setting the Capture User for a Synchronous Capture
15.2.3
Dropping a Synchronous Capture
15.3
Managing Extra Attributes in Captured LCRs
15.3.1
Including Extra Attributes in Implicitly Captured LCRs
15.3.2
Excluding Extra Attributes from Implicitly Captured LCRs
15.4
Switching From a Capture Process to a Synchronous Capture
15.5
Switching from a Synchronous Capture to a Capture Process
16
Managing Staging and Propagation
16.1
Managing Queues
16.1.1
Enabling a User to Perform Operations on a Secure Queue
16.1.2
Disabling a User from Performing Operations on a Secure Queue
16.1.3
Removing a Queue
16.2
Managing Oracle Streams Propagations and Propagation Jobs
16.2.1
Starting a Propagation
16.2.2
Stopping a Propagation
16.2.3
Altering the Schedule of a Propagation Job
16.2.3.1
Altering the Schedule of a Propagation Job for a Queue-to-Queue Propagation
16.2.3.2
Altering the Schedule of a Propagation Job for a Queue-to-Dblink Propagation
16.2.4
Specifying the Rule Set for a Propagation
16.2.4.1
Specifying a Positive Rule Set for a Propagation
16.2.4.2
Specifying a Negative Rule Set for a Propagation
16.2.5
Adding Rules to the Rule Set for a Propagation
16.2.5.1
Adding Rules to the Positive Rule Set for a Propagation
16.2.5.2
Adding Rules to the Negative Rule Set for a Propagation
16.2.6
Removing a Rule from the Rule Set for a Propagation
16.2.7
Removing a Rule Set for a Propagation
16.2.8
Dropping a Propagation
17
Managing Oracle Streams Information Consumption
17.1
Starting an Apply Process
17.2
Stopping an Apply Process
17.3
Managing the Rule Set for an Apply Process
17.3.1
Specifying the Rule Set for an Apply Process
17.3.1.1
Specifying a Positive Rule Set for an Apply Process
17.3.1.2
Specifying a Negative Rule Set for an Apply Process
17.3.2
Adding Rules to the Rule Set for an Apply Process
17.3.2.1
Adding Rules to the Positive Rule Set for an Apply Process
17.3.2.2
Adding Rules to the Negative Rule Set for an Apply Process
17.3.3
Removing a Rule from the Rule Set for an Apply Process
17.3.4
Removing a Rule Set for an Apply Process
17.4
Setting an Apply Process Parameter
17.5
Setting the Apply User for an Apply Process
17.6
Managing a DML Handler
17.6.1
Managing a Statement DML Handler
17.6.1.1
Creating a Statement DML Handler and Adding It to an Apply Process
17.6.1.1.1
Creating a Statement DML Handler With One Statement
17.6.1.1.2
Creating a Statement DML Handler With More Than One Statement
17.6.1.2
Adding Statements to a Statement DML Handler
17.6.1.3
Modifying a Statement in a Statement DML Handler
17.6.1.4
Removing Statements from a Statement DML Handler
17.6.1.5
Removing a Statement DML Handler from an Apply Process
17.6.1.6
Dropping a Statement DML Handler
17.6.2
Managing a Procedure DML Handler
17.6.2.1
Creating a Procedure DML Handler
17.6.2.2
Setting a Procedure DML Handler
17.6.2.3
Unsetting a Procedure DML Handler
17.7
Managing a DDL Handler
17.7.1
Creating a DDL Handler for an Apply Process
17.7.2
Setting the DDL Handler for an Apply Process
17.7.3
Removing the DDL Handler for an Apply Process
17.8
Managing the Message Handler for an Apply Process
17.8.1
Setting the Message Handler for an Apply Process
17.8.2
Unsetting the Message Handler for an Apply Process
17.9
Managing the Precommit Handler for an Apply Process
17.9.1
Creating a Precommit Handler for an Apply Process
17.9.2
Setting the Precommit Handler for an Apply Process
17.9.3
Unsetting the Precommit Handler for an Apply Process
17.10
Specifying That Apply Processes Enqueue Messages
17.10.1
Setting the Destination Queue for Messages that Satisfy a Rule
17.10.2
Removing the Destination Queue Setting for a Rule
17.11
Specifying Execute Directives for Apply Processes
17.11.1
Specifying that Messages that Satisfy a Rule Are Not Executed
17.11.2
Specifying that Messages that Satisfy a Rule Are Executed
17.12
Managing an Error Handler
17.12.1
Creating an Error Handler
17.12.2
Setting an Error Handler
17.12.3
Unsetting an Error Handler
17.13
Managing Apply Errors
17.13.1
Retrying Apply Error Transactions
17.13.1.1
Retrying a Specific Apply Error Transaction
17.13.1.1.1
Retrying a Specific Apply Error Transaction Without a User Procedure
17.13.1.1.2
Retrying a Specific Apply Error Transaction with a User Procedure
17.13.1.2
Retrying All Error Transactions for an Apply Process
17.13.2
Deleting Apply Error Transactions
17.13.2.1
Deleting a Specific Apply Error Transaction
17.13.2.2
Deleting All Error Transactions for an Apply Process
17.14
Managing the Substitute Key Columns for a Table
17.14.1
Setting Substitute Key Columns for a Table
17.14.2
Removing the Substitute Key Columns for a Table
17.15
Using Virtual Dependency Definitions
17.15.1
Setting and Unsetting Value Dependencies
17.15.1.1
Schema Differences and Value Dependencies
17.15.1.2
Undefined Constraints at the Destination Database and Value Dependencies
17.15.2
Creating and Dropping Object Dependencies
17.15.2.1
Creating an Object Dependency
17.15.2.2
Dropping an Object Dependency
17.16
Dropping an Apply Process
18
Managing Rules
18.1
Managing Rule Sets
18.1.1
Creating a Rule Set
18.1.2
Adding a Rule to a Rule Set
18.1.3
Removing a Rule from a Rule Set
18.1.4
Dropping a Rule Set
18.2
Managing Rules
18.2.1
Creating a Rule
18.2.1.1
Creating a Rule without an Action Context
18.2.1.2
Creating a Rule with an Action Context
18.2.2
Altering a Rule
18.2.2.1
Changing a Rule Condition
18.2.2.2
Modifying a Name-Value Pair in a Rule Action Context
18.2.2.3
Adding a Name-Value Pair to a Rule Action Context
18.2.2.4
Removing a Name-Value Pair from a Rule Action Context
18.2.3
Modifying System-Created Rules
18.2.4
Dropping a Rule
18.3
Managing Privileges on Evaluation Contexts, Rule Sets, and Rules
18.3.1
Granting System Privileges on Evaluation Contexts, Rule Sets, and Rules
18.3.2
Granting Object Privileges on an Evaluation Context, Rule Set, or Rule
18.3.3
Revoking System Privileges on Evaluation Contexts, Rule Sets, and Rules
18.3.4
Revoking Object Privileges on an Evaluation Context, Rule Set, or Rule
19
Managing Rule-Based Transformations
19.1
Managing Declarative Rule-Based Transformations
19.1.1
Adding Declarative Rule-Based Transformations
19.1.1.1
Adding a Declarative Rule-Based Transformation that Renames a Table
19.1.1.2
Adding a Declarative Rule-Based Transformation that Adds a Column
19.1.2
Overwriting an Existing Declarative Rule-Based Transformation
19.1.3
Removing Declarative Rule-Based Transformations
19.2
Managing Custom Rule-Based Transformations
19.2.1
Creating a Custom Rule-Based Transformation
19.2.2
Altering a Custom Rule-Based Transformation
19.2.3
Unsetting a Custom Rule-Based Transformation
20
Using Oracle Streams to Record Table Changes
20.1
About Using Oracle Streams to Record Changes to Tables
20.2
Preparing for an Oracle Streams Environment That Records Table Changes
20.2.1
Decisions to Make Before Running the MAINTAIN_CHANGE_TABLE Procedure
20.2.1.1
Decide Which Type of Environment to Configure
20.2.1.2
Decide Which Columns to Track
20.2.1.3
Decide Which Metadata to Record
20.2.1.4
Decide Which Values to Track for Update Operations
20.2.1.5
Decide Whether to Configure a KEEP_COLUMNS Transformation
20.2.1.6
Decide Whether to Specify CREATE TABLE Options for the Change Table
20.2.1.7
Decide Whether to Perform the Configuration Actions Directly or with a Script
20.2.1.8
Decide Whether to Replicate the Source Table
20.2.2
Prerequisites for the MAINTAIN_CHANGE _TABLE Procedure
20.2.2.1
Configure an Oracle Streams Administrator on All Databases
20.2.2.2
Configure Network Connectivity and Database Links
20.2.2.3
Ensure That the Source Database Is in ARCHIVELOG Mode
20.2.2.4
Set Initialization Parameters That Are Relevant to Oracle Streams
20.2.2.5
Configure the Oracle Streams Pool
20.2.2.6
Configure Log File Transfer to a Downstream Capture Database
20.2.2.7
Configure Standby Redo Logs for Real-Time Downstream Capture
20.2.2.8
Configure the Required Directory Object If You Are Using a Script
20.2.2.9
Instantiate the Source Table at the Destination Database
20.3
Configuring an Oracle Streams Environment That Records Table Changes
20.3.1
Recording Table Changes Using Local Capture and Apply on One Database
20.3.2
Recording Table Changes Using Local Capture and Remote Apply with Replication
20.3.3
Recording Table Changes Using Downstream Capture and Local Apply
20.3.4
Recording Table Changes Using Downstream Capture and Remote Apply
20.4
Managing an Oracle Streams Environment That Records Table Changes
20.4.1
Unsetting and Setting a Change Handler
20.4.2
Recording Changes to a Table Using Existing Oracle Streams Components
20.4.3
Maintaining Change Tables
20.4.4
Managing the Oracle Streams Environment
20.5
Monitoring an Oracle Streams Environment That Records Table Changes
20.5.1
Monitoring a Change Table
20.5.2
Monitoring Change Handlers
20.5.2.1
Displaying General Information About Change Handlers
20.5.2.2
Displaying the Change Table and Source Table for Change Handlers
20.5.3
Monitoring the Oracle Streams Environment
21
Other Oracle Streams Management Tasks
21.1
Performing Full Database Export/Import in an Oracle Streams Environment
21.2
Removing an Oracle Streams Configuration
Part IV Monitoring Oracle Streams
22
Monitoring an Oracle Streams Environment
22.1
Summary of Oracle Streams Static Data Dictionary Views
22.2
Summary of Oracle Streams Dynamic Performance Views
23
Monitoring the Oracle Streams Topology and Performance
23.1
About the Oracle Streams Topology
23.2
About the Oracle Streams Performance Advisor
23.2.1
Oracle Streams Performance Advisor Data Dictionary Views
23.2.2
Oracle Streams Components and Statistics
23.3
About Stream Paths in an Oracle Streams Topology
23.3.1
Separate Stream Paths in an Oracle Streams Environment
23.3.2
Shared Stream Paths in an Oracle Streams Replication Environment
23.4
About the Information Gathered by the Oracle Streams Performance Advisor
23.5
Gathering Information About the Oracle Streams Topology and Performance
23.6
Viewing the Oracle Streams Topology and Analyzing Oracle Streams Performance
23.6.1
Viewing the Oracle Streams Topology
23.6.1.1
Viewing the Databases in the Oracle Streams Environment
23.6.1.2
Viewing the Oracle Streams Components at Each Database
23.6.1.3
Viewing Each Stream Path in an Oracle Streams Topology
23.6.2
Viewing Performance Statistics for Oracle Streams Components
23.6.2.1
Checking for Bottleneck Components in the Oracle Streams Topology
23.6.2.2
Viewing Component-Level Statistics
23.6.2.3
Viewing Session-Level Statistics
23.6.2.4
Viewing Statistics for the Stream Paths in an Oracle Streams Environment
23.7
Using the UTL_SPADV Package
23.7.1
Collecting Oracle Streams Statistics Using the UTL_SPADV Package
23.7.2
Checking Whether an Oracle Streams Monitoring Job Is Currently Running
23.7.3
Altering an Oracle Streams Monitoring Job
23.7.4
Stopping an Oracle Streams Monitoring Job
23.7.5
Showing Oracle Streams Statistics Using the UTL_SPADV Package
24
Monitoring Oracle Streams Implicit Capture
24.1
Monitoring a Capture Process
24.1.1
Displaying the Queue, Rule Sets, and Status of Each Capture Process
24.1.2
Displaying Session Information About Each Capture Process
24.1.3
Displaying Change Capture Information About Each Capture Process
24.1.4
Displaying State Change and Message Creation Time for Each Capture Process
24.1.5
Displaying Elapsed Time Performing Capture Operations for Each Capture Process
24.1.6
Displaying Information About Each Downstream Capture Process
24.1.7
Displaying the Registered Redo Log Files for Each Capture Process
24.1.8
Displaying the Redo Log Files That Are Required by Each Capture Process
24.1.9
Displaying SCN Values for Each Redo Log File Used by Each Capture Process
24.1.10
Displaying the Last Archived Redo Entry Available to Each Capture Process
24.1.11
Listing the Parameter Settings for Each Capture Process
24.1.12
Determining the Applied SCN for All Capture Processes in a Database
24.1.13
Determining Redo Log Scanning Latency for Each Capture Process
24.1.14
Determining Message Enqueuing Latency for Each Capture Process
24.1.15
Displaying Information About Rule Evaluations for Each Capture Process
24.1.16
Determining Which Capture Processes Use Combined Capture and Apply
24.1.17
Displaying Information About Split and Merge Operations
24.1.17.1
Displaying the Names of the Original and Cloned Oracle Streams Components
24.1.17.2
Displaying the Actions and Thresholds for Split and Merge Operations
24.1.17.3
Displaying the Lag Time of the Cloned Capture Process
24.1.17.4
Displaying Information About the Split and Merge Jobs
24.1.17.5
Displaying Information About Past Split and Merge Operations
24.1.18
Monitoring Supplemental Logging
24.1.18.1
Displaying Supplemental Log Groups at a Source Database
24.1.18.2
Displaying Database Supplemental Logging Specifications
24.1.18.3
Displaying Supplemental Logging Specified During Preparation for Instantiation
24.1.18.3.1
Displaying Supplemental Logging Enabled by PREPARE_TABLE_INSTANTIATION
24.1.18.3.2
Displaying Supplemental Logging Enabled by PREPARE_SCHEMA_INSTANTIATION
24.1.18.3.3
Displaying Supplemental Logging Enabled by PREPARE_GLOBAL_INSTANTIATION
24.2
Monitoring a Synchronous Capture
24.2.1
Displaying the Queue and Rule Set of Each Synchronous Capture
24.2.2
Displaying the Tables For Which Synchronous Capture Captures Changes
24.3
Viewing the Extra Attributes Captured by Implicit Capture
25
Monitoring Oracle Streams Queues and Propagations
25.1
Monitoring Queues and Messaging
25.1.1
Displaying the
ANYDATA
Queues in a Database
25.1.2
Viewing the Messaging Clients in a Database
25.1.3
Viewing Message Notifications
25.1.4
Determining the Consumer of Each Message in a Persistent Queue
25.1.5
Viewing the Contents of Messages in a Persistent Queue
25.2
Monitoring Buffered Queues
25.2.1
Determining the Number of Messages in Each Buffered Queue
25.2.2
Viewing the Capture Processes for the LCRs in Each Buffered Queue
25.2.3
Displaying Information About Propagations that Send Buffered Messages
25.2.4
Displaying the Number of Messages and Bytes Sent By Propagations
25.2.5
Displaying Performance Statistics for Propagations that Send Buffered Messages
25.2.6
Viewing the Propagations Dequeuing Messages from Each Buffered Queue
25.2.7
Displaying Performance Statistics for Propagations That Receive Buffered Messages
25.2.8
Viewing the Apply Processes Dequeuing Messages from Each Buffered Queue
25.3
Monitoring Oracle Streams Propagations and Propagation Jobs
25.3.1
Displaying the Queues and Database Link for Each Propagation
25.3.2
Determining the Source Queue and Destination Queue for Each Propagation
25.3.3
Determining the Rule Sets for Each Propagation
25.3.4
Displaying Information About the Schedules for Propagation Jobs
25.3.5
Determining the Total Number of Messages and Bytes Propagated
25.3.6
Displaying Information About Propagation Senders
25.3.7
Displaying Information About Propagation Receivers
25.3.8
Displaying Session Information About Each Propagation
26
Monitoring Oracle Streams Apply Processes
26.1
Determining the Queue, Rule Sets, and Status for Each Apply Process
26.2
Displaying General Information About Each Apply Process
26.3
Listing the Parameter Settings for Each Apply Process
26.4
Displaying Information About Apply Handlers
26.4.1
Displaying Information About DML Handlers
26.4.1.1
Displaying Information About All DML Handlers
26.4.1.2
Displaying Information About Statement DML Handlers
26.4.1.2.1
Displaying the Statement DML Handlers in a Database
26.4.1.2.2
Displaying the Statement DML Handlers Used by Each Apply Process
26.4.1.2.3
Displaying All of the Statements in Statement DML Handlers
26.4.1.3
Displaying Information About Procedure DML Handlers
26.4.2
Displaying the DDL Handler for Each Apply Process
26.4.3
Displaying All of the Error Handlers for Local Apply Processes
26.4.4
Displaying the Message Handler for Each Apply Process
26.4.5
Displaying the Precommit Handler for Each Apply Process
26.5
Displaying Session Information About Each Apply Process
26.6
Displaying Information About the Reader Server for Each Apply Process
26.7
Monitoring Transactions and Messages Spilled by Each Apply Process
26.8
Determining Capture to Dequeue Latency for a Message
26.9
Displaying General Information About Each Coordinator Process
26.10
Displaying Information About Transactions Received and Applied
26.11
Determining the Capture to Apply Latency for a Message for Each Apply Process
26.11.1
Example V$STREAMS_APPLY_COORDINATOR Query for Latency
26.11.2
Example DBA_APPLY_PROGRESS Query for Latency
26.12
Displaying Information About the Apply Servers for Each Apply Process
26.13
Displaying Effective Apply Parallelism for an Apply Process
26.14
Viewing Rules that Specify a Destination Queue on Apply
26.15
Viewing Rules that Specify No Execution on Apply
26.16
Determining Which Apply Processes Use Combined Capture and Apply
26.17
Displaying the Substitute Key Columns Specified at a Destination Database
26.18
Monitoring Virtual Dependency Definitions
26.18.1
Displaying Value Dependencies
26.18.2
Displaying Object Dependencies
26.19
Checking for Apply Errors
26.20
Displaying Detailed Information About Apply Errors
27
Monitoring Rules
27.1
Displaying All Rules Used by All Oracle Streams Clients
27.2
Displaying the Oracle Streams Rules Used by a Specific Oracle Streams Client
27.2.1
Displaying the Rules in the Positive Rule Set for an Oracle Streams Client
27.2.2
Displaying the Rules in the Negative Rule Set for an Oracle Streams Client
27.3
Displaying the Current Condition for a Rule
27.4
Displaying Modified Rule Conditions for Oracle Streams Rules
27.5
Displaying the Evaluation Context for Each Rule Set
27.6
Displaying Information About the Tables Used by an Evaluation Context
27.7
Displaying Information About the Variables Used in an Evaluation Context
27.8
Displaying All of the Rules in a Rule Set
27.9
Displaying the Condition for Each Rule in a Rule Set
27.10
Listing Each Rule that Contains a Specified Pattern in Its Condition
27.11
Displaying Aggregate Statistics for All Rule Set Evaluations
27.12
Displaying Information About Evaluations for Each Rule Set
27.13
Determining the Resources Used by Evaluation of Each Rule Set
27.14
Displaying Evaluation Statistics for a Rule
28
Monitoring Rule-Based Transformations
28.1
Displaying Information About All Rule-Based Transformations
28.2
Displaying Declarative Rule-Based Transformations
28.2.1
Displaying Information About ADD COLUMN Transformations
28.2.2
Displaying Information About RENAME TABLE Transformations
28.3
Displaying Custom Rule-Based Transformations
29
Monitoring Other Oracle Streams Components
29.1
Monitoring Oracle Streams Administrators and Other Oracle Streams Users
29.1.1
Listing Local Oracle Streams Administrators
29.1.2
Listing Users Who Allow Access to Remote Oracle Streams Administrators
29.2
Monitoring the Oracle Streams Pool
29.2.1
Query Result that Advises Increasing the Oracle Streams Pool Size
29.2.2
Query Result that Advises Retaining the Current Oracle Streams Pool Size
29.2.3
Query Result that Advises Decreasing the Oracle Streams Pool Size
29.3
Monitoring Compatibility in an Oracle Streams Environment
29.3.1
Monitoring Compatibility for Capture Processes
29.3.1.1
Listing the Database Objects That Are Not Compatible with Capture Processes
29.3.1.2
Listing the Database Objects Recently Compatible with Capture Processes
29.3.2
Listing Database Objects and Columns Not Compatible with Synchronous Captures
29.3.3
Monitoring Compatibility for Apply Processes
29.3.3.1
Listing Database Objects and Columns Not Compatible with Apply Processes
29.3.3.2
Listing Columns That Have Become Compatible with Apply Processes Recently
29.4
Monitoring Oracle Streams Performance Using AWR and Statspack
Part V Troubleshooting an Oracle Streams Environment
30
Identifying Problems in an Oracle Streams Environment
30.1
Viewing Oracle Streams Alerts
30.2
Using the Streams Configuration Report and Health Check Script
30.3
Handling Performance Problems Because of an Unavailable Destination
30.4
Checking the Trace Files and Alert Log for Problems
30.4.1
Does a Capture Process Trace File Contain Messages About Capture Problems?
30.4.2
Do the Trace Files Related to Propagation Jobs Contain Messages About Problems?
30.4.3
Does an Apply Process Trace File Contain Messages About Apply Problems?
31
Troubleshooting Implicit Capture
31.1
Troubleshooting Capture Process Problems
31.1.1
Is Capture Process Creation or Data Dictionary Build Taking a Long Time?
31.1.2
Is the Capture Process Enabled?
31.1.3
Is the Capture Process Waiting for Redo?
31.1.4
Is the Capture Process Paused for Flow Control?
31.1.5
Is the Capture Process Current?
31.1.6
Are Required Redo Log Files Missing?
31.1.7
Is a Downstream Capture Process Waiting for Redo Data?
31.1.8
Are You Trying to Configure Downstream Capture Incorrectly?
31.1.9
Are You Trying to Configure Downstream Capture without Proper Authentication?
31.1.10
Are More Actions Required for Downstream Capture without a Database Link?
31.2
Troubleshooting Synchronous Capture Problems
31.2.1
Is a Synchronous Capture Failing to Capture Changes to Tables?
32
Troubleshooting Propagation
32.1
Does the Propagation Use the Correct Source and Destination Queue?
32.2
Is the Propagation Enabled?
32.3
Is Security Configured Properly for the ANYDATA Queue?
32.3.1
ORA-24093 AQ Agent not granted privileges of database user
32.3.2
ORA-25224 Sender name must be specified for enqueue into secure queues
33
Troubleshooting Apply
33.1
Is the Apply Process Enabled?
33.2
Is the Apply Process Current?
33.3
Does the Apply Process Apply Captured LCRs?
33.4
Is the Apply Process's Queue Receiving the Messages to be Applied?
33.5
Is a Custom Apply Handler Specified?
33.6
Is the AQ_TM_PROCESSES Initialization Parameter Set to Zero?
33.7
Does the Apply User Have the Required Privileges?
33.8
Is the Apply Process Encountering Contention?
33.9
Is the Apply Process Waiting for a Dependent Transaction?
33.10
Is an Apply Server Performing Poorly for Certain Transactions?
33.11
Are There Any Apply Errors in the Error Queue?
33.11.1
Using a DML Handler to Correct Error Transactions
33.11.2
Troubleshooting Specific Apply Errors
33.11.2.1
ORA-01031 Insufficient Privileges
33.11.2.2
ORA-01403 No Data Found
33.11.2.3
ORA-23605 Invalid Value for Oracle Streams Parameter
33.11.2.4
ORA-23607 Invalid Column
33.11.2.5
ORA-24031 Invalid Value,
parameter_name
Should Be Non-NULL
33.11.2.6
ORA-26687 Instantiation SCN Not Set
33.11.2.7
ORA-26688 Missing Key in LCR
33.11.2.8
ORA-26689 Column Type Mismatch
33.11.2.9
ORA-26786 A row with key exists but has conflicting column(s) in table
33.11.2.10
ORA-26787 The row with key
column_value
does not exist in table
table_name
34
Troubleshooting Rules and Rule-Based Transformations
34.1
Are Rules Configured Properly for the Oracle Streams Client?
34.1.1
Checking Schema and Global Rules
34.1.2
Checking Table Rules
34.1.3
Checking Subset Rules
34.1.4
Checking for Message Rules
34.1.5
Resolving Problems with Rules
34.2
Are Declarative Rule-Based Transformations Configured Properly?
34.3
Are the Custom Rule-Based Transformations Configured Properly?
34.4
Are Incorrectly Transformed LCRs in the Error Queue?
Part VI Oracle Streams Information Provisioning
35
Information Provisioning Concepts
35.1
Overview of Information Provisioning
35.2
Bulk Provisioning of Large Amounts of Information
35.2.1
Data Pump Export/Import
35.2.2
Transportable Tablespace from Backup with RMAN
35.2.3
DBMS_STREAMS_TABLESPACE_ADM Procedures
35.2.3.1
File Group Repository
35.2.3.2
Tablespace Repository
35.2.3.2.1
When to Use a Tablespace Repository
35.2.3.2.2
Differences Between the Tablespace Repository Procedures
35.2.3.2.3
Remote Access to a Tablespace Repository
35.2.3.2.4
Only One Tablespace Version Can Be Online in a Database
35.2.3.2.5
Tablespace Repository Procedures Use the DBMS_FILE_GROUP Package Automatically
35.2.3.2.6
A Tablespace Repository Provides Versioning but Not Source Control
35.2.3.3
Read-Only Tablespaces Requirement During Export
35.2.3.4
Automatic Platform Conversion for Tablespaces
35.2.4
Options for Bulk Information Provisioning
35.3
Incremental Information Provisioning with Oracle Streams
35.4
On-Demand Information Access
36
Using Information Provisioning
36.1
Using a Tablespace Repository
36.1.1
Creating and Populating a Tablespace Repository
36.1.2
Using a Tablespace Repository for Remote Reporting with a Shared File System
36.1.3
Using a Tablespace Repository for Remote Reporting without a Shared File System
36.2
Using a File Group Repository
37
Monitoring File Group and Tablespace Repositories
37.1
Monitoring a File Group Repository
37.1.1
Displaying General Information About the File Groups in a Database
37.1.2
Displaying Information About File Group Versions
37.1.3
Displaying Information About File Group Files
37.2
Monitoring a Tablespace Repository
37.2.1
Displaying Information About the Tablespaces in a Tablespace Repository
37.2.2
Displaying Information About the Tables in a Tablespace Repository
37.2.3
Displaying Export Information About Versions in a Tablespace Repository
Appendixes
A
How Oracle Streams Works with Other Database Components
A.1
Oracle Streams and Oracle Real Application Clusters
A.1.1
Capture Processes and Oracle Real Application Clusters
A.1.2
Synchronous Capture and Oracle Real Application Clusters
A.1.3
Combined Capture and Apply and Oracle Real Application Clusters
A.1.4
Queues and Oracle Real Application Clusters
A.1.5
Propagations and Oracle Real Application Clusters
A.1.6
Apply Processes and Oracle Real Application Clusters
A.2
Oracle Streams and Transparent Data Encryption
A.2.1
Capture Processes and Transparent Data Encryption
A.2.2
Synchronous Capture and Transparent Data Encryption
A.2.3
Explicit Capture and Transparent Data Encryption
A.2.4
Queues and Transparent Data Encryption
A.2.5
Propagations and Transparent Data Encryption
A.2.6
Apply Processes and Transparent Data Encryption
A.2.7
Messaging Clients and Transparent Data Encryption
A.2.8
Manual Dequeue and Transparent Data Encryption
A.3
Oracle Streams and Flashback Data Archive
A.4
Oracle Streams and Recovery Manager (RMAN)
A.4.1
RMAN and Instantiation
A.4.2
RMAN and Archived Redo Log Files Required by a Capture Process
A.4.2.1
RMAN and Local Capture Processes
A.4.2.2
RMAN and Downstream Capture Processes
A.4.3
The Recovery Catalog and Oracle Streams
A.5
Oracle Streams and Distributed Transactions
A.6
Oracle Streams and Oracle Database Vault
B
Oracle Streams Restrictions
B.1
Capture Process Restrictions
B.1.1
Unsupported Data Types for Capture Processes
B.1.2
Unsupported Changes for Capture Processes
B.1.2.1
Unsupported Schemas for Capture Processes
B.1.2.2
Unsupported Table Types for Capture Processes
B.1.2.3
Unsupported DDL Changes for Capture Processes
B.1.2.4
Changes Ignored by a Capture Process
B.1.2.5
NOLOGGING and UNRECOVERABLE Keywords for SQL Operations
B.1.2.6
UNRECOVERABLE Clause for Direct Path Loads
B.1.3
Supplemental Logging Data Type Restrictions
B.1.4
Operational Requirements for Downstream Capture
B.1.5
Capture Processes Do Not Support Oracle Label Security
B.1.6
Capture Process Interoperability with Oracle Streams Apply Processes
B.2
Synchronous Capture Restrictions
B.2.1
Synchronous Captures Only Use Table Rules
B.2.2
Unsupported Data Types for Synchronous Captures
B.2.3
Unsupported Changes for Synchronous Captures
B.2.3.1
Unsupported Schemas for Synchronous Captures
B.2.3.2
Unsupported Table Types for Synchronous Captures
B.2.3.3
Changes Ignored by Synchronous Capture
B.2.4
Synchronous Capture Rules and the DBMS_STREAMS_ADM Package
B.2.5
Synchronous Captures Do Not Support Oracle Label Security
B.3
Queue Restrictions
B.3.1
Explicit Enqueue Restrictions for ANYDATA Queues
B.3.2
Restrictions for Buffered Messaging
B.3.3
Triggers and Queue Tables
B.4
Propagation Restrictions
B.4.1
Connection Qualifiers and Propagations
B.4.2
Character Set Restrictions for Propagations
B.4.3
Compatibility Requirements for Queue-To-Queue Propagations
B.5
Apply Process Restrictions
B.5.1
Unsupported Data Types for Apply Processes
B.5.2
Unsupported Data Types for Apply Handlers
B.5.3
Types of DDL Changes Ignored by an Apply Process
B.5.4
Database Structures in an Oracle Streams Environment
B.5.5
Current Schema User Must Exist at Destination Database
B.5.6
Apply Processes Do Not Support Oracle Label Security
B.5.7
Apply Process Interoperability with Oracle Streams Capture Components
B.6
Messaging Client Restrictions
B.6.1
Messaging Clients and Buffered Messages
B.7
Rule Restrictions
B.7.1
Restrictions for Subset Rules
B.7.2
Restrictions for Action Contexts
B.7.3
Restrictions on Data Type
B.8
Rule-Based Transformation Restrictions
B.8.1
Unsupported Data Types for Declarative Rule-Based Transformations
B.8.2
Unsupported Data Types for Custom Rule-Based Transformations
B.9
Oracle Multitenant Option Restrictions for Oracle Streams
C
XML Schema for LCRs
C.1
Definition of the XML Schema for LCRs
D
Online Database Upgrade and Maintenance with Oracle Streams
D.1
Overview of Using Oracle Streams for Upgrade and Maintenance Operations
D.1.1
The Capture Database During the Upgrade or Maintenance Operation
D.1.2
Assumptions for the Database Being Upgraded or Maintained
D.1.3
Considerations for Job Slaves and PL/SQL Package Subprograms
D.1.4
Unsupported Database Objects Are Excluded
D.2
Preparing for a Database Upgrade or Maintenance Operation
D.2.1
Preparing for Downstream Capture
D.2.2
Preparing for Upgrade or Maintenance of a Database with User-Defined Types
D.2.3
Preparing for Upgrades to User-Created Applications
D.2.3.1
Handling Modifications to Schema Objects
D.2.3.2
Handling Logical Dependencies
D.2.4
Deciding Whether to Configure Oracle Streams Directly or Generate a Script
D.2.5
Deciding Which Utility to Use for Instantiation
D.3
Performing a Database Upgrade or Maintenance Operation Using Oracle Streams
D.3.1
Task 1: Beginning the Operation
D.3.2
Task 2: Setting Up Oracle Streams Before Instantiation
D.3.2.1
The Source Database Is the Capture Database
D.3.2.2
The Destination Database Is the Capture Database
D.3.2.3
A Third Database Is the Capture Database
D.3.3
Task 3: Instantiating the Database
D.3.3.1
Instantiating the Database Using Export/Import
D.3.3.2
Instantiating the Database Using the RMAN DUPLICATE Command
D.3.3.3
Instantiating the Database Using the RMAN CONVERT DATABASE Command
D.3.4
Task 4: Setting Up Oracle Streams After Instantiation
D.3.4.1
The Source Database Is the Capture Database
D.3.4.2
The Destination Database Is the Capture Database
D.3.4.3
A Third Database Is the Capture Database
D.3.5
Task 5: Finishing the Upgrade or Maintenance Operation and Removing Oracle Streams
E
Online Upgrade of an Earlier Database with Oracle Streams
E.1
Overview of Using Oracle Streams in the Database Upgrade Process
E.1.1
The Capture Database During the Upgrade Process
E.1.2
Assumptions for the Database Being Upgraded
E.1.3
Considerations for Job Queue Processes and PL/SQL Package Subprograms
E.2
Preparing for a Database Upgrade Using Oracle Streams
E.2.1
Preparing to Upgrade a Database with User-Defined Types
E.2.2
Deciding Which Utility to Use for Instantiation
E.3
Performing a Database Upgrade Using Oracle Streams
E.3.1
Task 1: Beginning the Upgrade
E.3.2
Task 2: Setting Up Oracle Streams Before Instantiation
E.3.2.1
The Source Database Is the Capture Database
E.3.2.2
The Destination Database Is the Capture Database
E.3.2.3
A Third Database Is the Capture Database
E.3.3
Task 3: Instantiating the Database
E.3.3.1
Instantiating the Database Using Export/Import
E.3.3.2
Instantiating the Database Using RMAN
E.3.4
Task 4: Setting Up Oracle Streams After Instantiation
E.3.4.1
The Source Database Is the Capture Database
E.3.4.2
The Destination Database Is the Capture Database
E.3.4.3
A Third Database Is the Capture Database
E.3.5
Task 5: Finishing the Upgrade and Removing Oracle Streams
Glossary
Index
Scripting on this page enhances content navigation, but does not change the content in any way.