RMAN duplicate for standby失敗解決過程

來源:互聯網
上載者:User

RMAN duplicate for standby失敗解決過程
在用rman duplicate to standby 產生備庫的時候總是不成功,多次嘗試均是下面的錯誤:
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  >
該問題困擾了我兩天,怎麼檢查也檢查不出錯誤,重做也是同樣的問題。
問題1:
set newname for tempfile  1 to
"+data";
這個問題是參數中少寫暫存資料表空間的轉換參數:
*.db_file_name_convert='+DATA/e7rac/tempfile/','/oradata/e7dg2/datafile/'
加入該參數後,將變成這樣:
set newname for tempfile  1 to
"/oradata/e7dg2/datafile/temp.263.804695143";
問題2:
Datafile 部分
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";
參數已經配置:
*.db_file_name_convert='+DATA/E7RAC/DATAFILE/','/oradata/e7dg2/datafile/'
最後發現是大小寫錯誤:上面路徑來自於asmcmd>中的pwd,參數修改為下面的情況後正常。
*.db_file_name_convert='+DATA/e7rac/datafile/','/oradata/e7dg2/datafile/'
正確的路徑參數是來自於命令:
select file_name from dba_data_files;
最後正確的執行過程:
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 control file  (/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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.