Download Oracle 11g Streams Implementer`s Guide
Transcript
Dealing with the Ever Constant Tides of Change If transactions are coming in faster than the Apply process can Apply them, try increasing the parallelism of the Apply processes. Or, consider adding an additional Apply queue and process, and splitting the inbound Propagation processes between them (this means that those Propagation processes that need to be redirected to the new queue must be recreated). • Check for LARGE transactions. The APPLY reader will keep dequeing the large transaction until it reaches the transaction end marker. During this time, the coordinator and APPLY slaves will be IDLE. To determine if there is a large transaction in progress, you can check the capture site alert log for large transaction messages and match it with the transaction id in the APPLY views. • Check for Apply spill to disk. If the number of messages in a transaction exceeds the txn_lcr_spill_ threshold the Apply process will begin to spill messages to disk. This can slow down the Apply process. Use the DBA_APPLY_SPILL_TXN view to see information on spilled messages. Failure Point 12: Conflict detection and resolution rules Oracle's conflict detection determines if old values or data structure in the event LCR do not match the existing data in the destination table. When this happens, it checks to see if there is any conflict resolution defined for the Apply ruleset. If none is found, the LCR is placed in the Apply Error Queue (this is a persistent queue which allows us to query it at will). If conflict resolution methods are defined for the apply rule they are used to continue processing the LCR. If the conflict is still not resolved after applying all the conflict resolution methods to the LCR, the LCR is put in the Apply Error queue. • Verify the conflict resolution method resolves the conflict as expected. Conflict resolution methods are a type of transformation and they can change the data. Make sure the resolution and data change logic are correct and yield the expected result with the values of the LCR. • Make sure supplemental logging has been configured for each table replicated. [ 290 ]