Previous |
Next |
Replication is the process of sharing database objects and data at multiple databases. To maintain the database objects and data at multiple databases, a change to one of these database objects at a database is shared with the other databases. In this way, the database objects and data are kept synchronized at all of the databases in the replication environment.
Some replication environments must continually replicate the changes made to shared database objects. Oracle Streams is the Oracle Database feature for continuous replication. Typically, in such environments, the databases that contain the shared database objects are connected to the network nearly all the time and continually push database changes over these network connections.
When a change is made to one shared database object, Oracle Streams performs the following actions to ensure that the same change is made to the corresponding shared database object at each of the other databases:
Oracle Streams automatically captures the change and stages it in a queue.
Oracle Streams automatically pushes the change to a queue in each of the other databases that contain the shared database object.
Oracle Streams automatically consumes the change at each of the other databases. During consumption, Oracle Streams dequeues the change and applies the change to the shared database object.
Figure: Oracle Streams Information Flow shows the Oracle Streams information flow:
You can use Oracle Streams replication to share data at multiple databases and efficiently keep the data current at these databases. For example, a company with several call centers throughout the world might want to store customer information in a local database at each call center. In such an environment, continuous replication with Oracle Streams can ensure that a change made to customer data at one location is pushed to all of the other locations as soon as possible.
When you use Oracle Streams to capture changes to database objects, the changes are formatted into logical change records (LCRs). An LCR is a message with a specific format that describes a database change. If the change was a data manipulation language (DML) operation, then a row LCR encapsulates each row change resulting from the DML operation. One DML operation might result in multiple row changes, and so one DML operation might result in multiple row LCRs. If the change was a data definition language (DDL) operation, then a single DDL LCR encapsulates the DDL change.
The following topics describe Oracle Streams replication in more detail:
About Rules for Controlling the Behavior of Capture, Propagation, and Apply
About the Common Types of Oracle Streams Replication Environments
About Key Oracle Streams Supplied PL/SQL Packages and Data Dictionary Views
When to Replicate Data with Oracle Streams
Preparing for Oracle Streams Replication
Tutorial: Configuring Two-Database Replication with a Downstream Capture Process
Tutorial: Configuring Hub-and-Spoke Replication with Local Capture Processes
Tutorial: Configuring Two-Database Replication with Synchronous Captures