Tải bản đầy đủ (.pdf) (602 trang)

Tài liệu Oracle Streams Concepts and Administration doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.55 MB, 602 trang )

Oracle® Streams
Concepts and Administration
10g Release 1 (10.1)
Part No. B10727-01
December 2003
Oracle Streams Concepts and Administration, 10g Release 1 (10.1)
Part No. B10727-01
Copyright © 2002, 2003 Oracle Corporation. All rights reserved.
Primary Author: Randy Urbano
Graphic Artist: Valarie Moore
Contributors: Sundeep Abraham, Nimar Arora, Lance Ashdown, Ram Avudaiappan, Sukanya
Balaraman, Neerja Bhatt, Ragamayi Bhyravabhotla, Chipper Brown, Diego Cassinera, Debu Chatterjee,
Jack Chung, Alan Downing, Lisa Eldridge, Curt Elsbernd, Yong Feng, Jairaj Galagali, Brajesh Goyal,
Connie Green, Sanjay Kaluskar, Lewis Kaplan, Joydip Kundu, Anand Lakshminath, Jing Liu, Edwina Lu,
Raghu Mani, Pat McElroy, Krishnan Meiyyappan, Shailendra Mishra, Tony Morales, Bhagat Nainani,
Anand Padmanaban, Maria Pratt, Arvind Rajaram, Viv Schupmann, Vipul Shah, Neeraj Shodhan,
Wayne Smith, Benny Souder, Jim Stamos, Janet Stern, Mahesh Subramaniam, Kapil Surlaker,
Bob Thome, Hung Tran, Ramkumar Venkatesan, Byron Wang, Wei Wang, James M. Wilson, Lik Wong,
David Zhang
The Programs (which include both the software and documentation) contain proprietary information of
Oracle Corporation; they are provided under a license agreement containing restrictions on use and
disclosure and are also protected by copyright, patent and other intellectual and industrial property
laws. Reverse engineering, disassembly or decompilation of the Programs, except to the extent required
to obtain interoperability with other independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you find any problems
in the documentation, please report them to us in writing. Oracle Corporation does not warrant that this
document is error-free. Except as may be expressly permitted in your license agreement for these
Programs, no part of these Programs may be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without the express written permission of Oracle Corporation.
If the Programs are delivered to the U.S. Government or anyone licensing or using the programs on
behalf of the U.S. Government, the following notice is applicable:


Restricted Rights Notice Programs delivered subject to the DOD FAR Supplement are "commercial
computer software" and use, duplication, and disclosure of the Programs, including documentation,
shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement.
Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer
software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR
52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500
Oracle Parkway, Redwood City, CA 94065.
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently
dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup,
redundancy, and other measures to ensure the safe use of such applications if the Programs are used for
such purposes, and Oracle Corporation disclaims liability for any damages caused by such use of the
Programs.
Oracle is a registered trademark, and Oracle9i, Oracle Store, SQL*Plus, and PL/SQL are trademarks or
registered trademarks of Oracle Corporation. Other names may be trademarks of their respective
owners.
iii
Contents
Send Us Your Comments xvii
Preface xix
Audience xx
Organization xx
Related Documentation xxiii
Conventions xxv
Documentation Accessibility xxviii
What's New in Oracle Streams? xxix
Streams Performance Improvements xxx
Streams Configuration and Manageability Enhancements xxx
Streams Replication Enhancements xxxvii
Streams Messaging Enhancements xlii
Rules Interface Enhancements xliv

