当前位置:网站首页>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-NHS,NHS-PEG-CLS,胆固醇-聚乙二醇-活性酯
- What is the matter that programmers often say "the left hand is knuckled and the right hand is hot"?
- js基础知识整理之 —— 五种输出方式
- 执子手,到永恒
- 简单聊聊MySQL中的六种日志
- js基础知识整理之 —— 字符串
- B站回应HR称用户是Loser:涉事面试官去年底已被劝退
- Cholesterol-PEG-Acid,胆固醇-聚乙二醇-羧基保持在干燥、低温环境下
- 2022山东国际青少年眼睛健康产业展会,视力健康展,眼视光展
- 严格反馈非线性系统基于事件触发的自抗扰预设有限时间跟踪控制
猜你喜欢

服务间歇性停顿问题优化|得物技术

Controller层代码这么写,简洁又优雅!

学习基因富集工具DAVID(3)

Rebound shell principle and implementation

Cholesterol-PEG-Amine,CLS-PEG-NH2,胆固醇-聚乙二醇-氨基脂两亲性脂质衍生物

1 - vector R language self-study

Find My技术|智能防丢还得看苹果Find My技术

js基础知识整理之 —— 变量和数据类型

最新真实软件测试面试题分享,收藏了还怕进入不了大厂?

Apache Doris 1.1 特性揭秘:Flink 实时写入如何兼顾高吞吐和低延时
随机推荐
如何使用vlookup+excel数组公式 完成逆向查找?
思源笔记 本地存储无使用第三方同步盘,突然打不开文件。
简单聊聊MySQL中的六种日志
Day117.尚医通:生成挂号订单模块
学习Autodock分子对接
图像识别从零写出dnf脚本关键要点
Cholesterol-PEG-Acid,胆固醇-聚乙二醇-羧基保持在干燥、低温环境下
用了TCP协议,就一定不会丢包吗?
threejs dynamically adjust the camera position so that the camera can see the object exactly
scala 集合通用方法
合并两个excel表格工具
基于奇异谱分析法和长短时记忆网络组合模型的滑坡位移预测
我为什么又能面试一次就拿到offer
NLP常用Backbone模型小抄(1)
js基础知识整理之 —— 变量和数据类型
Mock工具之Moco使用教程
qt静态编译出现Project ERROR: Library ‘odbc‘ is not defined
聚乙二醇衍生物4-Arm PEG-DSPE,四臂-聚乙二醇-磷脂
airflow db init 报错
Test | ali internship 90 days in life: from the perspective of interns, talk about personal growth