Moving RAC/ASM to single-node non-rac SET NEWNAME not working
733429Dec 9 2009 — edited Jan 19 2010Good morning,
I'm trying to restore a rac/asm database to a non-rac environment to simulate disaster recovery under worst-case circumstances.
Here is as faras I have been able to get
1) Restored pfile
2) modified pfile to remove references to RAC settings (note, did not set db_file_create_dest, db_file_name_convert, etc)
3) Restored controlfile successfully
4) Mounted database
At this time I run the following rman script which covers all temp and datafiles (there's some skipped numbers where datafiles have been removed previously)
run {
set until time "to_date('2009/11/29 03:00:00','YYYY/MM/DD HH24:MI:SS')";
set newname for tempfile 1 to '/mnt/data/oradata/pmi/temp_1.dbf';
set newname for datafile 1 to '/mnt/data/oradata/pmi/system_1.dbf';
set newname for datafile 2 to '/mnt/data/oradata/pmi/undotbs1_2.dbf';
set newname for datafile 3 to '/mnt/data/oradata/pmi/sysaux_3.dbf';
set newname for datafile 4 to '/mnt/data/oradata/pmi/undotbs2_4.dbf';
set newname for datafile 5 to '/mnt/data/oradata/pmi/undotbs3_5.dbf';
set newname for datafile 6 to '/mnt/data/oradata/pmi/users_6.dbf';
set newname for datafile 7 to '/mnt/data/oradata/pmi/atend1_7.dbf';
set newname for datafile 8 to '/mnt/data/oradata/pmi/atendidx1_8.dbf';
set newname for datafile 9 to '/mnt/data/oradata/pmi/cwmlite_9.dbf';
set newname for datafile 10 to '/mnt/data/oradata/pmi/datafeedsidx1_10.dbf';
set newname for datafile 11 to '/mnt/data/oradata/pmi/drsys_11.dbf';
set newname for datafile 12 to '/mnt/data/oradata/pmi/dynamic1_12.dbf';
set newname for datafile 13 to '/mnt/data/oradata/pmi/dynamicidx1_13.dbf';
set newname for datafile 14 to '/mnt/data/oradata/pmi/intermedia_14.dbf';
set newname for datafile 15 to '/mnt/data/oradata/pmi/notesidx1_15.dbf';
set newname for datafile 16 to '/mnt/data/oradata/pmi/odm_16.dbf';
set newname for datafile 18 to '/mnt/data/oradata/pmi/pacific_data_large_18.dbf';
set newname for datafile 19 to '/mnt/data/oradata/pmi/pacific_data_medium_19.dbf';
set newname for datafile 20 to '/mnt/data/oradata/pmi/pacific_data_small_20.dbf';
set newname for datafile 21 to '/mnt/data/oradata/pmi/pacific_data_xlarge_21.dbf';
set newname for datafile 22 to '/mnt/data/oradata/pmi/pacific_index_large_22.dbf';
set newname for datafile 23 to '/mnt/data/oradata/pmi/pacific_index_medium_23.dbf';
set newname for datafile 24 to '/mnt/data/oradata/pmi/pacific_index_small_24.dbf';
set newname for datafile 25 to '/mnt/data/oradata/pmi/pacific_index_xlarge_25.dbf';
set newname for datafile 26 to '/mnt/data/oradata/pmi/pmi_data_large_26.dbf';
set newname for datafile 27 to '/mnt/data/oradata/pmi/pmi_data_medium_27.dbf';
set newname for datafile 28 to '/mnt/data/oradata/pmi/pmi_data_small_28.dbf';
set newname for datafile 29 to '/mnt/data/oradata/pmi/pmi_data_large_29.dbf';
set newname for datafile 30 to '/mnt/data/oradata/pmi/sysaux_30.dbf';
set newname for datafile 31 to '/mnt/data/oradata/pmi/pmi_data_xlarge_31.dbf';
set newname for datafile 32 to '/mnt/data/oradata/pmi/pmi_index_large_32.dbf';
set newname for datafile 33 to '/mnt/data/oradata/pmi/pmi_data_medium_33.dbf';
set newname for datafile 34 to '/mnt/data/oradata/pmi/pmi_index_medium_34.dbf';
set newname for datafile 35 to '/mnt/data/oradata/pmi/pmi_index_small_35.dbf';
set newname for datafile 36 to '/mnt/data/oradata/pmi/pmi_index_xlarge_36.dbf';
set newname for datafile 38 to '/mnt/data/oradata/pmi/portal30_38.dbf';
set newname for datafile 39 to '/mnt/data/oradata/pmi/portal_app_helpdesk_39.dbf';
set newname for datafile 40 to '/mnt/data/oradata/pmi/static1_40.dbf';
set newname for datafile 41 to '/mnt/data/oradata/pmi/staticidx1_41.dbf';
set newname for datafile 42 to '/mnt/data/oradata/pmi/tools_42.dbf';
set newname for datafile 43 to '/mnt/data/oradata/pmi/xdb_43.dbf';
set newname for datafile 44 to '/mnt/data/oradata/pmi/pmi_index_small_44.dbf';
set newname for datafile 46 to '/mnt/data/oradata/pmi/pmi_index_medium_46.dbf';
set newname for datafile 47 to '/mnt/data/oradata/pmi/pmi_data_small_47.dbf';
set newname for datafile 48 to '/mnt/data/oradata/pmi/pmi_index_large_48.dbf';
set newname for datafile 49 to '/mnt/data/oradata/pmi/pmi_index_xlarge_49.dbf';
set newname for datafile 50 to '/mnt/data/oradata/pmi/system_50.dbf';
set newname for datafile 52 to '/mnt/data/oradata/pmi/pmi_data_xlarge_52.dbf';
set newname for datafile 54 to '/mnt/data/oradata/pmi/pmi_index_medium_54.dbf';
set newname for datafile 55 to '/mnt/data/oradata/pmi/acctdb_data_55.dbf';
set newname for datafile 56 to '/mnt/data/oradata/pmi/acctdb_index_56.dbf';
set newname for datafile 57 to '/mnt/data/oradata/pmi/pivot_data_57.dbf';
set newname for datafile 58 to '/mnt/data/oradata/pmi/pmiaudit_data_58.dbf';
set newname for datafile 59 to '/mnt/data/oradata/pmi/pmiaudit_indx_59.dbf';
allocate channel D1 device type disk;
restore database;
switch datafile all;
release channel D1;
}
When I run this I get the following:
creating datafile fno=3 name=/mnt/data/oradata/pmi/sysaux_3.dbf
released channel: D1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/09/2009 09:32:33
ORA-01119: error in creating database file '+PMI2'
ORA-17502: ksfdcre:4 Failed to create file +PMI2
ORA-15001: diskgroup "PMI2" 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 Manager
I noticed that it's trying to create the datafile. Shouldn't it be giving me a "Restoring datafiles from backup piece" clause? Also it appears to be trying to recreate the datafiles in their old location. Any thoughts on how to get around this.
Using the db_file_name_convert does allow me to restore files to the filesystem, but they use names such as "omf_*" and I'm not sure if it's converting the files properly from ASM format.
Thanks!