The following topics contain information about the combined capture and apply optimization:
For improved efficiency, a capture process can create a propagation sender to transmit logical change records (LCRs) directly to a propagation receiver under specific conditions. The propagation receiver enqueues the LCRs into the buffered queue portion of the destination queue, and an apply process dequeues the LCRs. This optimization is called combined capture and apply.
Combined capture and apply can be used when the capture process and apply process run on the same database instance or on different databases.
When the capture process and apply process run on the same database instance, combined capture and apply is possible only if all of the following conditions are met:
The capture process and apply process must use the same queue.
The queue must have a single publisher, and it must be the capture process.
When the capture process and apply process run on different databases, or on different instances in the same database, combined capture and apply is possible only if all of the following conditions are met:
The capture process's queue must have a single publisher, and it must be the capture process.
A propagation must be configured between the capture process's queue and the apply process's queue. There can be no intermediate queues (no directed network).
Each apply process that applies changes from the same source database must use a different queue.
Note:
Combined capture and apply is not possible with synchronous capture.
Combined capture and apply is not possible when an Oracle Database 10g or earlier database is part of the configuration.
The combined capture and apply requirements are different in Oracle Database 11g Release 2 (11.2) and Oracle Database 11g Release 1 (11.1). If a database in a combined capture and apply optimization is an 11.1 database, then the 11.1 requirements must be met. See Oracle Streams Concepts and Administration for the 11.1 release for information about these requirements.
After you meet the requirements for combined capture and apply, you do not need to perform any other configuration tasks to use it. The capture process automatically detects that combined capture and apply is possible when it is started. After it creates a propagation sender to establish a connection with the propagation receiver, the propagation sender sends captured LCRs directly to the propagation receiver.
If combined capture and apply is used, and you change the configuration so that it no longer meets the requirements of combined capture and apply, then the capture process detects this change and restarts. After the capture process restarts, it no longer uses combined capture and apply.
If combined capture and apply is not used, and you change the configuration so that it meets the requirements of combined capture and apply, then combined capture and apply is used automatically when the capture process is restarted. In this case, you must restart the capture process manually. It is not restarted automatically.
Check the following dynamic performance views to determine whether combined capture and apply is used:
For the capture process, combined capture and apply is used when the OPTIMIZATION
column is greater than zero in the V$STREAMS_CAPTURE
view.
For the apply process, combined capture and apply is used when the PROXY_SID
column is not NULL
in the V$STREAMS_APPLY_READER
view.
See Also:
"Determining Which Capture Processes Use Combined Capture and Apply"
"Determining Which Apply Processes Use Combined Capture and Apply"
Oracle Database Reference for information about data dictionary views
When you use combined capture and apply in a single-source replication environment, the Oracle Streams clients handle point-in-time recovery of the destination database automatically. The Oracle Streams client include the capture process, propagation, and apply process that form the combined capture and apply optimization.
In a single-source replication environment that uses combined capture and apply, complete these general steps to perform point-in-time recovery on the destination database:
Stop the capture process and apply process, and disable the propagation.
Perform the point-in-time recovery on the destination database.
Ensure that the capture process has access to the archived redo log files for the previous point in time.
Start the apply process.
Enable the propagation.
Start the capture process.
When you follow these steps, the capture process determines its start SCN automatically, and no other steps are required.
See Also:
Oracle Streams Replication Administrator's Guide for more information about performing point-in-time recovery in an Oracle Streams replication environment