Goldengate:ERROR 180 encountered commit SCN that is not greater than the highest SCN already processed

How to recover from Extract ERROR 180 encountered commit SCN that is not greater than the highest SCN already processed

This is the summary of Metalink Doc:987379.1

This error occurs in an Oracle RAC environment after a transaction is written to the idle node but does not yet appear in the redo log when the current transaction is processed. This transaction will have a higher SCN then the previous transaction 
In order to avoid to live this problem the steps in (Encountered SCN That Is Not Greater Than The Highest SCN Already Processed ) articale must be done 

But If you have encountered this problem here is the solution 
Do an ETROLLOVER on Extract, and take note of the new sequence number of the trail file. 
ALTER EXTRACT [name], ETROLLOVER
Start extract 
START EXTRACT [name]
Send PUMP, LOGEND, to see if it's at the end of the previous trail. 
SEND EXTRACT [pump_name], LOGEND
Once it is at the end of the trail file, You must stop the pump, and do an ETROLLOVER for it too. Take note of the new trail file sequence number that is created from this step
STOP EXTRACT [pump_name] 
ALTER EXTRACT [pump_name], ETROLLOVER
Alter the pump to SEQNO to the new trail file created from step #1. 
ALTER EXTRACT [pump_name], EXTSEQNO ##### EXTRBA 0
Restart pump 
START EXTRACT [pump_name]
Send Replicat, LOGEND to make sure it has processed all the remaining data, and stop Replicat. 
SEND REPLICAT [name], LOGEND 
STOP REPLICAT [name]
If replicat is not at end of trail, generate a report and forcestop replicat
SEND REPLICAT [name], REPORT
STOP REPLICAT [name]!
Add the following parameters to replicat parameter file to allow replicat to process each trail record as a single transaction, or set them to 1 if you have any of these parameters
GROUPTRANSOPS 1
MAXTRANSOPS 1
Restart replicat
START REPLICAT [name]
Once replicat has completely processed the trail, stop the replicat
STOP REPLICAT [name]
Edit the replicat parameter file: 
Add parameter HANDLECOLLISIONS to Replicat parameter file 
Remove or comment out GROUPTRANSOPS and MAXTRANSOPS or revert them back to their original values.
ALTER REPLICAT, SEQNO to the new trail file created in step #4. 
ALTER REPLICAT [name], EXTSEQNO ###### EXTRBA 0
Start Replicat
START REPLICAT [name]
Once Replicat has processed the out of order SCN operations, disable HANDLECOLLISIONS. You could also look for the CSN and wait for Replicat to checkpoint past it.
SEND REPLICAT [name], NOHANDLECOLLISIONS
Edit the replicat parameter and comment out the HANDLECOLLISIONS parameter. You do not need to stop/restart replicat. This will ensure that on any subsequent replicat restarts the parameter is disabled

原文地址:https://www.cnblogs.com/jimeper/p/3913239.html