Dataguard从库日志不同步的原因

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 背景:测试环境突然发现,主备库不能同步了,查看备库的日志发现备库一直处于等待接收日志的状态; Media Recovery Waiting for thread 1 sequence 34 Completed: ALTER DATABASE RECOVER MA...

背景:测试环境突然发现,主备库不能同步了,查看备库的日志发现备库一直处于等待接收日志的状态;

Media Recovery Waiting for thread 1 sequence 34

Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION

Wed Jan 06 16:02:01 2016

 

解决方法:

排查问题的经过:

1、查看操作系统的空间

[oracle@db02 dbs]$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg_db01-lv_root           16G 3.5G 12G 24% /

/dev/mapper/vg_db01-LogVol02         20G 13G 6.1G 67% /u01

 

检查当前的数据库还是有空间的。

 

2、检查数据库的参数设置

2.1 show parameter log_archive_dest_state_2

 

SQL> show parameter log_archive_dest_state_2;

 

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_state_2 string ENABLE 当前状态要为ENABLE,曾经有朋友这边的参数为defer导致日志停止传输

log_archive_dest_state_20 string enable

log_archive_dest_state_21 string enable

log_archive_dest_state_22 string enable

log_archive_dest_state_23 string enable

log_archive_dest_state_24 string enable

log_archive_dest_state_25 string enable

log_archive_dest_state_26 string enable

log_archive_dest_state_27 string enable

log_archive_dest_state_28 string enable

log_archive_dest_state_29 string enable

 

启动的命令:ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2='ENABLE'; 

 

2.2 检查传输路径

SQL> show parameter log_archive_dest_2

 

NAME TYPE VALUE

-------------------- -------- -----------------------------------------------------------------------------------------------------

log_archive_dest_2    string   SERVICE=tianjin ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tianjin #正常情况下应该有值

 

经过检查log_archive_dest_2的值被清空了,所以归档日志当然也传送不到备库;

 

修改脚本:ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=tianjin  ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tianjin';

 

经过设置,终于可以把主库的数据发送到备库了,两边的数据也同步。

附:备库的日志

 

 

Using STANDBY_ARCHIVE_DEST parameter default value as /u01/app/oracle/arch

RFS[1]: Assigned to RFS process 16357

RFS[1]: Selected log 4 for thread 1 sequence 40 dbid -1418497875 branch 896836209

Wed Jan 06 16:04:05 2016

Primary database is in MAXIMUM PERFORMANCE mode

RFS[2]: Assigned to RFS process 16359

RFS[2]: Selected log 5 for thread 1 sequence 41 dbid -1418497875 branch 896836209

Wed Jan 06 16:04:05 2016

Archived Log entry 19 added for thread 1 sequence 40 ID 0xab7334ad dest 1:

Wed Jan 06 16:04:05 2016

Fetching gap sequence in thread 1, gap sequence 34-39

Wed Jan 06 16:04:06 2016

RFS[3]: Assigned to RFS process 16361

RFS[3]: Opened log for thread 1 sequence 36 dbid -1418497875 branch 896836209

Wed Jan 06 16:04:06 2016

RFS[4]: Assigned to RFS process 16363

RFS[4]: Opened log for thread 1 sequence 34 dbid -1418497875 branch 896836209

Archived Log entry 20 added for thread 1 sequence 36 rlc 896836209 ID 0xab7334ad dest 2:

Wed Jan 06 16:04:06 2016

RFS[5]: Assigned to RFS process 16365

RFS[5]: Opened log for thread 1 sequence 35 dbid -1418497875 branch 896836209

RFS[3]: Opened log for thread 1 sequence 37 dbid -1418497875 branch 896836209

Archived Log entry 21 added for thread 1 sequence 37 rlc 896836209 ID 0xab7334ad dest 2:

Archived Log entry 22 added for thread 1 sequence 35 rlc 896836209 ID 0xab7334ad dest 2:

Archived Log entry 23 added for thread 1 sequence 34 rlc 896836209 ID 0xab7334ad dest 2:

RFS[3]: Opened log for thread 1 sequence 38 dbid -1418497875 branch 896836209

RFS[5]: Opened log for thread 1 sequence 39 dbid -1418497875 branch 896836209

Archived Log entry 24 added for thread 1 sequence 38 rlc 896836209 ID 0xab7334ad dest 2:

Archived Log entry 25 added for thread 1 sequence 39 rlc 896836209 ID 0xab7334ad dest 2:

Media Recovery Log /u01/app/oracle/arch/1_34_896836209.dbf

Media Recovery Log /u01/app/oracle/arch/1_35_896836209.dbf

Media Recovery Log /u01/app/oracle/arch/1_36_896836209.dbf

Media Recovery Log /u01/app/oracle/arch/1_37_896836209.dbf

Media Recovery Log /u01/app/oracle/arch/1_38_896836209.dbf

Media Recovery Log /u01/app/oracle/arch/1_39_896836209.dbf

Media Recovery Log /u01/app/oracle/arch/1_40_896836209.dbf

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
SQL 存储 关系型数据库
Mysql主从同步 清理二进制日志的技巧
Mysql主从同步 清理二进制日志的技巧
31 1
|
4月前
|
前端开发 C语言 开发者
领导被我的花式console.log吸引了!直接写入公司公共库!
【8月更文挑战第23天】领导被我的花式console.log吸引了!直接写入公司公共库!
44 2
领导被我的花式console.log吸引了!直接写入公司公共库!
|
4月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
151 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
3月前
|
存储 运维 监控
超级好用的C++实用库之日志类
超级好用的C++实用库之日志类
43 0
|
4月前
|
Linux API
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
|
4月前
|
存储 JSON 前端开发
一文搞懂 Go 1.21 的日志标准库 - slog
一文搞懂 Go 1.21 的日志标准库 - slog
145 2
|
4月前
|
JSON Go API
一文搞懂 Golang 高性能日志库 - Zap
一文搞懂 Golang 高性能日志库 - Zap
300 2
|
4月前
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块
|
5月前
|
测试技术 UED 存储
SLS Prometheus存储问题之在使用内置降采样时,SLS自动选择适配的指标库该如何解决
SLS Prometheus存储问题之在使用内置降采样时,SLS自动选择适配的指标库该如何解决
|
4月前
|
存储 JSON Go
一文搞懂 Golang 高性能日志库 Zerolog
一文搞懂 Golang 高性能日志库 Zerolog
434 0