更多精彩内容:请登录http://ke.sandata.com.cn/

1.发现问题

最近应用备份软件对客户11G RAC数据库进行备份, 发现备份失败查看日志发现数据库报ORA-00245: control file backup failed; target is likely on a local file system谬误。

2.问题剖析

本报错呈现于oracle 11.2.0.1.0及当前的版本中,利用于所有平台仅仅RAC环境会产生,因为oracle 11Gr2管制文件备份机制的扭转,集群中的任何实例都要能够写入快照文件。当然这个文件也就要对所有实例可见,所以这个快照文件要设置在共享设施上。

咱们当初看一下本机设置:

[oracle@rac1 ~]$ rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Mon Jun 21 10:56:57 2021Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.connected to target database: ORCL (DBID=1601183368)RMAN> show all;using target database control file instead of recovery catalogRMAN configuration parameters for database with db_unique_name ORCL are:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # defaultCONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE ENCRYPTION FOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM 'AES128'; # defaultCONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # defaultCONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/product/11.2.0/db_1/dbs/snapcf_orcl1.f'; # default

由上可见本机是默认的未进行批改过。

3.解决办法

批改rman备份配置,将管制文件快照定向到共享磁盘组,只需在一个节点批改即可。

RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA/ORCL/snapcf_orcl1.f';new RMAN configuration parameters:CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA/ORCL/snapcf_orcl1.f';new RMAN configuration parameters are successfully stored

查看批改后的rman选项:

RMAN> show all    2> ;RMAN configuration parameters for database with db_unique_name ORCL are:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # defaultCONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE ENCRYPTION FOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM 'AES128'; # defaultCONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # defaultCONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA/ORCL/snapcf_orcl1.f';

问题解决,再次运行备份软件能够失常顺利备份。

4.知识点

快照管制文件的作用

管制文件在数据库的运行过程中时刻都在发生变化,rman备份须要依赖于管制文件和复原目录。
也就是说在整个rman备份的过程中,管制文件中的检查点信息,SCN信息和记录的文件构造信息这些不能扭转,一旦扭转那么数据的一致性就无奈被保障,那么这个备份也就失去了意义。如果将管制文件锁定的确保障了数据库从备份开始到完结数据的一致性然而在锁定期间数据库便无奈失常进行操作,这样的代价一样很大。所以为了解决这个问题快照管制文件应运而生,给备份开始时的管制文件做一个快照,整个备份过程都应用快照管制文件进行备份和同步操作。
快照管制文件是RMAN在零碎指定地位生成的以后管制文件的一个正本。RMAN在备份或同步操作期间对理论的管制文件进行一个短暂的锁定,并依据管制文件内容生成或者刷新快照管制文件,当这个动作实现后rman就切换到应用快照管制文件进行备份和同步。保障了rman备份和同步的过程中应用的管制文件是不变的。