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

posted @   jimeper  阅读(485)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2013-08-14 11g等待事件之library cache: mutex X
2013-08-14 Latch Free
2009-08-14 ORA-00600:[kcratr1_lostwrt]
点击右上角即可分享
微信分享提示