1/28
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Changes for Oracle Streams Replication Administrator's Guide
Changes in Oracle Database 12
c
Release 1 (12.1)
Part I Configuring Oracle Streams Replication
1
Preparing for Oracle Streams Replication
Overview of Oracle Streams Replication
Common Reasons to Use Oracle Streams Replication
Rules in an Oracle Streams Replication Environment
Decisions to Make Before Configuring Oracle Streams Replication
Decide Which Type of Replication Environment to Configure
About Two-Database Replication Environments
About Hub-And-Spoke Replication Environments
About N-Way Replication Environments
Decide Whether to Configure Local or Downstream Capture for the Source Database
Decide Whether Changes Are Allowed at One Database or at Multiple Databases
Decide Whether the Replication Environment Will Have Nonidentical Replicas
Decide Whether the Replication Environment Will Use Apply Handlers
Decide Whether to Maintain DDL Changes
Decide How to Configure the Replication Environment
Tasks to Complete Before Configuring Oracle Streams Replication
Configuring an Oracle Streams Administrator on All Databases
Configuring Network Connectivity and Database Links
Ensuring That Each Source Database Is In ARCHIVELOG Mode
Setting Initialization Parameters Relevant to Oracle Streams
Configuring the Oracle Streams Pool
Using Automatic Memory Management to Set the Oracle Streams Pool Size
Using Automatic Shared Memory Management to Set the Oracle Streams Pool Size
Setting the Oracle Streams Pool Size Manually
Using the Default Setting for the Oracle Streams Pool Size
Specifying Supplemental Logging
Required Supplemental Logging in an Oracle Streams Replication Environment
Specifying Table Supplemental Logging Using Unconditional Log Groups
Specifying Table Supplemental Logging Using Conditional Log Groups
Dropping a Supplemental Log Group
Specifying Database Supplemental Logging of Key Columns
Dropping Database Supplemental Logging of Key Columns
Procedures That Automatically Specify Supplemental Logging
Configuring Log File Transfer to a Downstream Capture Database
Adding Standby Redo Logs for Real-Time Downstream Capture
2
Simple Oracle Streams Replication Configuration
Configuring Replication Using the Setup Streams Replication Wizard
Configuring Replication Using the DBMS_STREAMS_ADM Package
The Oracle Streams Replication Configuration Procedures
Important Considerations for the Configuration Procedures
Local or Downstream Capture for the Source Database
Perform Configuration Actions Directly or With a Script
Oracle Streams Components Configured by These Procedures
One-Way or Bi-Directional Replication
Data Definition Language (DDL) Changes
Instantiation
Creating the Required Directory Objects
Examples That Configure Two-Database Replication with Local Capture
Configuring Two-Database Global Replication with Local Capture
Configuring Two-Database Schema Replication with Local Capture
Configuring Two-Database Table Replication with Local Capture
Examples That Configure Two-Database Replication with Downstream Capture
Configuring Tablespace Replication with Downstream Capture at Destination
Configuring Schema Replication with Downstream Capture at Destination
Configuring Schema Replication with Downstream Capture at Third Database
Example That Configures Two-Database Replication with Synchronous Captures
Example That Configures Hub-and-Spoke Replication
Monitoring Oracle Streams Configuration Progress
3
Flexible Oracle Streams Replication Configuration
Creating a New Oracle Streams Single-Source Environment
Creating a New Oracle Streams Multiple-Source Environment
Configuring Populated Databases When Creating a Multiple-Source Environment
Adding Replicated Objects to Import Databases When Creating a New Environment
Complete the Multiple-Source Environment Configuration
4
Adding to an Oracle Streams Replication Environment
About Adding to an Oracle Streams Replication Environment
About Using the Setup Streams Replication Wizard or a Single Configuration Procedure
About Adding the Oracle Streams Components Individually in Multiple Steps
Adding Multiple Components Using a Single Procedure
Adding Database Objects to a Replication Environment Using a Single Procedure
Adding a Database to a Replication Environment Using a Single Procedure
Adding Components Individually in Multiple Steps
Adding Replicated Objects to an Existing Single-Source Environment
Adding a New Destination Database to a Single-Source Environment
Adding Replicated Objects to an Existing Multiple-Source Environment
Configuring Populated Databases When Adding Replicated Objects
Adding Replicated Objects to Import Databases in an Existing Environment
Finish Adding Objects to a Multiple-Source Environment Configuration
Adding a New Database to an Existing Multiple-Source Environment
Configuring Databases If the Replicated Objects Already Exist at the New Database
Adding Replicated Objects to a New Database
5
Configuring Implicit Capture
Configuring a Capture Process
Preparing to Configure a Capture Process
Configuring a Local Capture Process
Configuring a Local Capture Process Using DBMS_STREAMS_ADM
Configuring a Local Capture Process Using DBMS_CAPTURE_ADM
Configuring a Local Capture Process with Non-NULL Start SCN
Configuring a Downstream Capture Process
Configuring a Real-Time Downstream Capture Process
Configuring an Archived-Log Downstream Capture Process
After Configuring a Capture Process
Configuring Synchronous Capture
Preparing to Configure a Synchronous Capture
Configuring a Synchronous Capture Using the DBMS_STREAMS_ADM Package
Configuring a Synchronous Capture Using the DBMS_CAPTURE_ADM Package
After Configuring a Synchronous Capture
6
Configuring Queues and Propagations
Creating an ANYDATA Queue
Creating Oracle Streams Propagations Between ANYDATA Queues
Preparing to Create a Propagation
Creating a Propagation Using DBMS_STREAMS_ADM
Creating a Propagation Using DBMS_PROPAGATION_ADM
7
Configuring Implicit Apply
Overview of Apply Process Creation
Preparing to Create an Apply Process
Creating an Apply Process for Captured LCRs Using DBMS_STREAMS_ADM
Creating an Apply Process Using DBMS_APPLY_ADM
Creating an Apply Process for Captured LCRs with DBMS_APPLY_ADM
Creating an Apply Process for Persistent LCRs with DBMS_APPLY_ADM
8
Instantiation and Oracle Streams Replication
Overview of Instantiation and Oracle Streams Replication
Capture Rules and Preparation for Instantiation
DBMS_STREAMS_ADM Package Procedures Automatically Prepare Objects
When Preparing for Instantiation Is Required
Supplemental Logging Options During Preparation for Instantiation
Preparing Database Objects for Instantiation at a Source Database
Preparing Tables for Instantiation
Preparing the Database Objects in a Schema for Instantiation
Preparing All of the Database Objects in a Database for Instantiation
Aborting Preparation for Instantiation at a Source Database
Oracle Data Pump and Oracle Streams Instantiation
Data Pump Export and Object Consistency
Oracle Data Pump Import and Oracle Streams Instantiation
Instantiation SCNs and Data Pump Imports
Instantiation SCNs and Oracle Streams Tags Resulting from Data Pump Imports
The STREAMS_CONFIGURATION Data Pump Import Utility Parameter
Instantiating Objects Using Data Pump Export/Import
Recovery Manager (RMAN) and Oracle Streams Instantiation
Instantiating Objects in a Tablespace Using Transportable Tablespace or RMAN
Instantiating Objects Using Transportable Tablespace
Instantiating Objects Using Transportable Tablespace From Backup With RMAN
Instantiating an Entire Database Using RMAN
Instantiating an Entire Database on the Same Platform Using RMAN
Instantiating an Entire Database on Different Platforms Using RMAN
Setting Instantiation SCNs at a Destination Database
Setting Instantiation SCNs Using Export/Import
Full Database Export and Full Database Import
Full Database or User Export and User Import
Full Database, User, or Table Export and Table Import
Setting Instantiation SCNs Using the DBMS_APPLY_ADM Package
Setting the Instantiation SCN While Connected to the Source Database
Setting the Instantiation SCN While Connected to the Destination Database
Monitoring Instantiation
Determining Which Database Objects Are Prepared for Instantiation
Determining the Tables for Which an Instantiation SCN Has Been Set
9
Oracle Streams Conflict Resolution
About DML Conflicts in an Oracle Streams Environment
Conflict Types in an Oracle Streams Environment
Update Conflicts in an Oracle Streams Environment
Uniqueness Conflicts in an Oracle Streams Environment
Delete Conflicts in an Oracle Streams Environment
Foreign Key Conflicts in an Oracle Streams Environment
Conflicts and Transaction Ordering in an Oracle Streams Environment
Conflict Detection in an Oracle Streams Environment
Control Over Conflict Detection for Nonkey Columns
Rows Identification During Conflict Detection in an Oracle Streams Environment
Conflict Avoidance in an Oracle Streams Environment
Use a Primary Database Ownership Model
Avoid Specific Types of Conflicts
Avoid Uniqueness Conflicts in an Oracle Streams Environment
Avoid Delete Conflicts in an Oracle Streams Environment
Avoid Update Conflicts in an Oracle Streams Environment
Conflict Resolution in an Oracle Streams Environment
Prebuilt Update Conflict Handlers
Types of Prebuilt Update Conflict Handlers
Column Lists
Resolution Columns
Data Convergence
Custom Conflict Handlers
Managing Oracle Streams Conflict Detection and Resolution
Setting an Update Conflict Handler
Modifying an Existing Update Conflict Handler
Removing an Existing Update Conflict Handler
Stopping Conflict Detection for Nonkey Columns
Monitoring Conflict Detection and Update Conflict Handlers
Displaying Information About Conflict Detection
Displaying Information About Update Conflict Handlers
10
Oracle Streams Tags
Introduction to Tags
Tags and Rules Created by the DBMS_STREAMS_ADM Package
Tags and Online Backup Statements
Tags and an Apply Process
Oracle Streams Tags in a Replication Environment
N-Way Replication Environments
Hub-and-Spoke Replication Environments
Hub-and-Spoke Replication Environment with Several Extended Secondary Databases
Managing Oracle Streams Tags
Managing Oracle Streams Tags for the Current Session
Setting the Tag Values Generated by the Current Session
Getting the Tag Value for the Current Session
Managing Oracle Streams Tags for an Apply Process
Setting the Tag Values Generated by an Apply Process
Removing the Apply Tag for an Apply Process
Monitoring Oracle Streams Tags
Displaying the Tag Value for the Current Session
Displaying the Default Tag Value for Each Apply Process
11
Oracle Streams Heterogeneous Information Sharing
Oracle to Non-Oracle Data Sharing with Oracle Streams
Change Capture and Staging in an Oracle to Non-Oracle Environment
Change Apply in an Oracle to Non-Oracle Environment
Apply Process Configuration in an Oracle to Non-Oracle Environment
Data Types Applied at Non-Oracle Databases
Types of DML Changes Applied at Non-Oracle Databases
Instantiation in an Oracle to Non-Oracle Environment
Transformations in an Oracle to Non-Oracle Environment
Messaging Gateway and Oracle Streams
Error Handling in an Oracle to Non-Oracle Environment
Example Oracle to Non-Oracle Streams Environment
Non-Oracle to Oracle Data Sharing with Oracle Streams
Change Capture in a Non-Oracle to Oracle Environment
Staging in a Non-Oracle to Oracle Environment
Change Apply in a Non-Oracle to Oracle Environment
Instantiation from a Non-Oracle Database to an Oracle Database
Non-Oracle to Non-Oracle Data Sharing with Oracle Streams
Part II Administering Oracle Streams Replication
12
Managing Oracle Streams Replication
About Managing Oracle Streams
Tracking LCRs Through a Stream
Splitting and Merging an Oracle Streams Destination
About Splitting and Merging Oracle Streams
Split and Merge Options
Automatic Split and Merge
Manual Split and Automatic Merge
Manual Split and Merge With Generated Scripts
Examples That Split and Merge Oracle Streams
Splitting and Merging an Oracle Streams Destination Automatically
Splitting an Oracle Streams Destination Manually and Merging It Automatically
Splitting and Merging an Oracle Streams Destination Manually With Scripts
Changing the DBID or Global Name of a Source Database
Resynchronizing a Source Database in a Multiple-Source Environment
Performing Database Point-in-Time Recovery in an Oracle Streams Environment
Performing Point-in-Time Recovery on the Source in a Single-Source Environment
Performing Point-in-Time Recovery in a Multiple-Source Environment
Performing Point-in-Time Recovery on a Destination Database
Resetting the Start SCN for the Existing Capture Process to Perform Recovery
Creating a New Capture Process to Perform Recovery
Running Flashback Queries in an Oracle Streams Replication Environment
Recovering from Operation Errors
Recovery Scenario
13
Comparing and Converging Data
About Comparing and Converging Data
Scans
Buckets
Parent Scans and Root Scans
How Scans and Buckets Identify Differences
Other Documentation About the DBMS_COMPARISON Package
Quick Start: A Simple Compare and Converge Scenario
Tutorial: Preparing to Compare and Converge Data
Tutorial: Comparing Data in Two Different Databases
Tutorial: Converging Divergent Data
Preparing To Compare and Converge a Shared Database Object
Diverging a Database Object at Two Databases to Complete Examples
Comparing a Shared Database Object at Two Databases
Comparing a Subset of Columns in a Shared Database Object
Comparing a Shared Database Object without Identifying Row Differences
Comparing a Random Portion of a Shared Database Object
Comparing a Shared Database Object Cyclically
Comparing a Custom Portion of a Shared Database Object
Comparing a Shared Database Object That Contains CLOB or BLOB Columns
Viewing Information About Comparisons and Comparison Results
Viewing General Information About the Comparisons in a Database
Viewing Information Specific to Random and Cyclic Comparisons
Viewing the Columns Compared by Each Comparison in a Database
Viewing General Information About Each Scan in a Database
Viewing the Parent Scan ID and Root Scan ID for Each Scan in a Database
Viewing Detailed Information About the Row Differences Found in a Scan
Viewing Information About the Rows Compared in Specific Scans
Converging a Shared Database Object
Converging a Shared Database Object for Consistency with the Local Object
Converging a Shared Database Object for Consistency with the Remote Object
Converging a Shared Database Object with a Session Tag Set
Rechecking the Comparison Results for a Comparison
Purging Comparison Results
Purging All of the Comparison Results for a Comparison
Purging the Comparison Results for a Specific Scan ID of a Comparison
Purging the Comparison Results of a Comparison Before a Specified Time
Dropping a Comparison
Using DBMS_COMPARISON in an Oracle Streams Replication Environment
Checking for Consistency After Instantiation
Checking for Consistency in a Running Oracle Streams Replication Environment
14
Managing Logical Change Records (LCRs)
Requirements for Managing LCRs
Constructing and Enqueuing LCRs
Executing LCRs
Executing Row LCRs
Example of Constructing and Executing Row LCRs
Executing DDL LCRs
Managing LCRs Containing LOB Columns
Apply Process Behavior for Direct Apply of LCRs Containing LOBs
LOB Assembly and Custom Apply of LCRs Containing LOB Columns
LOB Assembly Considerations
LOB Assembly Example
Requirements for Constructing and Processing LCRs Containing LOB Columns
Requirements for Constructing and Processing LCRs Without LOB Assembly
Requirements for Apply Handler Processing of LCRs with LOB Assembly
Requirements for Rule-Based Transformation Processing of LCRs with LOBs
Managing LCRs Containing LONG or LONG RAW Columns
Part III Oracle Streams Replication Best Practices
15
Best Practices for Oracle Streams Replication Databases
Best Practices for Oracle Streams Database Configuration
Use a Separate Queue for Capture and Apply Oracle Streams Clients
Automate the Oracle Streams Replication Configuration
Best Practices for Oracle Streams Database Operation
Follow the Best Practices for the Global Name of an Oracle Streams Database
Monitor Performance and Make Adjustments When Necessary
Monitor Capture Process's and Synchronous Capture's Queues for Size
Follow the Oracle Streams Best Practices for Backups
Best Practices for Backups of an Oracle Streams Source Database
Best Practices for Backups of an Oracle Streams Destination Database
Adjust the Automatic Collection of Optimizer Statistics
Check the Alert Log for Oracle Streams Information
Follow the Best Practices for Removing an Oracle Streams Configuration at a Database
Best Practices for Oracle Real Application Clusters and Oracle Streams
Make Archive Log Files of All Threads Available to Capture Processes
Follow the Best Practices for the Global Name of an Oracle RAC Database
Follow the Best Practices for Configuring and Managing Propagations
Follow the Best Practices for Queue Ownership
16
Best Practices for Capture
Best Practices for Capture Process Configuration
Grant the Required Privileges to the Capture User
Set Capture Process Parallelism
Set the Checkpoint Retention Time
Best Practices for Capture Process Operation
Configure a Heartbeat Table at Each Source Database in an Oracle Streams Environment
Perform a Dictionary Build and Prepare Database Objects for Instantiation Periodically
Minimize the Performance Impact of Batch Processing
Best Practices for Synchronous Capture Configuration
17
Best Practices for Propagation
Best Practices for Propagation Configuration
Use Queue-to-Queue Propagations
Set the Propagation Latency for Each Propagation
Increase the SDU in a Wide Area Network for Better Network Performance
Best Practices for Propagation Operation
Restart Broken Propagations
18
Best Practices for Apply
Best Practices for Destination Database Configuration
Grant Required Privileges to the Apply User
Set Instantiation SCN Values
Configure Conflict Resolution
Best Practices for Apply Process Configuration
Set Apply Process Parallelism
Consider Allowing Apply Processes to Continue When They Encounter Errors
Best Practices for Apply Process Operation
Manage Apply Errors
Part IV Appendixes
A
Migrating Advanced Replication to Oracle Streams
Overview of the Migration Process
Migration Script Generation and Use
Modification of the Migration Script
Actions Performed by the Generated Script
Migration Script Errors
Manual Migration of Updatable Materialized Views
Advanced Replication Elements that Cannot Be Migrated to Oracle Streams
Preparing to Generate the Migration Script
Generating and Modifying the Migration Script
Example Advanced Replication Environment to be Migrated to Oracle Streams
Performing the Migration for Advanced Replication to Oracle Streams
Before Executing the Migration Script
Executing the Migration Script
After Executing the Script
Re-creating Master Sites to Retain Materialized View Groups
Example Advanced Replication to Oracle Streams Migration Script
Index
Scripting on this page enhances content navigation, but does not change the content in any way.