11gR2 RAC RMAN備份問題------ORA-00245控制文件autobackup錯誤

Symptoms

客戶RMAN備份報錯,controlfile autobackup出錯,錯誤如下:

 

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

以下幾種情況均會出現ORA-00245錯誤:

1. In RAC environment controlfile autobackup fails with ora-0245
 
Autobackup of controlfile in RMAN is failing 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. In RAC environment, backup controlfile to non shared location fails
 
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/home/rac1122/test/control.bk' REUSE
 *
 ERROR at line 1:
 ORA-245: control file backup operation failed
 
 
3. In RAC environment backing up standby controlfile to non shared location fails
 
SQL> alter database create standby controlfile as '/home/oracle/renostdbycntrl.ctl';
 
alter database create standby controlfile as
'/home/oracle/renostdbycntrl.ctl'
 *
 ERROR at line 1:
 ORA-245: control file backup operation failed
 
 
4. In RAC environment copy current controlfile to '${DB_BACKUP_DIR}/rac_tnctv_control.bak';
 
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
 
 
5. In RAC environment, Rman backup fails if snapshot controlfile is not in shared location.
 
 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

Cause

在 11gR2 及更高版本中,控制文件的備份在執行時不會持有 CF enqueue。對於非 RAC 數據庫,這不會造成任何影響。但是,對於 RAC數據庫,由於在 11gR2 中控制文件備份機制發生了更改,集羣中的任何實例都可以寫入到 snapshot/backup(快照/備份)控制文件。因此,Snapshot(快照)控制文件需要對所有實例都可見。從 SQL*Plus 直接創建控制文件的備份時也存在這種情況。集羣中的任何實例都可以寫入到備份控制文件。控制文件備份,即使使用 SQL“alter database backup controlfile...”,也必須在共享設備上創建備份。
 
Snapshot(快照)控制文件必須可由 RAC 數據庫的所有節點訪問;如果 snapshot(快照)控制文件不在共享設備上,則在 RMAN備份獲取控制文件的 snapshot(快照)時會引發錯誤。這適用於使用 SQL*Plus 備份控制文件和在非共享位置配置了控制文件自動備份的情況。
 
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
 
解決方案是將 Snapshot/backup(快照/備份)控制文件位置更改到共享設備上,否則將會失敗,並出現 ORA-245: control file backup operation failed。

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-0245錯誤
 
The backup of the controlfile actualy makes a backup of the SNAPSHOT controlfile. The Snapshot 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.

Snapshot controlfile是一個控制文件的read-consistent copy

Solution

RMAN> show snapshot controlfile name;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name HMES are:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/app/11g/dbs/snapcf_hmes2.f'; # default

/oracle/app/11g/dbs/snapcf_hmes2.f非共享,需要設置到共享目錄,或者ASM上

2. Configure the snapshot controlfile to a shared disk:

RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '<shared_disk>/snapcf_<DBNAME>.f';

Or in case of ASM use

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

本次設置爲:

RMAN> CONFIGURE SNAPSHOT CONTROLFILE  NAME TO '+data/snapcf_hmes2.f';

設置後,備份成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章