2011-10-16 22:41:02 ERROR OGG-00446 Oracle GoldenGate Capture for Oracle, e430rks2.prm: Could not find archived log for sequence 10770 thread 1 under default destinations SQL <SELECT name FROM v$archived_log WHERE sequence# = :ora_seq_no AND thread# = :ora_thread AND resetlogs_id = :ora_resetlog_id AND archived = 'YES' AND deleted = 'NO>, error retrieving redo file name for sequence 10770, archived = 1, use_alternate = 0Not able to establish initial position for sequence 10770, rba 78960656.
2011-10-16 22:41:02 ERROR OGG-01668 Oracle GoldenGate Capture for Oracle, e430rks2.prm: PROCESS ABENDING.
原因是extract 所需的archived log已经被清走,不在log_archive_dest指定的目录下,解决方法很简单,只要把sequence 从10770开始到当前的archived log重新拷贝回log_archive_dest目录下即可。
以上文档摘自网络。
我也遇到一个这个问题,thread 2的sequence24800的归档找不到了。该归档已经被删掉了,无法恢复,而且,目前节点2(thread2)服务器已经关闭。就是说目前在ogg中thread 1是不报错的,thread 2报错,所以抽取进程是stop的
解决的过程和方法
1)查询thread的最大sequence,
select max(sequence#) from v$archived_log where thread#=2;
这里正好是24800,如果不是24800,那么就要在第二步中的extseqno 24801 改为你查到的那个max(sequence#)+1
2)重新指向thread 2的开始sequence
GGSCI>alter extract extxx thread 2,extseqno 24801,extrba 0
指定thread2的sequence大于24800
3)使用这个方法是你的归档找不到了,如果能找到归档日志还是按照前面的那种方法来。