zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    说说 Java 线程间通信
    Java 内存模型与内存结构
    Spring Boot 整合 Shiro
    HashMap 实现原理
    Spring Boot 自动配置原理
    Spring Cloud 全链路追踪实现
    JVM 类加载机制
    volatile 关键字的作用
    Spring Boot 整合 Redis
    Docker命令
  • 原文地址:https://www.cnblogs.com/jimeper/p/3913239.html
Copyright © 2011-2022 走看看