zoukankan      html  css  js  c++  java
  • Oracle 11g RAC RMAN ORA00245 control file backup operation failed 错误 与 控制文件备份 说明

    一.问题说明

    操作系统: 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 controlfileenqueue. For non-RAC database, this doesn't change anything. But for RACdatabase, 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 thissnapshot controlfile need to be visible to all instances. 

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

    In RACenvironment any form of controlfile backup may fail with ORA-0245 if thelocation 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 Snapshotcontrolfile is a read-consistent copy of the controlfile.

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

    The snapshotcontrolfile MUST be accessible by all nodes of a RAC database, if the snapshotcontrolfile 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 controlfileconfigured 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 anerror during backup creation.
    *Action: Check alert files for further information. This usually happens becausesome process could not access the backup file during backup creation. Anyprocess of any instance that starts a read/write control file transaction musthave an access to the backup control file during backup creation.

    四. 解决方法

     

    4.1. 检查快照控制文件位置

    RMAN> show snapshot controlfile name;

    4.2 配置snapshot controlfile 到共享位置

    RMAN> CONFIGURE SNAPSHOT CONTROLFILENAME 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]

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

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Skype:    tianlesoftware

    QQ:       tianlesoftware@gmail.com

    Email:    tianlesoftware@gmail.com

    Blog:     http://blog.csdn.net/tianlesoftware

    Weibo:    http://weibo.com/tianlesoftware

    Twitter:  http://twitter.com/tianlesoftware

    Facebook: http://www.facebook.com/tianlesoftware

    Linkedin: http://cn.linkedin.com/in/tianlesoftware

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    JavaScript初探 三 (学习js数组)
    JavaScript初探 二 (了解数据)
    JavaScript初探 一(认识JavaScript)
    2019暑假学习督促安排
    【C#】让工具栏ToolStrip能触发焦点控件的Leave、Validating、DataError等事件以验证数据
    【C#】回调方法不通过object参数获得委托实例
    【SQL】找出行数与自增标识值不相等的表(即有缺行)
    【SQL】统计所有表的行数
    【SQL】靠谱的TRIM函数,附赠过程一枚
    【C#】在窗体中水平居中的控件,到了XP下不居中的解决办法
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609089.html
Copyright © 2011-2022 走看看