Part I Streams Concepts
1 Introduction to Streams
Overview of Streams 1-2
What Can Streams Do? 1-3
What Are the Uses of Streams? 1-4
Overview of the Capture Process 1-7
iv
Overview of Event Staging and Propagation 1-9
Overview of Directed Networks 1-9
Explicit Enqueue and Dequeue of Events 1-10
Overview of the Apply Process 1-12
Overview of the Messaging Client 1-13
Overview of Automatic Conflict Detection and Resolution 1-14
Overview of Rules 1-14
Overview of Transformations 1-16
Overview of Streams Tags 1-17
Overview of Heterogeneous Information Sharing 1-17
Overview of Oracle to Non-Oracle Data Sharing 1-18
Overview of Non-Oracle to Oracle Data Sharing 1-19
Example Streams Configurations 1-20
Administration Tools for a Streams Environment 1-22
Oracle-Supplied PL/SQL Packages 1-22
Streams Data Dictionary Views 1-24
Streams Tool in the Oracle Enterprise Manager Console 1-24
2 Streams Capture Process
The Redo Log and a Capture Process 2-2
Logical Change Records (LCRs) 2-2
Row LCRs 2-3
DDL LCRs 2-5
Extra Information in LCRs 2-6

Capture Process Rules 2-7
Datatypes Captured 2-8
Types of Changes Captured 2-10
Types of DML Changes Captured 2-10
Types of DDL Changes Ignored by a Capture Process 2-12
Other Types of Changes Ignored by a Capture Process 2-13
NOLOGGING and UNRECOVERABLE Keywords for SQL Operations 2-13
UNRECOVERABLE Clause for Direct Path Loads 2-14
Supplemental Logging in a Streams Environment 2-15
Instantiation in a Streams Environment 2-15
v
Local Capture and Downstream Capture 2-17
Local Capture 2-17
Downstream Capture 2-19
SCN Values Relating to a Capture Process 2-23
Captured SCN and Applied SCN 2-24
First SCN and Start SCN 2-24
Streams Capture Processes and RESTRICTED SESSION 2-26
Streams Capture Processes and Oracle Real Application Clusters 2-27
Capture Process Architecture 2-28
Capture Process Components 2-29
Capture Process States 2-30
Multiple Capture Processes in a Single Database 2-31
Capture Process Checkpoints 2-31
Capture Process Creation 2-32
A New First SCN Value and Purged LogMiner Dictionary Information 2-44
The Streams Data Dictionary 2-45
ARCHIVELOG Mode and a Capture Process 2-46
Capture Process Parameters 2-47
Capture Process Rule Evaluation 2-49

Persistent Capture Process Status Upon Database Restart 2-52
3 Streams Staging and Propagation
Introduction to Event Staging and Propagation 3-2
Captured and User-Enqueued Events 3-3
Event Propagation Between Queues 3-5
Propagation Rules 3-5
Ensured Event Delivery 3-6
Directed Networks 3-7
Binary File Propagation 3-11
Messaging Clients 3-11
SYS.AnyData Queues and User Messages 3-12
SYS.AnyData Queues and Oracle Real Application Clusters 3-14
Streams Staging and Propagation Architecture 3-16
Buffered Queues 3-16
Propagation Jobs 3-17
vi
Secure Queues 3-19
Transactional and Nontransactional Queues 3-22
Streams Data Dictionary for Propagations 3-23
4 Streams Apply Process
Introduction to the Apply Process 4-2
Apply Process Rules 4-2
Event Processing with an Apply Process 4-3
Processing Captured and User-Enqueued Events with an Apply Process 4-3
Event Processing Options with an Apply Process 4-4
Datatypes Applied 4-11
Streams Apply Processes and RESTRICTED SESSION 4-12
Streams Apply Processes and Oracle Real Application Clusters 4-13
Apply Process Architecture 4-14
Apply Process Components 4-14

Apply Process Creation 4-17
Streams Data Dictionary for an Apply Process 4-18
Apply Process Parameters 4-19
Persistent Apply Process Status Upon Database Restart 4-22
The Error Queue 4-22
5 Rules
The Components of a Rule 5-2
Rule Condition 5-2
Rule Evaluation Context 5-6
Rule Action Context 5-10
Rule Set Evaluation 5-13
Rule Set Evaluation Process 5-14
Partial Evaluation 5-15
Database Objects and Privileges Related to Rules 5-17
Privileges for Creating Database Objects Related to Rules 5-18
Privileges for Altering Database Objects Related to Rules 5-18
Privileges for Dropping Database Objects Related to Rules 5-19
vii
Privileges for Placing Rules in a Rule Set 5-19
Privileges for Evaluating a Rule Set 5-20
Privileges for Using an Evaluation Context 5-20
6 How Rules Are Used In Streams
Overview of How Rules Are Used In Streams 6-2
Rule Sets and Rule Evaluation of Events 6-4
Streams Client With No Rule Set 6-5
Streams Client With a Positive Rule Set Only 6-5
Streams Client With a Negative Rule Set Only 6-5
Streams Client With Both a Positive and a Negative Rule Set 6-5
Streams Client With One or More Empty Rule Sets 6-6
Summary of Rule Sets and Streams Client Behavior 6-6

