Monday, August 9, 2010

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 
  1. Do an ETROLLOVER on Extract, and take note of the new sequence number of the trail file.
    ALTER EXTRACT [name], ETROLLOVER
  2. Start extract
    START EXTRACT [name]
  3. Send PUMP, LOGEND, to see if it's at the end of the previous trail.
    SEND EXTRACT [pump_name], LOGEND
  4. 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
  5. Alter the pump to SEQNO to the new trail file created from step #1.
    ALTER EXTRACT [pump_name], EXTSEQNO ##### EXTRBA 0
  6. Restart pump
    START EXTRACT [pump_name]
  7. Send Replicat, LOGEND to make sure it has processed all the remaining data, and stop Replicat.
    SEND REPLICAT [name], LOGEND
    STOP REPLICAT [name]
  8. If replicat is not at end of trail, generate a report and forcestop replicat
    SEND REPLICAT [name], REPORT
    STOP REPLICAT [name]!
  9. 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
  10. Restart replicat
    START REPLICAT [name]
  11. Once replicat has completely processed the trail, stop the replicat
    STOP REPLICAT [name]
  12. 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.
  13. ALTER REPLICAT, SEQNO to the new trail file created in step #4.
    ALTER REPLICAT [name], EXTSEQNO ###### EXTRBA 0
  14. Start Replicat
    START REPLICAT [name]
  15. 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
  16. 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
See also  :
Encountered SCN That Is Not Greater Than The Highest SCN Already Processed

No comments: