When establishing the standby database, a ORA-15173 error occurred during the recovery of the main library's data file on ASM.
Both the primary and the standby are single-instance databases, but all use ASM as a storage method.
The restore database operation was made using a backup of the main library on the standby and encountered this error:
[Oracle@localhost data]$ Rman Target/
Recovery manager:release 10.2.0.3.0-production on Sat Feb 12 14:43:29 2011
Copyright (c) 1982, +, Oracle. All rights reserved.
Connected to target Database:mobiledb (dbid=3009911466, not open)
rman> Restore Database;
Starting restore at 12-feb-11
Using target database control file instead of recovery catalog
Allocated Channel:ora_disk_1
Channel ora_disk_1:sid=1086 Devtype=disk
File excluded from whole database backup
File is excluded from whole database backup
File excluded from whole database backup
File is excluded from whole database backup
Channel ora_disk_1:starting datafile backupset restore
Channel ora_disk_1:specifying DataFile (s) to restore from backup set
Restoring DataFile 00001 to +oradg/mobiledb/datafile/system.260.649168943
Restoring DataFile 00002 to +oradg/mobiledb/datafile/undotbs1.261.649168949
Restoring datafile 00003 to +oradg/mobiledb/datafile/sysaux.262.649168951
Restoring datafile 00004 to +oradg/mobiledb/datafile/users.264.649168953
Restoring DataFile 00005 to +ORAG2/MOBILEDB/DATAFILE/CLUB_STAT.DBF
Restoring datafile 00006 to +ORAG2/MOBILEDB/DATAFILE/CLUB_STATINDX.DBF
.
.
.
Restoring DataFile 00068 to +oradg/mobiledb/datafile/users.328.652899937
Channel ora_disk_1:reading from backup Piece/rman_backup/data/df_mobiledb_5042_1_1
Ora-19870:error Reading Backup Piece/rman_backup/data/df_mobiledb_5042_1_1
ora-19504:failed to create file "+ORAG2/MOBILEDB/DATAFILE/CLUB_STAT.DBF"
Ora-17502:ksfdcre:4 Failed to create file +orag2/mobiledb/datafile/club_stat.dbf
Ora-15173:entry ' mobiledb ' does not exist in directory '/'
Failover to previous backup
Creating DataFile fno=1 name=+oradg/mobiledb/datafile/system.260.649168943
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR message STACK follows ===============
RMAN-00571: ===========================================================
Rman-03002:failure of Restore command at 02/12/2011 14:50:44
Ora-01180:can not create datafile 1
Ora-01110:data file 1: ' +oradg/mobiledb/datafile/system.260.649168943 '
The reason for this error is that the restore operation does not automatically create a directory that does not belong to the database, although the control files should be restored to the Mobiledb directory depending on the location stored in the control file, but due to the db_unique_ of the standby database and the primary database The name is not the same, so after the actual restore, the data file is placed in the name Mobiledb_n directory of the standby database Db_unique_name, and for the Mobiledb_n directory and its datafile, Onlinelog, the restore operation is created automatically, but Mobiledb and the directory under it, restore is not created automatically, even if the directory does not write to the content.
The solution is simple enough to create the corresponding directory structure manually by Asmcmd:
[Oracle@localhost ~]$ Export Oracle_sid=+asm
[Oracle@localhost ~]$ Asmcmd
Asmcmd> CD +ORADG
asmcmd> mkdir Mobiledb
Asmcmd> CD Mobiledb
asmcmd> mkdir datafile
Asmcmd> ls
datafile/
Asmcmd> CD ...
Asmcmd> ls
mobiledb_n/
mobiledb/
Asmcmd> CD +orag2
asmcmd> mkdir Mobiledb
Asmcmd> CD Mobiledb
asmcmd> mkdir datafile
Asmcmd> exit
Run the RESTORE DATABASE command again to resolve the problem.
rman> Restore Database;
Starting restore at 12-feb-11
Using channel Ora_disk_1
File excluded from whole database backup
File is excluded from whole database backup
File excluded from whole database backup
File is excluded from whole database backup
This paper url:http://www.bianceng.cn/database/oracle/201410/45637.htm
Channel ora_disk_1:starting datafile backupset restore
Channel ora_disk_1:specifying DataFile (s) to restore from backup set
Restoring DataFile 00001 to +oradg/mobiledb/datafile/system.260.649168943
Restoring DataFile 00002 to +oradg/mobiledb/datafile/undotbs1.261.649168949
Restoring datafile 00003 to +oradg/mobiledb/datafile/sysaux.262.649168951
Restoring datafile 00004 to +oradg/mobiledb/datafile/users.264.649168953
Restoring DataFile 00005 to +ORAG2/MOBILEDB/DATAFILE/CLUB_STAT.DBF
Restoring datafile 00006 to +ORAG2/MOBILEDB/DATAFILE/CLUB_STATINDX.DBF
.
.
.
Restoring DataFile 00068 to +oradg/mobiledb/datafile/users.328.652899937
Channel ora_disk_1:reading from backup Piece/rman_backup/data/df_mobiledb_5042_1_1
Channel ora_disk_1:restored backup Piece 1
Piece Handle=/rman_backup/data/df_mobiledb_5042_1_1 tag=tag20110212t113309
Channel Ora_disk_1:restore complete, elapsed time:01:28:47
Failover to previous backup
Finished restore at 12-feb-11