System-Created Rules 6-7
Global Rules 6-14
Schema Rules 6-18
Table Rules 6-20
Subset Rules 6-23
Message Rules 6-36
System-Created Rules and Negative Rule Sets 6-39
System-Created Rules with Added User-Defined Conditions 6-44
Evaluation Contexts Used in Streams 6-45
Evaluation Context for Global, Schema, Table, and Subset Rules 6-45
Evaluation Contexts for Message Rules 6-48
Streams and Event Contexts 6-50
Streams and Action Contexts 6-50
Purposes of Action Contexts in Streams 6-50
Make Sure Only One Rule Can Evaluate to TRUE for a Particular Rule Condition 6-52
Action Context Considerations for Schema and Global Rules 6-53
User-Created Rules, Rule Sets, and Evaluation Contexts 6-54
User-Created Rules and Rule Sets 6-54
User-Created Evaluation Contexts 6-63
Rule-Based Transformations 6-63
Rule-Based Transformations and a Capture Process 6-67
Rule-Based Transformations and a Propagation 6-69
viii
Rule-Based Transformations and an Apply Process 6-71
Rule-Based Transformations and a Messaging Client 6-74
Multiple Rule-Based Transformations 6-75
7 Streams High Availability Environments
Overview of Streams High Availability Environments 7-2
Protection from Failures 7-2
Streams Replica Database 7-3

When Not to Use Streams 7-5
Application Maintained Copies 7-6
Best Practices for Streams High Availability Environments 7-6
Configuring Streams for High Availability 7-7
Recovering from Failures 7-9
Part II Streams Administration
8 Preparing a Streams Environment
Configuring a Streams Administrator 8-2
Setting Initialization Parameters Relevant to Streams 8-6
Preparing a Database to Run a Streams Capture Process 8-11
Configuring Network Connectivity and Database Links 8-11
9 Managing a Capture Process
Creating a Capture Process 9-2
Creating a Local Capture Process 9-4
Creating a Downstream Capture Process That Assigns Log Files Implicitly 9-6
Creating a Downstream Capture Process That Assigns Log Files Explicitly 9-18
Creating a Local Capture Process with Non-NULL Start SCN 9-23
Starting, Stopping, and Dropping a Capture Process 9-25
Starting a Capture Process 9-26
Stopping a Capture Process 9-26
Dropping a Capture Process 9-26
ix
Managing the Rule Set for a Capture Process 9-27
Specifying a Rule Set for a Capture Process 9-27
Adding Rules to a Rule Set for a Capture Process 9-28
Removing a Rule from a Rule Set for a Capture Process 9-30
Removing a Rule Set for a Capture Process 9-31
Setting a Capture Process Parameter 9-32
Setting the Capture User for a Capture Process 9-32
Specifying Supplemental Logging at a Source Database 9-33

