Do dg preparation and execute duplicate target database for standby nofilenamecheck report to RMAN-06023
RMAN duplicate for standby failure resolution process
It is always unsuccessful to generate a repository with rman duplicate to standby. Many attempts are due to the following error:
RMAN > duplicate target database for standby nofilenamecheck
Starting Duplicate Db at 16-JAN-2013 12:22:45
Using target database control file instead of recovery catalog
Allocated channel: ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: SID=25 device type=DISK
Contents of Memory Script:
{
Restore clone standby controlfile
}
Executing Memory Script
Starting restore at 16-JAN-2013 12:22:49
Using channel ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: starting datafile backup set restore
Channel ORA_AUX_DISK_1: restoring control file
Channel ORA_AUX_DISK_1: reading from backup piece / backup/dg_back_07nvi815_1_1
Channel ORA_AUX_DISK_1: piece handle=/backup/dg_back_07nvi815_1_1 tag=TAG20130116T110405
Channel ORA_AUX_DISK_1: restored backup piece 1
Channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Output file name=/oradata/e7dg1/controlfile/current1.ctl
Output file name=/oradata/e7dg1/controlfile/current2.ctl
Finished restore at 16-JAN-2013 12:22:52
Contents of Memory Script:
{
Sql clone 'alter database mount standby database'
}
Executing Memory Script
Sql statement: alter database mount standby database
RMAN-05529: WARNING: DB_FILE_NAME_CONVERT resulted in invalid ASM names; names changed to disk group only.
Contents of Memory Script:
{
Set newname for tempfile 1 to
"+ data"
Switch clone tempfile all
Set newname for datafile 1 to
"+ data"
Set newname for datafile 2 to
"+ data"
Set newname for datafile 3 to
"+ data"
Set newname for datafile 4 to
"+ data"
Set newname for datafile 5 to
"+ data"
Restore
Clone database
}
Executing Memory Script
Executing command: SET NEWNAME
Renamed tempfile 1 to + data in control file
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Starting restore at 16-JAN-2013 12:23:02
Using channel ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: starting datafile backup set restore
Channel ORA_AUX_DISK_1: specifying datafile (s) to restore from backup set
Channel ORA_AUX_DISK_1: restoring datafile 00001 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00002 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00003 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00004 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00005 to + data
Channel ORA_AUX_DISK_1: reading from backup piece / backup/dg_back_05nvi7sn_1_1
Channel ORA_AUX_DISK_1: ORA-19870: error while restoring backup piece / backup/dg_back_05nvi7sn_1_1
ORA-19504: failed to create file "+ DATA"
ORA-17502: ksfdcre:4 Failed to create file + DATA
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-15077: could not locate ASM instance serving a required diskgroup
ORA-29701: unable to connect to Cluster Synchronization Service
Failover to previous backup
Channel ORA_AUX_DISK_1: starting datafile backup set restore
Channel ORA_AUX_DISK_1: specifying datafile (s) to restore from backup set
Channel ORA_AUX_DISK_1: restoring datafile 00001 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00002 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00003 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00004 to + data
Channel ORA_AUX_DISK_1: restoring datafile 00005 to + data
Channel ORA_AUX_DISK_1: reading from backup piece + FRA/e7rac/backupset/2013_01_15/nnndf0_tag20130115t162421_0.278.804791379
Channel ORA_AUX_DISK_1: ORA-19870: error while restoring backup piece + FRA/e7rac/backupset/2013_01_15/nnndf0_tag20130115t162421_0.278.804791379
ORA-19505: failed to identify file "+ FRA/e7rac/backupset/2013_01_15/nnndf0_tag20130115t162421_0.278.804791379"
ORA-17503: ksfdopn:2 Failed to open file + FRA/e7rac/backupset/2013_01_15/nnndf0_tag20130115t162421_0.278.804791379
ORA-15001: diskgroup "FRA" does not exist or is not mounte
Failover to previous backup
RMAN-00571: =
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =
RMAN-00571: =
RMAN-03002: failure of Duplicate Db command at 01/16/2013 12:23:06
RMAN-05501: aborting duplication of target database
RMAN-05556: not all datafiles have backups that can be recovered to SCN consistent
RMAN-03015: error occurred in stored script Memory Script
RMAN-06026: some targets not found-aborting restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore
RMAN >
This problem has been bothering me for two days. No matter how I check it, I can't find an error, and it's the same problem with redoing.
Question 1:
Set newname for tempfile 1 to
"+ data"
The problem is that the conversion parameters of temporary tablespaces are less written in the parameters:
* .db_file_name_convert='+DATA/e7rac/tempfile/','/oradata/e7dg2/datafile/'
When this parameter is added, it looks like this:
Set newname for tempfile 1 to
"/ oradata/e7dg2/datafile/temp.263.804695143"
Question 2:
Datafile part
Set newname for datafile 1 to
"+ data"
Set newname for datafile 2 to
"+ data"
Set newname for datafile 3 to
"+ data"
Set newname for datafile 4 to
"+ data"
Set newname for datafile 5 to
"+ data"
The parameters have been configured:
* .db_file_name_convert='+DATA/E7RAC/DATAFILE/','/oradata/e7dg2/datafile/'
Finally, it is found that it is a case error: the above path comes from the pwd in asmcmd >, and the parameter is normal after being modified to the following case.
* .db_file_name_convert='+DATA/e7rac/datafile/','/oradata/e7dg2/datafile/'
The correct path parameters come from the command:
Select file_name from dba_data_files
Finally, the correct execution process:
RMAN > duplicate target database for standby nofilenamecheck
Starting Duplicate Db at 17-JAN-2013 16:42:46
Using target database control file instead of recovery catalog
Allocated channel: ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: SID=20 device type=DISK
Contents of Memory Script:
{
Restore clone standby controlfile
}
Executing Memory Script
Starting restore at 17-JAN-2013 16:42:49
Using channel ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: restoring control file
ORA-19625: error identifying file / apps/Oracle/product/11.2.0/dbhome_1/dbs/snapcf_e7rac1.f
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-19600: input file is control file (/ apps/oracle/product/11.2.0/dbhome_1/dbs/snapcf_e7rac1.f)
ORA-19601: output file is controlfile (/ oradata/e7dg2/controlfile/current1.ctl)
Failover to previous backup
Channel ORA_AUX_DISK_1: starting datafile backup set restore
Channel ORA_AUX_DISK_1: restoring control file
Channel ORA_AUX_DISK_1: reading from backup piece / backup/dg_back_07nvi815_1_1
Channel ORA_AUX_DISK_1: piece handle=/backup/dg_back_07nvi815_1_1 tag=TAG20130116T110405
Channel ORA_AUX_DISK_1: restored backup piece 1
Channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Output file name=/oradata/e7dg2/controlfile/current1.ctl
Output file name=/oradata/e7dg2/controlfile/current2.ctl
Finished restore at 17-JAN-2013 16:42:51
Contents of Memory Script:
{
Sql clone 'alter database mount standby database'
}
Executing Memory Script
Sql statement: alter database mount standby database
Contents of Memory Script:
{
Set newname for tempfile 1 to
"/ oradata/e7dg2/datafile/temp.263.804695143"
Switch clone tempfile all
Set newname for datafile 1 to
"/ oradata/e7dg2/datafile/system.256.804692297"
Set newname for datafile 2 to
"/ oradata/e7dg2/datafile/sysaux.257.804692309"
Set newname for datafile 3 to
"/ oradata/e7dg2/datafile/undotbs1.258.804692313"
Set newname for datafile 4 to
"/ oradata/e7dg2/datafile/users.259.804692315"
Set newname for datafile 5 to
"/ oradata/e7dg2/datafile/undotbs2.264.804696469"
Restore
Clone database
}
Executing Memory Script
Executing command: SET NEWNAME
Renamed tempfile 1 to / oradata/e7dg2/datafile/temp.263.804695143 in control file
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Starting restore at 17-JAN-2013 16:42:58
Using channel ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: starting datafile backup set restore
Channel ORA_AUX_DISK_1: specifying datafile (s) to restore from backup set
Channel ORA_AUX_DISK_1: restoring datafile 00001 to / oradata/e7dg2/datafile/system.256.804692297
Channel ORA_AUX_DISK_1: restoring datafile 00002 to / oradata/e7dg2/datafile/sysaux.257.804692309
Channel ORA_AUX_DISK_1: restoring datafile 00003 to / oradata/e7dg2/datafile/undotbs1.258.804692313
Channel ORA_AUX_DISK_1: restoring datafile 00004 to / oradata/e7dg2/datafile/users.259.804692315
Channel ORA_AUX_DISK_1: restoring datafile 00005 to / oradata/e7dg2/datafile/undotbs2.264.804696469
Channel ORA_AUX_DISK_1: reading from backup piece / backup/dg_back_05nvi7sn_1_1
Channel ORA_AUX_DISK_1: piece handle=/backup/dg_back_05nvi7sn_1_1 tag=TAG20130116T110143
Channel ORA_AUX_DISK_1: restored backup piece 1
Channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:25
Finished restore at 17-JAN-2013 16:44:24
Contents of Memory Script:
{
Switch clone datafile all
}
Executing Memory Script
Datafile 1 switched to datafile copy
Input datafile copy RECID=1 STAMP=804960154 file name=/oradata/e7dg2/datafile/system.256.804692297
Datafile 2 switched to datafile copy
Input datafile copy RECID=2 STAMP=804960154 file name=/oradata/e7dg2/datafile/sysaux.257.804692309
Datafile 3 switched to datafile copy
Input datafile copy RECID=3 STAMP=804960154 file name=/oradata/e7dg2/datafile/undotbs1.258.804692313
Datafile 4 switched to datafile copy
Input datafile copy RECID=4 STAMP=804960154 file name=/oradata/e7dg2/datafile/users.259.804692315
Datafile 5 switched to datafile copy
Input datafile copy RECID=5 STAMP=804960154 file name=/oradata/e7dg2/datafile/undotbs2.264.804696469
Finished Duplicate Db at 17-JAN-2013 16:44:55