1、巡检过程中发现主库一直循环出现如下错误
*** 2022-02-08T16:52:07.841613+08:00
krsf_fal_worker: Encountered error status: 16059
<error barrier> at 0x7fffa10fb4e0 placed krsf.c@4161
ORA-16055: FAL request rejected
krsf_fal_spool: FAIL: Invalid archive log file for B-1007918999.T-1.S-205098, only read 305335 of 305323 blocks
2、在检查物理备用数据库时发现有归档缺失
缺失归档系号为 205090 至 205098 ,由于物理备用数据库归档缺失,导致主库重复在告警日志写 ORA-16055 异常。
SQL> select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE# CON_ID
---------- ------------- -------------- ----------
1 205090 205098 1
3、恢复缺失归档
由于主库归档已经被清理,我们只能从备份去恢复归档
rman target /
restore archivelog from logseq 205090 until logseq 205098 threid 1;
恢复过程省略 ... ....
恢复出来的归档如下:
-rw-r-----. 1 oracle dba 490M Feb 9 09:09 1_205090_1007918999.dbf
-rw-r-----. 1 oracle dba 504M Feb 9 09:09 1_205091_1007918999.dbf
-rw-r-----. 1 oracle dba 478M Feb 9 09:10 1_205092_1007918999.dbf
-rw-r-----. 1 oracle dba 291M Feb 9 09:10 1_205093_1007918999.dbf
-rw-r-----. 1 oracle dba 482M Feb 9 09:11 1_205094_1007918999.dbf
-rw-r-----. 1 oracle dba 476M Feb 9 09:11 1_205095_1007918999.dbf
-rw-r-----. 1 oracle dba 476M Feb 9 09:12 1_205096_1007918999.dbf
-rw-r-----. 1 oracle dba 496M Feb 9 09:12 1_205097_1007918999.dbf
-rw-r-----. 1 oracle dba 150M Feb 9 09:13 1_205098_1007918999.dbf
拷贝缺失归档至物理备库归档目录:
scp 1_205090_1007918999.dbf oracle@10.176.49.49:/u01/archivelog/
... ...
把归档注册到物理备库:
alter database register logfile '/arch/archive_log/1_205090_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205091_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205092_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205093_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205094_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205095_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205096_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205097_1007918999.dbf';
alter database register logfile '/arch/archive_log/1_205098_1007918999.dbf';
至此,缺失归档恢复完成,检查alert日志发现数据库已经从序号为205090的归档开始从新应用日志,数据库恢复实时同步。