Adding an Archived Redo Log File to a Capture Process Explicitly 9-33
Setting SCN Values for an Existing Capture Process 9-34
Setting the First SCN for an Existing Capture Process 9-34
Setting the Start SCN for an Existing Capture Process 9-36
Specifying Whether Downstream Capture Uses a Database Link 9-37
Managing Extra Attributes in Captured LCRs 9-38
Including Extra Attributes in Captured LCRs 9-39
Excluding Extra Attributes from Captured LCRs 9-39
10 Managing Staging and Propagation
Managing SYS.AnyData Queues 10-2
Creating a SYS.AnyData Queue 10-2
Enabling a User to Perform Operations on a Secure Queue 10-3
Disabling a User from Performing Operations on a Secure Queue 10-5
Removing a SYS.AnyData Queue 10-6
Managing Streams Propagations and Propagation Jobs 10-7
Creating a Propagation 10-8
Enabling a Propagation Job 10-11
Scheduling a Propagation Job 10-12
Altering the Schedule of a Propagation Job 10-12
Unscheduling a Propagation Job 10-13
Specifying the Rule Set for a Propagation 10-14
Specifying a Positive Rule Set for a Propagation 10-14
Specifying a Negative Rule Set for a Propagation 10-15
Adding Rules to the Rule Set for a Propagation 10-15
Removing a Rule from the Rule Set for a Propagation 10-17
Removing a Rule Set for a Propagation 10-18
x
Disabling a Propagation Job 10-18
Dropping a Propagation 10-19
Managing a Streams Messaging Environment 10-20

Wrapping User Message Payloads in a SYS.AnyData Wrapper and Enqueuing Them 10-20
Dequeuing a Payload That Is Wrapped in a SYS.AnyData Payload 10-23
Configuring a Messaging Client and Message Notification 10-25
11 Managing an Apply Process
Creating, Starting, Stopping, and Dropping an Apply Process 11-2
Creating an Apply Process 11-2
Starting an Apply Process 11-10
Stopping an Apply Process 11-10
Dropping an Apply Process 11-10
Managing the Rule Set for an Apply Process 11-11
Specifying the Rule Set for an Apply Process 11-11
Adding Rules to the Rule Set for an Apply Process 11-12
Removing a Rule from the Rule Set for an Apply Process 11-14
Removing a Rule Set for an Apply Process 11-15
Setting an Apply Process Parameter 11-16
Setting the Apply User for an Apply Process 11-17
Managing the Message Handler for an Apply Process 11-17
Setting the Message Handler for an Apply Process 11-18
Removing the Message Handler for an Apply Process 11-18
Managing the Precommit Handler for an Apply Process 11-18
Creating a Precommit Handler for an Apply Process 11-18
Setting the Precommit Handler for an Apply Process 11-20
Removing the Precommit Handler for an Apply Process 11-21
Specifying Event Enqueues by Apply Processes 11-21
Setting the Destination Queue for Events That Satisfy a Rule 11-21
Removing the Destination Queue Setting for a Rule 11-22
Specifying Execute Directives for Apply Processes 11-23
Specifying That Events That Satisfy a Rule Are Not Executed 11-23
Specifying That Events That Satisfy a Rule Are Executed 11-24
xi

Managing an Error Handler 11-25
Creating an Error Handler 11-25
Setting an Error Handler 11-30
Unsetting an Error Handler 11-31
Managing Apply Errors 11-32
Retrying Apply Error Transactions 11-32
Deleting Apply Error Transactions 11-33
12 Managing Rules and Rule-Based Transformations
Managing Rule Sets and Rules 12-2
Creating a Rule Set 12-3
Creating a Rule 12-4
Adding a Rule to a Rule Set 12-6
Altering a Rule 12-7
Modifying System-Created Rules 12-13
Removing a Rule from a Rule Set 12-14
Dropping a Rule 12-14
Dropping a Rule Set 12-14
Managing Privileges on Evaluation Contexts, Rule Sets, and Rules 12-15
Granting System Privileges on Evaluation Contexts, Rule Sets, and Rules 12-15
Granting Object Privileges on an Evaluation Context, Rule Set, or Rule 12-16
Revoking System Privileges on Evaluation Contexts, Rule Sets, and Rules 12-17
Revoking Object Privileges on an Evaluation Context, Rule Set, or Rule 12-17
Managing Rule-Based Transformations 12-18
Creating a Rule-Based Transformation 12-19
Altering a Rule-Based Transformation 12-25
Removing a Rule-Based Transformation 12-27
13 Other Streams Management Tasks
Performing Full Database Export/Import in a Streams Environment 13-2
Removing a Streams Configuration 13-7
xii

