dataguard备库延时加大,同步报错(ORA-01119、ORA-17502、ORA-15173),该如何解决?

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等)
公众号:老苏畅谈运维
欢迎关注本人公众号,更多精彩与您分享。

一大早就收到了告警信息,提示一个主库下两个dataguard备库延时过大。猜测同步可能出现异常或者归档量过大,导致无法及时应用,那到底是什么原因呢,就需要详细排查了,以下是具体排查过程:

1、检查两个dg备库的alert日志

查看了alert日志,发现确实只有在接收归档日志,并没有在实时应用
image.png

继续往前查看alert日志,发现了报错内容,报错信息如下:

Wed Jun 12 18:20:40 2024
WARNING: File being created with same name as in Primary
Existing file may be overwritten
Errors in file /u01/app/oracle/diag/rdbms/sbhsdbn/hsdb1/trace/hsdb1_pr00_27888.trc:
ORA-01119: error in creating database file '+ORADATA/hsdbn/tsp_yaopin_01.dbf'
ORA-17502: ksfdcre:4 Failed to create file +ORADATA/hsdbn/tsp_yaopin_01.dbf
ORA-15173: entry 'hsdbn' does not exist in directory '/'
File #292 added to control file as 'UNNAMED00292'.
Originally created as:
'+ORADATA/hsdbn/tsp_yaopin_01.dbf'
Recovery was unable to create the file as:
'+ORADATA/hsdbn/tsp_yaopin_01.dbf'
MRP0: Background Media Recovery terminated with error 1274
Errors in file /u01/app/oracle/diag/rdbms/sbhsdbn/hsdb1/trace/hsdb1_pr00_27888.trc:
ORA-01274: cannot add datafile '+ORADATA/hsdbn/tsp_yaopin_01.dbf' - file could not be created
Wed Jun 12 18:20:40 2024

从上面提示看到,在创建292号文件出错了,我们看下备库控制文件记录的292号文件再哪里?

SQL> select name  from v$datafile where file#=292;NAME
--------------------------------------------------------------------------------
/u01/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00292由于这个文件没有创建成功,导致它记录的是默认位置$ORACLE_HOME/dbs下,正常是要放到+ORADATA/sbhsdbn/datafile下面才对。SQL> select name  from v$datafile where file#=291;NAME
--------------------------------------------------------------------------------
+ORADATA/sbhisdbn/datafile/tsp_menzhen_04.dbf

出现该问题的原因,可能是db_file_name_convert这个参数没有配置数据文件转换目录映射。

2、检查备库的参数

SQL> show parameter db_create_file_dest;NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest		     string
SQL> 
SQL> 
SQL> 
SQL> show parameter convert;NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert		     string	 +ORADATA/hsdbn/datafile, +ORADATA/sbhsdbn/datafile, +ORADATA/hsdbn/tempfile, +ORADATA/sbhsdbn/tempfile
log_file_name_convert		     string	 +ORADATA/hsdbn, +ORADATA/sbhsdbn

可以看到db_file_name_convert配置以下两个转换目录:
‘+ORADATA/hsdbn/datafile’ 转换到 ‘+ORADATA/sbhsdbn/datafile’
‘+ORADATA/hsdbn/tempfile’ 转换到 ‘+ORADATA/sbhsdbn/tempfile’

我们从alert日志报错信息,发现是有问题的路径是 ‘+ORADATA/hsdbn/tsp_yaopin_01.dbf’,仔细看这个路径少了一个datafile,因此我们需要给db_file_name_convert在添加一个新的目录映射:
‘+ORADATA/hsdbn/’ 映射到 ‘+ORADATA/sbhsdbn/datafile’

3、解决方法

以下操作在备库执行:

