This illustration shows an Oracle Streams replication environment that involves the following databases:
dbs1.example.com (Oracle database)
dbs2.example.com (Oracle database)
dbs3.example.com (Oracle database)
dbs4.example.com (Sybase database)
The dbs1.example.com Oracle database has the following configuration:
One Oracle Streams queue named streams_queue and owned by the user strmadmin
A capture process named capture that captures DML and DDL changes to the tables in the hr schema: countries, departments, employees, job_history, jobs, locations, and regions
A propagation named dbs1_to_dbs2 that propagates changes from the local queue to the strmadmin.streams_queue queue at dbs2.example.com
The dbs2.example.com Oracle database has the following configuration:
One Oracle Streams queue named streams_queue and owned by the user strmadmin.
An apply process named apply_db2 that applies changes to the hr.assignments table.
An apply process named apply_db4 that applies changes to the hr.jobs table at dbs4.example.com, which is a Sybase database. The apply process uses a gateway to apply changes to dbs4.example.com.
A custom rule-based transformation specified for apply_db2 that modifies LCRs that include DML changes to the hr.jobs table to LCRs that include DML changes to the hr.assignments table. The transformation function is named to_assignments.
A propagation named dbs2_to_dbs3 that propagates change from the local queue to the strmadmin.streams_queue queue at dbs3.example.com. These changes originated at dbs1.example.com.
The dbs3.example.com Oracle database has the following configuration:
One Oracle Streams queue named streams_queue and owned by the user strmadmin
An apply process named apply that applies changes to the hr.countries, hr.regions, and hr.locations tables
The dbs4.example.com Sybase database contains an hr.jobs table.