14 Monitoring a Streams Environment
Summary of Streams Static Data Dictionary Views 14-2
Summary of Streams Dynamic Performance Views 14-3
Monitoring Streams Administrators and Other Streams Users 14-4
Listing Local Streams Administrators 14-4
Listing Users Who Allow Access to Remote Streams Administrators 14-5
Monitoring a Streams Capture Process 14-6
Displaying the Queue, Rule Sets, and Status of Each Capture Process 14-7
Displaying General Information About Each Capture Process 14-8
Displaying Information About Each Downstream Capture Process 14-9
Displaying the Registered Redo Log Files for Each Capture Process 14-11
Displaying the Redo Log Files That Will Never Be Needed by Any Capture Process 14-13
Displaying SCN Values for Each Redo Log File Used by a Capture Process 14-13
Displaying the Last Archived Redo Entry Available to Each Capture Process 14-15
Listing the Parameter Settings for Each Capture Process 14-16
Viewing the Extra Attributes Captured by Each Capture Process 14-17
Determining the Applied SCN for All Capture Processes in a Database 14-17
Determining Redo Log Scanning Latency for Each Capture Process 14-18
Determining Event Enqueuing Latency for Each Capture Process 14-19
Displaying Information About Rule Evaluations for Each Capture Process 14-20
Monitoring a SYS.AnyData Queue and Messaging 14-22
Displaying the SYS.AnyData Queues in a Database 14-22
Viewing the Messaging Clients in a Database 14-23
Viewing Message Notifications 14-24
Determining the Consumer of Each User-Enqueued Event in a Queue 14-24
Viewing the Contents of User-Enqueued Events in a Queue 14-25
Monitoring Streams Propagations and Propagation Jobs 14-27
Determining the Source Queue and Destination Queue for Each Propagation 14-27
Determining the Rule Sets for Each Propagation 14-28
Displaying the Schedule for a Propagation Job 14-29

Determining the Total Number of Events and Bytes Propagated by Each Propagation 14-31
Monitoring a Streams Apply Process 14-32
Determining the Queue, Rule Sets, and Status for Each Apply Process 14-32
Displaying General Information About Each Apply Process 14-34
Listing the Parameter Settings for Each Apply Process 14-34
xiii
Displaying Information About Apply Handlers 14-35
Displaying Information About the Reader Server for Each Apply Process 14-38
Determining Capture to Dequeue Latency for an Event 14-39
Displaying General Information About Each Coordinator Process 14-40
Displaying Information About Transactions Received and Applied 14-41
Determining the Capture to Apply Latency for an Event for Each Apply Process 14-42
Displaying Information About the Apply Servers for Each Apply Process 14-44
Displaying Effective Apply Parallelism for an Apply Process 14-46
Viewing Rules That Specify a Destination Queue On Apply 14-47
Viewing Rules That Specify No Execution On Apply 14-48
Checking for Apply Errors 14-48
Displaying Detailed Information About Apply Errors 14-50
Monitoring Rules and Rule-Based Transformations 14-56
Displaying All Rules Used by All Streams Clients 14-57
Displaying the Streams Rules Used by a Specific Streams Client 14-60
Displaying the Current Condition for a Rule 14-63
Displaying Rule Conditions for Streams Rules That Have Been Modified 14-64
Displaying the Evaluation Context for Each Rule Set 14-65
Displaying Information About the Tables Used by an Evaluation Context 14-65
Displaying Information About the Variables Used in an Evaluation Context 14-66
Displaying All of the Rules in a Rule Set 14-67
Displaying the Condition for Each Rule in a Rule Set 14-68
Listing Each Rule that Contains a Specified Pattern in Its Condition 14-68
Displaying Rule-Based Transformations 14-69