--备库修改db_file_name_convert参数
alter system set db_file_name_convert='+ORADATA/hsdbn/datafile','+ORADATA/sbhsdbn/datafile','+ORADATA/hsdbn/tempfile','+ORADATA/sbhsdbn/tempfile','+ORADATA/hsdbn/','+ORADATA/sbhsdbn/datafile' scope=spfile sid='*';--备库重启生效
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.Total System Global Area 1.2827E+11 bytes
Fixed Size		    2269072 bytes
Variable Size		 1.7985E+10 bytes
Database Buffers	 1.1006E+11 bytes
Redo Buffers		  227807232 bytes
Database mounted.--于出问题后的归档的日志都存在,可以采用下面的方法进行处理有问题的文件;
--如果出问题后,时间比较久才发现,备库的归档被删除了,那就比较麻烦,备库需要做增量恢复。
SQL> ALTER SYSTEM SET standby_file_management=MANUAL SCOPE=BOTH;
SQL> alter database create datafile '/u01/app/oracle/product/11.2.0/db_1/dbs/UNNAMED00292' as  '+ORADATA/sbhsdbn/datafile/tsp_yaopin_01.dbf' ;SQL> select name  from v$datafile where file#=292;NAME
--------------------------------------------------------------------------------
+ORADATA/sbhsdbn/datafile/tsp_yaopin_01.dbfSQL> ALTER SYSTEM SET standby_file_management=AUTO SCOPE=BOTH;--开启同步
SQL> alter database recover managed standby database using current logfile disconnect;同步开启后,查看alert,发现在应用归档了,等归档全部应用完成,检查同步情况:SQL>  select 'thread#:' || a.thread# || ', primary:' || b.max_available || ', standby:' ||a.max_applied , b.max_available - a.max_applied log_gap from (select thread#, max(sequence#) max_appliedfrom gv$archived_logwhere applied =  2   'YES'group by thread#) a,(select thread#, max(sequence#) max_availablefrom gv$archived_loggroup by thread#) bwhere a.thread# = b.thread#; 'THREAD#:'||A.THREAD#||',PRIMARY:'||B.MAX_AVAILABLE||',STANDBY:'||A.MAX_APPLIED 									LOG_GAP
---------------------------------------------------------------------------------------------------------------------------------------------------- ----------
thread#:1, primary:124228, standby:124228														      0
thread#:2, primary:169252, standby:169251														      1

另外一个备库也是类似的问题,采用同样的方法进行处理,不在赘述。

4、思考

针对该问题,后续运维该注意哪些呢?
(1)主库添加数据文件时,文件路径要注意,尽量选择备库(db_file_name_convert)已经配置了目录映射的路径。
(2)主库添加完数据文件,要检查一下备库的同步情况,有问题的时及时处理。

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/26841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言背景⾊、线条颜⾊和填充颜⾊有什么区别?何时使⽤?

一、问题 背景⾊、线条颜⾊和填充颜⾊,这⼏种颜⾊有什么区别?什么时候使⽤? 二、解答 背景⾊:是整个屏幕的底⾊,设置之后,屏幕空⽩区域都变成该颜⾊。 线条颜⾊:是画线时所⽤的颜⾊。⽂字输出也…

MYSQL 三、mysql基础知识 7(MySQL8其它新特性)

一、mysql8新特性概述 MySQL从5.7版本直接跳跃发布了8.0版本 ,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上 做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度…

【运维自动化-配置平台】如何使用云资源同步功能(腾讯云为例)

云资源同步是通过apikey去单向同步云上的主机资源和云区域信息,目前支持腾讯云和亚马逊云。主要特性 1、蓝鲸配置平台周期性的单向只读同步云主机和vpc(对应蓝鲸云区域)信息,第一次全量,后面增量 2、默认同步到主机池…

Webrtc支持FFMPEG硬解码之NVIDA(二)

一、前言 此系列文章分分为三篇, Webrtc支持FFMPEG硬解码之Intel(一)-CSDN博客 Webrtc支持FFMPEG硬解码之NVIDA(二)-CSDN博客 Webrtc支持FFMPEG硬解码之解码实现-CSDN博客 AMD硬解目前还没找到可用解码器,欢迎留言交流 二、环境 Windows平台 VS2019 Cmake 三、下…

短剧系统源码短剧平台开发短剧小程序APP短剧模版Java源码

一.管理端设置及操作 1.系统配置 系统的配置项都在该列表中,使用前请配置好参数 2.签到积分设置 签到可以获取设置积分,连续签到按照设置的积分规则走,积分可以兑换余额,兑换比例按照配置104,余额可以消费 3.用户中心 所有的用户注册后都会在该列表展示,可以查看用户详情,也…

正点原子imx6ull 进度条颜色、logo位置上偏或色偏等问题

