一.问题说明
操作系统: RedHat 5.8

数据库: 11.2.0.3

2节点RAC.

使用RMAN 备份的时候,报如下错误:

ORA-00245: control file backup failed;target is likely on a local file system

这个问题只存在Oracle 11gR2以后的RAC 环境。

二.ORA-245 触发条件
在以下的5种环境下,会出现ORA-00245的错误。

2.1 RAC 环境下,自动备份备份控制文件,会因为ORA-245的错误而失败

Autobackup of controlfile in RMAN isfailing with error:
RMAN-571: ===========================================================
RMAN-569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-571: ===========================================================
RMAN-3009: failure of Control File and SPFILE Autobackup command on 
ORA_DISK_1 channel at 10/27/2010 12:13:31
ORA-245: control file backup operation failed

2.2 RAC 环境下,备份控制文件到非共享的本地路径,也会失败
SQL> ALTER DATABASE BACKUP CONTROLFILETO '/u01/backup/control.bk' REUSE
*
ERROR at line 1:
ORA-245: control file backup operation failed

2.3 在RAC 环境下,创建standby controlfile 到非共享的本地路径也会失败
SQL> alter database create standby controlfileas '/home/oracle/renostdbycntrl.ctl';

alter database create standby controlfileas 
'/home/oracle/renostdbycntrl.ctl'
*
ERROR at line 1:
ORA-245: control file backup operation failed

2.4 在RAC 环境下,copy 当前的控制文件到本地路径
channel ch1: starting datafile copy
copying current control file
RMAN-571: ===========================================================
RMAN-569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-571: ===========================================================
RMAN-3009: failure of backup command on 10/07/2011 11:36:42 channel at ch1
ORA-245: control file backup operation failed

2.5 RAC 环境下,controlfile 快照备份到非共享位置,RMAN 备份也会失败
RMAN-00571:========================================================
RMAN-00569: ============ ERROR MESSAGE STACK FOLLOWS =============
RMAN-00571: =========================================================
RMAN-03009: failure of resync command on default channel at 03/13/2012 10:19:41
ORA-00245: control file backup operation failed

三. 错误原因

From 11gR2onwards, the controlfile backup happens without holding the controlfile enqueue. For non-RAC database, this doesn't change anything. But for RAC database, due to the changes made to the controlfile backup mechanism in 11gR2,any instance in the cluster may write to the snapshot controlfile. Due to this snapshot controlfile need to be visible to all instances.

--从Oracle11gR2 开始,在备份控制文件时,不在需要锁住controlfile enqueue。对于非RAC 的数据库, 没有任何改变,但对于RAC 数据库,因为控制文件备份机制的改变,集群中的任何instance 可以需要写入到快照控制文件,因此snapshot controlfile需要对所有实例是可见的。

In RAC environment any form of controlfile backup may fail with ORA-0245 if the location of the Snapshot Controlfile is not a shared location.

--在RAC 环境下,如果snapshot controlfile 不在共享的位置,控制文件任何形式的都可能报ORA-245的错误。

The backup ofthe controlfile actualy makes a backup of the SNAPSHOT controlfile. TheSnapshot controlfile is created when the controlfile is about to be backed up.

--控制文件的备份实际上是生成一个SNAPSHOT controlfile,在备份时生成快照文件。

The Snapshot controlfile is a read-consistent copy of the controlfile.

--快照控制文件是控制文件的一个read-consistent copy。

The snapshot controlfile MUST be accessible by all nodes of a RAC database, if the snapshot controlfile does not reside on a shared device error will be raised at the timeof RMAN backup while taking snapshot of controlfile.

--快照控制文件必须能被所有节点访问,如果快照控制不是存放在共享设备上,那么在RMAN 进行控制文件的快照备份时就会报错。

This applies to backingup controlfile using sqlplus / having autobackup of controlfile configured on non-shared location.

ORA-245 error message description
----------------------------------------
00245, 00000, "control file backup operation failed"
*Cause: Failed to create a control file backup because some process signaled an error during backup creation.
*Action: Check alert files for further information. This usually happens because some process could not access the backup file during backup creation. Any process of any instance that starts a read/write control file transaction must have an access to the backup control file during backup creation.

四. 解决方法

4.1. 检查快照控制文件位置
RMAN> show snapshot controlfile name;

4.2 配置snapshot controlfile 到共享位置
RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<shared_disk>/snapcf_<DBNAME>.f';

如果使用了ASM,就指定到对应的ASM disk group:

RMAN>CONFIGURE SNAPSHOT CONTROLFILENAME TO '+<DiskGroup>/snapcf_<DBNAME>.f';

参考文档:

In RAC environment from 11.2 onwards BackupOr Snapshot controlfile needs to be in shared location[ID 1472171.1]