Displaying Aggregate Statistics for All Rule Set Evaluations 14-70
Displaying General Information About Rule Set Evaluations 14-71
Determining the Resources Used by Evaluation of Each Rule Set 14-72
Displaying Evaluation Statistics for a Rule 14-74
Monitoring Compatibility in a Streams Environment 14-74
Listing the Database Objects That Are Not Compatible With Streams 14-75
Listing the Database Objects That Have Become Compatible With Streams Recently 14-77
Monitoring Streams Performance Using Statspack 14-79
xiv
15 Troubleshooting a Streams Environment
Troubleshooting Capture Problems 15-2
Is the Capture Process Enabled? 15-2
Is the Capture Process Current? 15-3
Are Required Redo Log Files Missing? 15-4
Is a Downstream Capture Process Waiting for Redo Log Files? 15-4
Are You Trying to Configure Downstream Capture Using DBMS_STREAMS_ADM? 15-6
Are More Actions Required for Downstream Capture without a Database Link? 15-7
Troubleshooting Propagation Problems 15-7
Does the Propagation Use the Correct Source and Destination Queue? 15-8
Is the Propagation Job Used by a Propagation Enabled? 15-9
Are There Enough Job Queue Processes? 15-10
Is Security Configured Properly for the SYS.AnyData Queue? 15-11
Troubleshooting Apply Problems 15-13
Is the Apply Process Enabled? 15-13
Is the Apply Process Current? 15-14
Does the Apply Process Apply Captured Events or User-Enqueued Events? 15-15
Is the Apply Process Queue Receiving the Events to Apply? 15-15
Is a Custom Apply Handler Specified? 15-17
Is the AQ_TM_PROCESSES Initialization Parameter Set to Zero? 15-17
Are There Any Apply Errors in the Error Queue? 15-18

Troubleshooting Problems with Rules and Rule-Based Transformations 15-18
Are Rules Configured Properly for the Streams Client? 15-19
Are the Rule-Based Transformations Configured Properly? 15-26
Checking the Trace Files and Alert Log for Problems 15-27
Does a Capture Process Trace File Contain Messages About Capture Problems? 15-28
Do the Trace Files Related to Propagation Jobs Contain Messages About Problems? 15-28
Does an Apply Process Trace File Contain Messages About Apply Problems? 15-29
xv
Part III Example Environments and Applications
16 Single Database Capture and Apply Example
Overview of the Single Database Capture and Apply Example 16-2
Prerequisites 16-4
17 Rule-Based Application Example
Overview of the Rule-Based Application 17-2
Part IV Appendixes
A XML Schema for LCRs
Definition of the XML Schema for LCRs A-2
B Online Database Upgrade and Maintenance With Streams
Overview of Using Streams in the Database Maintenance Process B-2
Performing a Database Version Upgrade Using Streams B-3
Performing a Database Version Upgrade Using Streams and Original Export/Import B-4
Performing a Database Version Upgrade Using Streams and RMAN B-8
Performing a Database Maintenance Operation Using Streams B-14
Preparing for Upgrades to User-Created Applications B-14
Deciding Which Utility to Use for Instantiation B-15
Performing the Maintenance Operation Using Export/Import and Streams B-16
Performing the Maintenance Operation Using RMAN and Streams B-20
Finishing the Database Maintenance Operation B-28
Index
xvi

xvii
Send Us Your Comments
Oracle Streams Concepts and Administration, 10g Release 1 (10.1)
Part No. B10727-01
Oracle Corporation welcomes your comments and suggestions on the quality and usefulness of this
document. Your input is an important part of the information used for revision.
■ Did you find any errors?
■ Is the information clearly presented?
■ Do you need more information? If so, where?
■ Are the examples correct? Do you need more examples?
■ What features did you like most?
If you find any errors or have any other suggestions for improvement, please indicate the document
title and part number, and the chapter, section, and page number (if available). You can send com-
ments to us in the following ways:
■ Electronic mail:
■ FAX: (650) 506-7227 Attn: Server Technologies Documentation Manager
■ Postal service:
Oracle Corporation
Server Technologies Documentation
500 Oracle Parkway, Mailstop 4op11
Redwood Shores, CA 94065
USA
If you would like a reply, please give your name, address, telephone number, and (optionally) elec-
tronic mail address.

If you have problems with the software, please contact your local Oracle Support Services.
xviii
xix
Preface
Oracle Streams Concepts and Administration describes the features and functionality of

