在Oracle中,OGG-00446 Could not find archived log for sequence错误的处理办法是什么?
♣ 答案部分
如果面试官问到维护OGG曾经碰到的一次故障处理过程,那么就可以拿这个错误作为案例来说明。OGG-00446主要是归档文件丢失引起,处理办法就是将缺失的归档日志找回来。如果找不到所需归档日志,那么可以按照如下2种办法来处理:
第一种办法是改变抽取进程的时间,但这可能会导致数据不一致,执行方法如下:
1GGSCI (HP-HP) 1> alter extract extl,begin now
第二种办法:重新初始化,重新初始化过程如下:
源库查询到当前的SCN:
1SQL> COL CURRENT_SCN FORMAT 999999999999999 2SQL> SELECT CURRENT_SCN FROM V$DATABASE; 3 CURRENT_SCN 4---------------- 5 12242466771468
基于SCN导出所需要的数据:
1expdp XXX/XXX directory=DMP dumpfile=xpadb_20160125_01.dmp LOGFILE=xpadb_20160125.log TABLES=BASE_ACTIONPOWER,BASE_BANK FLASHBACK_SCN=12242466771468
目标库导入所需要的数据:
1impdp XXX/XXX DIRECTORY=OGGD DUMPFILE=xpadb_20160125_01.dmp LOGFILE=impdp.xpadb_20160125_01.log REMAP_SCHEMA=xpadb:xpadrpt REMAP_TABLESPACE=xpaddat:xpaddata
目标库重新开启应用进程:
1GGSCI (HP-HP) 1> start replicat ggsrep , aftercsn 12242466771468