一、rac环境控制文件快照位置存放错误
(以下内容转载自ora-00245报错解决方法 - 晟数 - 博客园)
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 2021
Copyright (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 catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE 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; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA/ORCL/snapcf_orcl1.f';
问题解决,再次运行备份软件可以正常顺利备份。
4.知识点
快照控制文件的作用
控制文件在数据库的运行过程中时刻都在发生变化,rman备份需要依赖于控制文件和恢复目录。也就是说在整个rman备份的过程中,控制文件中的检查点信息,SCN信息和记录的文件结构信息这些不能改变,一旦改变那么数据的一致性就无法被保证,那么这个备份也就失去了意义。如果将控制文件锁定确实保证了数据库从备份开始到结束数据的一致性但是在锁定期间数据库便无法正常进行操作,这样的代价一样很大。所以为了解决这个问题快照控制文件应运而生,给备份开始时的控制文件做一个快照,整个备份过程都使用快照控制文件进行备份和同步操作。
快照控制文件是RMAN在系统指定位置生成的当前控制文件的一个副本。RMAN在备份或同步操作期间对实际的控制文件进行一个短暂的锁定,并根据控制文件内容生成或者刷新快照控制文件,当这个动作完成后rman就切换到使用快照控制文件进行备份和同步。保证了rman备份和同步的过程中使用的控制文件是不变的。
二、文件目录大小写存放错误
根据Doc ID 2408922.1(RMAN Backup Fails with ORA-00245 Having Duplicate Snapshot Controlfile Location Configured)翻译得到如下内容
症状:
尽管快照控制文件的位置配置为共享存储,并且如果它是 ASM 存储,则安装相应的磁盘组。
Starting Control File and SPFILE Autobackup at 16-MAY-18
released channel: d1
released channel: d2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of Control File and SPFILE Autobackup command on d1 channel at 05/16/2018 03:01:40
ORA-00245: control file backup failed; target is likely on a local file system
原因:
当快照控制文件位置重复并且目录或快照控制文件名在混合(大写和小写)情况下出现错误 17879299 导致错误 ORA-00245:控制文件备份失败;目标可能在本地文件系统上。
RMAN> show all;
using target database control file instead of recovery catalog
...
#Snapshot CF's directory name in mixed cases and duplicated
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<path>/SNAP/snapcf_<db_unique_name>.f';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<path>/snap/snapcf_<db_unique_name>.f';
or
#Snapshot CF name in mixed cases and duplicated
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<path>/snapcf_<db_unique_name>.f';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<path>/snapcf_<Db_unique_name>.f'
解决方案
清除当前设置并以 *小写* 字母配置快照控制文件:
(将文件路径和文件名全小写)
RMAN> show all;
RMAN> configure snapshot controlfile name clear;
RMAN> configure snapshot controlfile name to '<path>_<<db_uniqe_name>>.cf';
RMAN> show all;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)