正点原子imx6ull 进度条改颜色 logo位置上偏或显示色偏等问题 开机进度条logo问题进度条界面全屏logo位置上偏进度条界面logo其他问题进度条界面去掉中间这条杠 uboot界面logo问题不显示uboot界面的打印信息uboot显示logo不理想uboot不显示logo 开机进度条logo问题 进度条界面…

拿来做课设哈哈哈-“久坐提醒器”的网页应用

这篇文章将介绍一个名为“久坐提醒器”的网页应用,它通过HTML、CSS和JavaScript三种技术实现。下面是对这三种技术在实现该应用中的作用和代码的详细解析。 HTML:构建网页结构 HTML(HyperText Markup Language)是网页的基础结构…

2. ceph存储组件

ceph存储组件 一、ceph存储介绍1、ceph介绍2、ceph提供的存储接口 二、ceph的核心组件三、crush算法 一、ceph存储介绍 分布式存储/文件系统,数据按特定的算法分散存储到不同的设备上 存在数据副本机制,保证数据的可靠性 典型的开源软件: ce…

申办引调水乙级资质关于办公场所和技术装备的要求

申办引调水乙级资质时,关于办公场所和技术装备的要求主要包括以下几点: 办公场所: 固定办公地点:企业应具备固定的办公场所,作为日常运营和设计工作的基础。办公场所需满足设计团队的工作需求,包括设计绘图…

LabVIEW RT在非NI硬件上的应用与分析

LabVIEW RT(实时操作系统)可运行在非NI(National Instruments)硬件上,如研华工控机,但需要满足特定硬件要求。本文从硬件要求、开发和运行差异、可靠性、稳定性、优势和成本等多角度详细分析在非NI硬件上运…

神经网络字符分类

按照题目要求修改了多层感知机 题目将图片的每个点作为输入,其中大小为28*28,中间有两个大小为100的隐藏层,激活函数是relu,然后输出大小是10,激活函数是softmax 优化器是Adam,结合了AdaGrad和RMSProp算法…

Segmentation fault的原因和例子

最近有用cpp写点东西,然后就碰到Segmentation fault了,调试的时候,ide指出报错的地方看着没问题。后来研究发现,是递归层数太多导致的。 “Segmentation fault”(简称"segfault")是一个常见的计…

机器学习python实践——关于ward聚类分层算法的一些个人心得

最近在利用python跟着参考书进行机器学习相关实践,相关案例用到了ward算法,但是我理论部分用的是周志华老师的《西瓜书》,书上没有写关于ward的相关介绍,所以自己网上查了一堆资料,都很难说清楚ward算法,幸…

Python之Pandas详解

Pandas是Python语言的一个扩展程序库,用于数据分析。 Pandas是一个开放源码、BSD许可的库,提供高性能、易于使用的数据结构和数据分析工具。 Pandas名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”&#x…

AIGC绘画设计:Midjourney V6 来袭,该版本有哪些新功能?

Midjourney V6 支持更自然的语言输入,可以处理更自然地对话式(以前的版本是以关键字为中心的)提示,对复杂提示有了更好的解释能力。大幅增加了每个 /image 的内存,可以处理更长、更详细的提示(从40 直接提升…

Spark 面试题(七)

1. Spark中的Transform和Action,为什么Spark要把操作分为Transform 和Action?常用的列举一些,说下算子原理 ? 在Spark中,操作被分为转换(Transformation)和行动(Action)…

Android framework的Zygote源码分析

文章目录 Android framework的Zygote源码分析linux的fork Android framework的Zygote源码分析 init.rc 在Android系统中,zygote是一个native进程,是Android系统上所有应用进程的父进程,我们系统上app的进程都是由这个zygote分裂出来的。zyg…

Processing java 动态海报 地球日

【Processing java 动态海报 地球日】

12、云服务器上搭建环境

云服务器上搭建环境 12.1 选择一款远程连接工具(mobax) 有很多,比如mobax、xshll等等,我这里选择mobax,下载个免费版的即可 安装完成后,双击打开: 第一步,创建远程连接的用户,用户默认为root,密码为远程服务器的密码 第二步,输入远程公网IP,选择刚刚创建的用…

[C][数据结构][排序][下][快速排序][归并排序]详细讲解

文章目录 1.快速排序1.基本思想2.hoare版本3.挖坑法4.前后指针版本5.非递归版本改写 2.归并排序 1.快速排序 1.基本思想 任取待排序元素序列的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右…