Streams. This document contains conceptual information about Streams, along with
information about managing a Streams environment. In addition, this document
contains detailed examples that configure a Streams capture and apply environment
and a rule-based application.
This preface contains these topics:
■ Audience
■ Organization
■ Related Documentation
■ Conventions
■ Documentation Accessibility
xx
Audience
Oracle Streams Concepts and Administration is intended for database administrators
who create and maintain Streams environments. These administrators perform one
or more of the following tasks:
■ Plan for a Streams environment
■ Configure a Streams environment
■ Administer a Streams environment
■ Monitor a Streams environment
■ Perform necessary troubleshooting activities
To use this document, you need to be familiar with relational database concepts,
SQL, distributed database administration, Advanced Queuing concepts, PL/SQL,
and the operating systems under which you run a Streams environment.
Organization
This document contains:
Part I, "Streams Concepts"
Contains chapters that describe conceptual information relating to Streams.
Chapter 1, "Introduction to Streams"
Introduces the major features of Streams and how they can be used.
Chapter 2, "Streams Capture Process"

Contains conceptual information about the Streams capture process. Includes
information about logical change records (LCRs), datatypes and types of changes
captured, and supplemental logging, along with information about capture process
architecture.
Chapter 3, "Streams Staging and Propagation"
Contains conceptual information about staging and propagation in a Streams
environment. Includes information about the differences between captured and
user-enqueued events, propagation, the differences between transactional and
non-transactional queues, and using SYS.AnyData queues. Also includes
information about queue and propagation architecture.
xxi
Chapter 4, "Streams Apply Process"
Contains conceptual information about the Streams apply process. Includes
information about event processing with an apply process, considerations for apply
changes to tables, conditions for applying DDL changes, and controlling a trigger's
firing property, along with information about the oldest SCN for an apply process
and apply process architecture.
Chapter 5, "Rules"
Contains conceptual information about rules. Includes information about rule
components, rule sets, and privileges related to rules.
Chapter 6, "How Rules Are Used In Streams"
Contains conceptual information about how rules are used in Streams. Includes
information about table rules, subset rules, schema rules, and global rules. Also
includes information about rule-based transformations.
Chapter 7, "Streams High Availability Environments"
Contains conceptual information about using Streams for high availability
environments.
Part II, "Streams Administration"
Contains chapters that describe managing a capture process, staging, propagation,
an apply process, rules, rule-based transformations, logical change records (LCRs),

and Streams tags.
Chapter 8, "Preparing a Streams Environment"
Contains information about preparing for a Streams environment. Includes
instructions for configuring a Streams administrator, setting initialization
parameters that are important to Streams, preparing for a capture process, and
configuring networking connectivity.
Chapter 9, "Managing a Capture Process"
Contains information about managing a capture process. Includes instructions for
creating, starting, stopping, and altering a capture process, as well as other
information related to capture process administration.
xxii
Chapter 10, "Managing Staging and Propagation"
Contains information about managing staging and propagation of events in a
Streams environment. Includes instructions for creating a SYS.AnyData queue,
and instructions for enabling, disabling, and altering a propagation, as well as other
information related to staging, propagation, and messaging.
Chapter 11, "Managing an Apply Process"
Contains information about managing an apply process. Includes instructions for
creating, starting, stopping, and altering an apply process, as well as instructions
about using apply process handlers, configuring conflict resolution, and managing
an exception queue.
Chapter 12, "Managing Rules and Rule-Based Transformations"
Contains information about managing rules and rule-based transformations.
Includes instructions for managing rules and rule sets, as well as information about
granting and revoking privileges related to rules. In addition, this chapter includes
instructions for creating, altering, and removing rule-based transformations.
Chapter 13, "Other Streams Management Tasks"
Contains information about managing logical change records (LCRs) and Streams
tags. Includes instructions for constructing and enqueuing LCRs, and instructions
for setting and removing tag values for a session or an apply process.

