This illustration shows an Oracle Streams hub-and-spoke replication environment that includes the following Oracle databases:
hub.example.com
spoke1.example.com
spoke2.example.com
At each database, the local redo log records changes to the hr schema.
The hub.example.com database has the following Oracle Streams components configured:
The following queues: source_hns, destination_spoke1, and destination_spoke2.
A capture process named capture_hns that captures DML changes to the tables in the hr schema from the local redo log. The capture process enqueues these changes into the local source_hns queue.
A propagation named propagation_spoke1 that sends changes from the local source_hns queue to the destination_spoke1 queue at spoke1.example.com.
A propagation named propagation_spoke2 that sends changes from the local source_hns queue to the destination_spoke2 queue at spoke2.example.com.
An apply process named apply_spoke1 that dequeues changes that originated at spoke1.example.com from the destination_spoke1 queue and applies them to the tables in the hr schema.
An apply process named apply_spoke2 that dequeues changes that originated at spoke2.example.com from the destination_spoke2 queue and applies them to the tables in the hr schema.
The spoke1.example.com database has the following Oracle Streams components configured:
The following queues: source_hns and destination_spoke1.
A capture process named capture_hns that captures DML changes to the tables in the hr schema from the local redo log. The capture process enqueues these changes into the local source_hns queue.
A propagation named propagation_spoke1 that sends changes from the local source_hns queue to the destination_spoke1 queue at hub.example.com.
An apply process named apply_spoke1 that dequeues changes that originated at hub.example.com and spoke2.example.com from the destination_spoke1 queue and applies them to the tables in the hr schema.
The spoke2.example.com database has the following Oracle Streams components configured:
The following queues: source_hns and destination_spoke2.
A capture process named capture_hns that captures DML changes to the tables in the hr schema from the local redo log. The capture process enqueues these changes into the local source_hns queue.
A propagation named propagation_spoke2 that sends changes from the local source_hns queue to the destination_spoke2 queue at hub.example.com.
An apply process named apply_spoke2 that dequeues changes that originated at hub.example.com and spoke1.example.com from the destination_spoke2 queue and applies them to the tables in the hr schema.