RMAN backup fails with Ora-00245 AndRman-08132 [ID 1365484.1]

RMAN BACKUP TO LOCAL DEVICE WITH SNAPSHOTON SHARED FAILS ORA-00245 [ID 1516654.1]

ORA-00245 control file backup operation failed 分析和解决的更多相关文章

  1. ORA-00245: control file backup failed; target is likely on a local file system (转载)

    环境:DB VERSION: 11.2.0.4.0RAC 2 nodes 问题:邮件显示rman备份失败,查看rman备份日志 Starting Control File and SPFILE Aut ...

  2. ORA-00245: control file backup failed; target is likely on a local file system

    ORACLE11G RAC alert报错如下:Errors in file /u01/app/oracle/diag/rdbms/dljyzs/dljyzs1/trace/dljyzs1_ora_8 ...

  3. php中session_start()相关问题分析与解决办法

    介绍下,在php中使用session时遇到的一些问题,与相关解决方法.1.错误提示Warning: Cannot send session cookie - headers already sentW ...

  4. 【问题解决方案】git clone失败的分析和解决

    参考链接 git_clone资源获取失败解决 使用Git clone代码失败的解决方法 [Git] Clone failed 克隆失败的解决方法 问题描述: 无论是git clone还是pull,均失 ...

  5. composer在update时提示file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO

    在开发的时候,需要把依赖的服务更新到最新,然后 手动composer update一下,提示如下: failed) Update failed (The "e "https://a ...

  6. 10g ASM下修改control file的位置

    1.查看位置以及name是否正确 SQL> sho parameter name NAME TYPE VALUE ------------------------------------ --- ...

  7. control file sequential read 等待事件

    可能的原因 control file sequential read Reading from the control file. This happens in many cases. For ex ...

  8. ORA-01207: file is more recent than control file -

    OS: [root@yoon ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 DB: Oracle Database 11g E ...

  9. Error: ORA-16501: the Data Guard broker operation failed ORA-16625: cannot reach database

    在备库上建配置文件 DGMGRL> create configuration 'sharkdbbork' as primary database is 'sharkdb' connect ide ...

随机推荐

  1. NSMutableArray 的实现原理

    一.普通C语言的数组实现: 是开辟一段连续的内存空间,缺点:在插入下标为0的元素,会移动其他所有元素.添加,插入,删除同理.           当数组非常大时,这样很快会成为问题.     二.OC ...

  2. EM 算法-对鸢尾花数据进行聚类

    公号:码农充电站pro 主页:https://codeshellme.github.io 之前介绍过K 均值算法,它是一种聚类算法.今天介绍EM 算法,它也是聚类算法,但比K 均值算法更加灵活强大. ...

  3. Security篇:RememberMe

    RememberMe功能 rememberMeServices接口 有AbstractRememberMeServices抽象类 PersistentTokenBasedRememberMeServi ...

  4. python监控文件实时批量压缩脚本

    # coding:utf-8 from shutil import make_archive import os import time # 指定需要监测的文件夹 image_path = './im ...

  5. PHPCMS V9.6.0 SQL注入漏洞分析

    0x01 此SQL注入漏洞与metinfo v6.2.0版本以下SQL盲注漏洞个人认为较为相似.且较为有趣,故在此分析并附上exp. 0x02 首先复现漏洞,环境为: PHP:5.4.45 + Apa ...

  6. Spring Boot GraphQL 实战 01_快速入门

    hello,大家好,我是小黑,又和大家见面啦~ 新开一个专题是关于 GraphQL 的相关内容,主要是通过 Spring Boot 来快速开发 GraphQL 应用,希望对刚接触 GraphQL 的同 ...

  7. Centos7.6上利用docker搭建Jenkins来自动化部署Django项目

    一般情况下,将一个项目部署到生产环境的流程如下: 需求分析-原型设计-开发代码-内网部署-提交测试-确认上线-备份数据-外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚. 整个过程相当复 ...

  8. 基于 WebRTC 的 RTSP 视频实时预览

    简介 背景 由于项目需要,需要使用摄像头预览功能,设备型号为海康威视.目前已存在的基于 FFmpeg 的方案延迟都太高,所以项目最终选择基于此方案. 方案 方案选用为基于 WebRTC 的视频即时通讯 ...

  9. Pygal之掷骰子

    python之使用pygal模拟掷骰子创建直方图: 1,文件die.py,源码如下: 1 from random import randint 2 3 class Die(): 4 '''表示一个骰子 ...

  10. C#中的深度学习(四):使用Keras.NET识别硬币

    在本文中,我们将研究一个卷积神经网络来解决硬币识别问题,并且我们将在Keras.NET中实现一个卷积神经网络. 在这里,我们将介绍卷积神经网络(CNN),并提出一个CNN的架构,我们将训练它来识别硬币 ...