Chapter 14, "Monitoring a Streams Environment"
Contains information about using data dictionary views and scripts to monitor a
Streams environment. Includes information about monitoring capture processes,
queues, propagations, apply processes, rules, rule-based transformations, and tags.
Chapter 15, "Troubleshooting a Streams Environment"
Contains information about possible problems in a Streams environment and how
to resolve them. Includes information about troubleshooting a capture process,
propagation, apply process, messaging client, and the rules used by these Streams
clients, as well as information about checking trace files and the alert log for
problems.
xxiii
Part III, "Example Environments and Applications"
Contains chapters that illustrate example environments.
Chapter 16, "Single Database Capture and Apply Example"
Contains a step by step example that configures a single database capture and
apply example using Streams. Specifically, this chapter illustrates an example of a
single database that captures changes to a table, uses a DML handler during apply
to re-enqueue the captured changes into a queue, and then applies a subset of the
changes to a different table.
Chapter 17, "Rule-Based Application Example"
Contains step by step examples that illustrate a rule-based application that uses the
Oracle rules engine.
Part IV, "Appendixes"
Contains one appendix that describes the XML schema for logical change
records (LCRs).
Appendix A, "XML Schema for LCRs"
Contains the definition of the XML schema for LCRs.
Appendix B, "Online Database Upgrade and Maintenance With Streams"
Contains information about performing certain maintenance operations on an
Oracle database with little or no down time. These maintenance operations include

upgrading to a new version of the Oracle Database, migrating an Oracle Database
to a different operating system or character set, upgrading user-created
applications, and applying Oracle Database patches.
Related Documentation
For more information, see these Oracle resources:
■ Oracle Streams Replication Administrator's Guide
■ Oracle Database Concepts
■ Oracle Database Administrator's Guide
■ Oracle Database SQL Reference
■ PL/SQL Packages and Types Reference
xxiv
■ PL/SQL User's Guide and Reference
■ Oracle Database Utilities
■ Oracle Database Heterogeneous Connectivity Administrator's Guide
■ Oracle Streams Advanced Queuing User's Guide and Reference
■ Streams online help for the Streams tool in Oracle Enterprise Manager
You may find more information about a particular topic in the other documents in
the Oracle documentation set.
Oracle error message documentation is only available in HTML. If you only have
access to the Oracle Documentation CD, you can browse the error messages by
range. Once you find the specific range, use your browser's "find in page" feature to
locate the specific message. When connected to the Internet, you can search for a
specific error message using the error message search feature of the Oracle online
documentation.
Many of the examples in this book use the sample schemas of the seed database,
which is installed by default when you install Oracle. Refer to Oracle Database
Sample Schemas for information on how these schemas were created and how you
can use them yourself.
Printed documentation is available for sale in the Oracle Store at
/>To download free release notes, installation documentation, white papers, or other

collateral, please visit the Oracle Technology Network (OTN). You must register
online before using OTN; registration is free and can be done at
/>If you already have a username and password for OTN, then you can go directly to
the documentation section of the OTN Web site at
/>In addition, you can find resources related to Oracle Streams at
/>xxv
Conventions
This section describes the conventions used in the text and code examples of this
documentation set. It describes:
■ Conventions in Text
■ Conventions in Code Examples
Conventions in Text
We use various conventions in text to help you more quickly identify special terms.
The following table describes those conventions and provides examples of their use.
Convention Meaning Example
Bold Bold typeface indicates terms that are
defined in the text or terms that appear in
a glossary, or both.
When you specify this clause, you create an
index-organized table.
Italics Italic typeface indicates book titles or
emphasis.
Oracle Database Concepts
Ensure that the recovery catalog and target
database do not reside on the same disk.
UPPERCASE
monospace
(fixed-width)
font
Uppercase monospace typeface indicates

elements supplied by the system. Such
elements include parameters, privileges,
datatypes, RMAN keywords, SQL
keywords, SQL*Plus or utility commands,
packages and methods, as well as
system-supplied column names, database
objects and structures, usernames, and
roles.
You can specify this clause only for a NUMBER
column.
You can back up the database by using the
BACKUP command.
Query the TABLE_NAME column in the USER_
TABLES data dictionary view.
Use the DBMS_STATS.GENERATE_STATS
procedure.

×