客户某天反馈说:”DG库自0221以来就已经不同步了,请核查。“
于是我远程登录进行查看。
故障检查
检查归档同步情况
一、查看数据库的情
select database_role,flashback_on,open_mode,current_scn from v$database
DATABASE_ROLE FLASHBACK_ON OPEN_MODE CURRENT_SCN
---------------- ------------------ -------------------- ---------------
PHYSICAL STANDBY NO READ ONLY WITH APPLY 16657544972059
二、查看归档的最大线程与最大接收的归档情况。
select thread#,max(sequence#) from v$archived_log group by thread#;
生产库:
SQL> select thread#,max(sequence#) from v$archived_log group by thread#;
THREAD# MAX(SEQUENCE#)
---------- --------------
1 136973
2 132693
4 149599
3 133277
--DG库
SYS@hisnewdb> select thread#,max(sequence#) from v$archived_log group by thread#;
THREAD# MAX(SEQUENCE#)
---------- --------------
1 136973
2 132693
4 149598
3 133277
可见4个节点归档是都有会过来的,sequence都能对得上。
三、查是否存在GAP
select * from v$archived_gap;
日志应用情况
查看延时的应用情况
select name ,value,time_computed from v$dataguard_stats where rownum<33;
NAME VALUE TIME_COMPUTED
-------------------------------- ---------------------------------------------------------------- ------------------------------
transport lag +11 06:41:27 03/04/2021 16:41:20
apply lag +11 06:41:27 03/04/2021 16:41:20
apply finish time +00 04:23:39.868 03/04/2021 16:41:20
estimated startup time 37 03/04/2021 16:41:20
可看到apply lag的应用已经延时11天6小时了。
apply finish time应用最快的恢复时长为4小时。
恢复思路
应用日志
alter database recover managed standby databse cancel; --取消应用日志
alter database open read only; --打开只读库
alter database recover managed standby ;
alter database recover managed standby disconnect from session; -- 后台应用,建议上面命令,放前台应用。
归档还保留或者GAP较少的情况
1)归档还在主库
方法一:
首先通过备库sql查出相应的