百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

一场因快照控制文件设置不当引起的备份bug

mhr18 2024-09-29 14:01 25 浏览 0 评论

概述

记录一次因快照控制文件配置不当导致备份脚本不定时bug的报错,下面一起来看看吧~

先介绍下快照控制文件的概念。以下基于oracle11.2.0.4


快照控制文件

快照控制文件是由RMAN恢复管理器在系统指定位置生成的当前控制文件的一个副本。

控制文件在整个数据库生命期中在不断的时时刻刻发生变化,RMAN备份需要依赖于控制文件或恢复目录,也就是说需要知道备份开始时的检查点SCN以及所有文件结构信息并且在整个备份期间这些信息需要保持一致,但又不能锁定控制文件(锁定操作无法执行检查点,切换日志等)。因此既要保持一致性,又不影响数据库的正常操作。快照控制文件就应运而生了。RMAN只在备份或同步操作期间对实际控制文件进行一个短暂的锁定,并根据其内容来生成或刷新快照控制文件。一旦该动作完成之后,RMAN将切换到使用快照控制文件进行备份及同步操作。从而保证备份期间控制文件,数据文件等等的一致性。

综上所述,其主要作用是使用RMAN同步恢复目录或备份时能得到一个一致性的控制文件。


报错

最近发现1级增备脚本有时日志会报错:

RMAN-03009: failure of Control File and SPFILE Autobackup command on c1 channel at 05/14/2019 03:28:23
ORA-00245: control file backup failed; target is likely on a local file system
RMAN> 

看了下脚本内容:

发现其实是快照控制文件的问题


原因:

查询MOS发现是Oracle 11.2上Oracle改变了控制文件镜像的访问方式。11.2之前,RAC的各个节点上的ORACLE_HOME/dbs目录分别保存镜像。而11.2之后,Oracle要求这个镜像控制文件在两个节点上都可以访问到,因此可以通过设置控制文件镜像到共享磁盘的方式解决这个问题。总之11.2rac中,snapshot controlfile位置一定要改到共享目录下,否则在rman备份时,会遇到(不是每次都遇到)如下错误:


解决方法:

ORA-245: In RAC environment from 11.2onwards Backup Or Snapshot controlfile needs to be in shared location (文档 ID 1472171.1)

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+RFDATA/snapcf_RFDB1.f'; 

修复控制文件配置后备份脚本执行都不会报错了。


之所以发现这个问题,其实是因为归档空间满(ASM空间),发现跟理解的不太一样,因为我们设置正常是放在本地的,不存放在ASM的,然后去看了下备份情况(最近几天没有备份),看了日志才发现是快照控制文件的问题。

我们一般都习惯用rman去备份,但是RAC和单实例一些配置上的区别也是需要注意的,今天这个报错就是其中一个例子,平时还是要多加注意的,后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

相关推荐

经典技术干货分享:JVM内存模型和垃圾回收机制

来源:全栈工程师小辉JVM内存模型根据Java虚拟机规范,Java数据区域分为五大数据区域。其中方法区和堆是所有线程共享的,虚拟机栈、本地方法栈和程序计数器则为线程私有的。有的博客称方法区是永久代...

让我来告诉你:最重要的 JVM 参数总结

1.概述在本篇文章中,你将掌握最常用的JVM参数配置。如果对于下面提到了一些概念比如堆、#2.堆内存相关Java虚拟机所管理的内存中最大的一块,Java堆是所有线程共享的一块内存区域,在虚拟机...

说一下 JVM 的内存布局和运行原理?

JVM(JavaVirtualMachine,Java虚拟机)顾名思义就是用来执行Java程序的“虚拟主机”,实际的工作是将编译的class代码(字节码)翻译成底层操作系统可以运行的机器...

这些不可不知的JVM知识,我都用思维导图整理好了

VM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识。先上图:JVM必备知识1、JVM基本概念1.1、JVM是什么JVM的全称是「JavaVirtualMachi...

认识Kotlin_了解Kotlin和JVM虚拟机关系_重要性_更强大的跨平台

1.谷歌支持Kotlin作为android第一开发语言,因为java是已经被oracle收购了,可能会对Google收费.2.可以看到java语言写的android程序,实际上回编译成字节码,在jvm...

美团一面:为什么线程崩溃崩溃不会导致 JVM 崩溃

网上看到一个很有意思的美团面试题:为什么线程崩溃崩溃不会导致JVM崩溃,这个问题我看了不少回答,但发现都没答到根上,所以决定答一答,相信大家看完肯定会有收获,本文分以下几节来探讨线程崩溃,进程一定...

一篇文章掌握整个JVM,JVM超详细解析!!!

不懂JVM看完这一篇文章你就会非常懂了,文章很长,非常详细!!!先想想一些问题1我们开发人员编写的Java代码是怎么让电脑认识的首先先了解电脑是二进制的系统,他只认识01010101比如我们经常要...

Java反射机制最全详解(图文全面总结)

Java反射是各种框架以及中间件实现的基石,也是大厂面试重点考察内容,下面全面来详解Java反射机制@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。Java反...

OCP 专家认证培训- 数据库专业人士的进阶阶梯

认证简介OCP即Oracle数据库认证专家,是Oracle公司的Oracle数据库DBA(DatabaseAdministrator数据库管理员)认证课程。通过该认证,表明持证人能...

《塞尔达传说》进化史!一口气看完全部塞尔达传说!

《塞尔达传说》系列全版本历史回顾以下是塞尔达传说系列所有官方游戏版本的完整列表,按时间顺序排列:主要正统系列作品1、《塞尔达传说》/TheLegendofZelda(1986)《塞尔达传说》是...

Linux文件系统结构全解析(linux文件系统概述)

对Linux新手而言,“一切皆文件”的设计哲学常让人既兴奋又困惑——打开终端输入ls/,看到的bin、etc、var等目录到底有什么用?如何快速定位关键文件?本文将从Linux文件系统的底层逻...

一文带您了解数据库的行列之争:行式与列式存储的异同

数据库存储格式是数据库管理系统中一个至关重要的方面,它直接影响到数据的组织和检索效率。在数据库中,有两种主要的存储格式,即行式存储和列式存储。这两者采用截然不同的方法来组织和存储数据,各自具有一系列优...

NL2SQL(三)开源项目怎么选:talk is cheap, show me the code!

老规矩,先看效果下面的demo来自试用的SuperSonic,将会在下面详细介绍:大模型时代Text-to-SQL特点随着基于LLM技术的发展,RAG/AIAgent/Fine...

JDK25长期支持版九月降临:18项王炸功能全解析

Java要放大招啦!9月份推出的JDK25长期支持版已经锁定18个超能力,从稳定值到结构化并发,还有Linux系统下的"预知未来"性能分析!下面我用打游戏的术语给你们掰扯明白:1、飞...

OceanBase 推出单机版 高度兼容MySQL和Oracle

【环球网科技综合报道】3月27日,独立数据库厂商OceanBase正式发布单机版产品。据悉,这一产品基于自主研发的单机分布式一体化架构设计,具备极简数据库架构和高度兼容性,为中小规模业务提供兼具性能与...

取消回复欢迎 发表评论: