背景:DG单机主库,有一个RAC备库,1月15日做过切换。客户觉得主机内存使用过高,直接重启了主机,OGG挂掉,重新拉起时,出现OGG-00446报错,该归档为15日的归档,本地已经删除

select * from v$log;看到有两个thread,其中thread 2的redo 有两个日志组没有用到
重新拉起start E_SL_DG,info E_SL_DG,showch查看检查点,发现Startup Checkpoint没有更新为Recovery Checkpoint,

由于thread 2没有使用,考虑OGG不抽取thread 2,重建extract进程并指定thread 1
dblogin USERID slogg password ogg 登录数据库
delete EXT E_SL_DG
ADD EXTRACT E_SL_DG, TRANLOG, EXTSEQNO 287, EXTRBA 15751680,THREADS 1;--指定为当前checkpoint

add RMTTRAIL ./dirdat/e_sl_a/sl,ext E_SL_DG,megabytes 100,THREADS 1
拉起报错OGG-00446
The number of Oracle redo threads (2) is not the same as the number of checkpoint threads (1)
单实例数据库多日志线程,为了尽快恢复数据同步,考虑先将thread删除
SQL> alter database disable thread 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.
SQL> alter database drop logfile group 4;
Database altered.
SQL> alter database drop logfile group 5;
Database altered.
成功拉起
在DG单机主库与RAC备库环境中,遇到OGG-00446错误,原因是主机重启导致OGG进程异常。分析发现备库thread 2的redo日志未使用,且Startup Checkpoint未更新。为解决问题,尝试指定thread 1重建extract进程,但失败。进一步操作包括禁用并删除多余的redo日志线程,最终成功拉起OGG进程,恢复数据同步。

2433

被折叠的 条评论
为什么被折叠?



