Jan 17, 2024 No Comments dataguard环境下判断主从数据同步是否正常 ## dataguard环境下判断主从数据同步是否正常 (1)在主库上查看主备库的SCN号 ```auto select 1 dest_id, current_scn from v$database union all select dest_id, applied_scn from v$archive_dest where target='STANDBY'; ``` ![](https://www.91vps.cc/usr/uploads/2024/01/3349606316.png) 如果主库、备库的scn一直在变,并且很接近,说明备库日志恢复正常。 (2)在主库查看归档日志位置状态 ```auto set line 300 col error format a30 col dest_name format a20 select dest_id, dest_name, status, type, error, gap_status from v$archive_dest_status where status='VALID'; ``` ![](https://www.91vps.cc/usr/uploads/2024/01/721122972.png) status=VALID 则归档位置正常;不正常的情况下,error字段会给出错误原因。 (3)在备库查看有没有gap日志 ```sql select * from v$archive_gap; 如果没有数据查出,则说明备库没有gap;如果有数据查出,参照gap处理方法处理;gap只能说明备库有没有接收到日志,但看不出来日志有没有被应用。 ``` (4)主备库查看日志应用情况 ```sql SELECT AL.THRD "Thread", ALMAX "Last Seq Received", LHMAX "Last Seq Applied" FROM (SELECT THREAD# THRD, MAX(SEQUENCE#) ALMAX FROM V$ARCHIVED_LOG WHERE RESETLOGS_CHANGE# = (SELECT RESETLOGS_CHANGE# FROM V$DATABASE) GROUP BY THREAD#) AL, (SELECT THREAD# THRD, MAX(SEQUENCE#) LHMAX FROM V$LOG_HISTORY WHERE RESETLOGS_CHANGE# = (SELECT RESETLOGS_CHANGE# FROM V$DATABASE) GROUP BY THREAD#) LH WHERE AL.THRD = LH.THRD; ``` 正常情况下,备库如果没有gap,则主备查询结果一致。 (5)使用(4)查看结果一致,可以在主库切换几次日志,看备库的alert日志看日志是否传输并应用。 ```auto 主库: alter system switch logfile; ``` 最后更新于 2024-01-17 17:25:18 并被添加「」标签,已有 955 位童鞋阅读过。 本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