当前位置:网站首页>DataGuard日常维护常见问题之数据同步异常
DataGuard日常维护常见问题之数据同步异常
2022-08-02 22:54:00 【DBA大董】
造成日志无法传到standby 的原因有:
- standby 服务器异常
- standby 相应的进程异常
- standby 监听器服务异常
日志传输问题
1、一般通过以下语句查看primary数据库和standby数据库的归档日志的sequence是否一样。
先在primary数据库执行
SQL> alter system switch logfile;
System altered.
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
38
如果一样说明没有问题,
如果不一样说明日志没有归档。
首先确认standby是否开启了日志应用
SQL> alter database recover managed standby database disconnect from session;
如果已经开启。再确认归档位置是否可用。
SQL> select dest_name,status,error from v$archive_dest;
DEST_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
STATUS ERROR
------------------ -----------------------------------------------------------------
LOG_ARCHIVE_DEST_1
VALID
LOG_ARCHIVE_DEST_2
VALID
我遇到过这种情况:监听器没有监听到数据库
在操作系统Oracle用户登录查看监听器是否启动,lsnrctl stauts , lsnrctl start
用tnsping两个数据库是否正常,如果没有问题,在primary 数据库日志切换一次,看standby是否接收到归档日志了。
这几步没有问题就考虑数据库启动参数文件配置的问题了。
具体问题具体解决了。
排查思路
当 DG 出现故障时,第一时间检测 alert 日志,服务器 OS 日志,网络是否通畅。
当DG出现日志不能传输到备库:
一、查看是不是TNS配置错误和监听配置错误。
二、主备库初始化参数文件配置错误(如archive_log_dest文件位置错误)。
三、备库控制文件过旧,从主库生成一个STANDBY CONTROL过去。SQL> alter database create standby controlfile as '/bnerp_data1/bnerp/cntrl01.dbf';
。
四、备库是否应用了Failovers 。
GAP处理
下面就简单说说手工处理日志GAP的步骤:
1、在备库检查是否有日志缺失
SQL> select * from V$ARCHIVE_GAP;
2、在主库中查询缺失的日志的所在路径和名称
SQL> SELECT NAME FROM V$ARCHIVED_LOG
如果把日志移动到其他路径,则把日志所在路径换成当前实际所在路径。
3、把日志拷贝到备库上
4、在备库上手工注册上一步中从主库拷贝来的日志
SQL> ALTER DATABASE REGISTER LOGFILE '路径';
5、观察备库的alert日志信息
6、检查备库是否还有日志GAP
SQL> select * from V$ARCHIVE_GAP;
no rows selected
如果有行返回,则重复2-5步,直到查询结果是"no rows selected"。
如果日志只是临时移动到其他地方,过后会再移回原路径,则不用这么大费周折手工去手工处理了,把日志拷回原处后FAL会自动处理GAP。
常用SQL
---查询线程号
SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST FROM V$ARCHIVED_LOG;
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
---查询未应用日志(仅备库)
select thread#,sequence#,first_time,next_time,applied from v$archived_log where applied='NO';
select name,open_mode,protection_mode,database_role,switchover_status from v$database;
select DEST_NAME,STATUS,ERROR from v$archive_dest;
select PROCESS,CLIENT_PROCESS,SEQUENCE# ,STATUS from v$managed_standby;
archive log list;
边栏推荐
猜你喜欢
Cholesterol-PEG-Acid,胆固醇-聚乙二醇-羧基保持在干燥、低温环境下
别再到处乱放配置文件了!我司使用 7 年的这套解决方案,稳的一秕
主流定时任务解决方案全横评
The latest real software test interview questions are shared. Are you afraid that you will not be able to enter the big factory after collecting them?
用了TCP协议,就一定不会丢包吗?
js基础知识整理之 —— 全局作用域
CAS:474922-22-0,DSPE-PEG-MAL,磷脂-聚乙二醇-马来酰亚胺科研试剂供应
最新真实软件测试面试题分享,收藏了还怕进入不了大厂?
mPEG-Cholesterol,mPEG-CLS,甲氧基-聚乙二醇-胆固醇可用于脂质体制备
科研用Cholesterol-PEG-NHS,NHS-PEG-CLS,胆固醇-聚乙二醇-活性酯
随机推荐
Technology Sharing | How to do assertion verification for xml format in interface automation testing?
学习基因富集工具DAVID(3)
图像识别从零写出dnf脚本关键要点
threejs 动态调整相机位置,使相机正好能看到对象
记一次mysql查询慢的优化历程
数字化转型巨浪拍岸,成长型企业如何“渡河”?
Directing a non-relational database introduction and deployment
严格反馈非线性系统基于事件触发的自抗扰预设有限时间跟踪控制
Controller层代码这么写,简洁又优雅!
如何使用vlookup+excel数组公式 完成逆向查找?
Let's talk about the charm of code language
别再到处乱放配置文件了!我司使用 7 年的这套解决方案,稳的一秕
redis的学习笔记
d实验新异常
科研用Cholesterol-PEG-NHS,NHS-PEG-CLS,胆固醇-聚乙二醇-活性酯
KubeSphere监控失效为NAN的问题
No code development platform data ID introductory tutorial
mPEG-Cholesterol,mPEG-CLS,甲氧基-聚乙二醇-胆固醇可用于脂质体制备
在软件测试行业近20年的我,再来和大家谈谈今日的软件测试
ssm整合(三)Controller 和 视图层编写