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
Goldengate:ERROR 180 encountered commit SCN that is not greater than the highest SCN already processed