I faced this issue while working with preparing standby database wiht E-Business Suite R12.1 wiht 11gR2-RAC on ASM

I have E-Business Suite R12.1.2 wiht 11.2.0 RAC database which is working on ASM

I needed to create standby server. I followed below command on primary database to can create RMAN backup for can create

standalone standby database.

Here is the my rman command which need to run on Primary rac database:

run
{
BACKUP DEVICE TYPE DISK FORMAT ‘/u01/dataguard_rman_bckp/CTRL_%U’ CURRENT CONTROLFILE FOR STANDBY;
ALLOCATE CHANNEL C1 device type  DISK  format ‘/u01/dataguard_rman_bckp/TSM_DB_%d_%t_%s_%p’;
ALLOCATE CHANNEL C2 device type  DISK  format ‘/u01/dataguard_rman_bckp/TSM_DB_%d_%t_%s_%p’;
ALLOCATE CHANNEL C3 device type  DISK  format ‘/u01/dataguard_rman_bckp/TSM_DB_%d_%t_%s_%p’;
ALLOCATE CHANNEL C4 device type  DISK  format ‘/u01/dataguard_rman_bckp/TSM_DB_%d_%t_%s_%p’;
ALLOCATE CHANNEL C5 device type  DISK  format ‘/u01/dataguard_rman_bckp/TSM_DB_%d_%t_%s_%p’;
ALLOCATE CHANNEL C6 device type  DISK  format ‘/u01/dataguard_rman_bckp/TSM_DB_%d_%t_%s_%p’;
BACKUP as COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
RELEASE CHANNEL C3;
RELEASE CHANNEL C4;
RELEASE CHANNEL C5;
RELEASE CHANNEL C6;
}

On standby server we did not set db_file_name_convert and log_file_name_convert because both primary and standby server has same diskgroup at ASM

Here is the my restore command:

run
{
ALLOCATE AUXILIARY CHANNEL C1 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL C2 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL C3 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL C4 DEVICE TYPE DISK;
DUPLICATE TARGET DATABASE FOR STANDBY
NOFILENAMECHECK;
RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
RELEASE CHANNEL C3;
RELEASE CHANNEL C4;
}
My standby database db_unique_name is PRODs and my primary database db_unique_name is PROD.

While restore done v$datafile bring us datafile path as below

+ORADATA/PROD/datafile

but my restore log mention datafile has been restore to

+ORADATA/PRODs/datafile

As you can notice Control file shows wrong path for my datafile

So how we can solve this issue? Here is the steps:

1. First list of your datafile by:

Select name from v$datafile

2. Connect RMAN on standby database(or your restored database)

RMAN> catalog start with ‘+ORADATA/PRODS/datafile/’;

List of Cataloged Files
=======================
File Name: +ORADATA/PRODS/datafile/SYSTEM.319.658752015
File Name: +ORADATA/PRODS/datafile/SYSAUX.320.658752015
.
.

List of Files Unknown to the Database
=====================================
File Name: +ORADATA/PRODS/datafile/SYSTEM.319.658752015
File Name: +ORADATA/PRODS/datafile/SYSAUX.320.658752015
File Name: +ORADATA/PRODS/datafile/EXAMPLE.321.658752017
File Name: +ORADATA/PRODS/datafile/UNDOTBS1.322.658752017
Do you really want to catalog the above files (enter YES or NO)? YES
cataloging files…
cataloging done

Confirm the copy of the database and all the datafiles have been cataloged by rman correctly.

RMAN> list copy of database;

List of Cataloged Files
=======================
File Name: +ORADATA/PRODS/datafile/SYSTEM.319.658752015
File Name: +ORADATA/PRODS/datafile/SYSAUX.320.658752015
File Name: +ORADATA/PRODS/datafile/EXAMPLE.321.658752017
File Name: +ORADATA/PRODS/datafile/UNDOTBS1.322.658752017

Have rman adjust the standby controlfile to use the newly cataloged standby database datafiles.

RMAN> switch database to copy;
datafile 1 switched to datafile copy xxxx

3. Shutdown database

4. Startup database (mount mode)

5. Confirm your datafile is correct path on your controlfile

Select name from v$datafile

Advertisements