Rman ile restore denemesinde restore işlemi sonrasında “switch datafile all” kısmında yukarıdaki gibi bir hata aldım. Hatanın nedeni ve çözümü hakkında kısaca bahsetmek istiyorum.
Source database’ inizde farklı lokasyonlarda aynı isimde birden fazla dbf’ iniz varsa ve siz bunları restore yaptığınız sunucu üzerinde tek bir lokasyonda toplamaya çalışıyorsanız bu tarz bir hata almanız kaçınılmaz olacaktır. Çünkü işin doğası gereği aynı isimde birden fazla file olamayacağından dolayı duplicate isimdeki file’ lerden biri mutlaka ezilecektir. Dolayısıyla da switch datafile all komutunuz düzgün çalışamayacaktır. Aşağıdaki ilk restore komutunda 13 ve 42 satırlarında INFRA07.dbf isminde ve 38 ve 43 satılarında da INFRA31.dbf isimlerinde aynı iki dosya aynı lokasyona restore edilmeye çalışılmaktadır.
RMAN> run
{
ALLOCATE CHANNEL ch00 DEVICE TYPE sbt_tape PARMS=’ENV=(SBT_LIBRARY=/u01/sq/ora_1/oracle/db/10.2.0/lib/libobk.a, NB_ORA_CLIENT=prod01, NB_ORA_SERV=veritas)’;
SET NEWNAME FOR DATAFILE 1 to ‘/u15/oradata/prod/system01.dbf’ ;
SET NEWNAME FOR DATAFILE 2 to ‘/u15/oradata/prod/cust01.dbf’;
SET NEWNAME FOR DATAFILE 3 to ‘/u15/oradata/prod/sysaux01.dbf’;
SET NEWNAME FOR DATAFILE 4 to ‘/u15/oradata/prod/users01.dbf’;
SET NEWNAME FOR DATAFILE 5 to ‘/u15/oradata/prod/INFRA01.dbf’;
SET NEWNAME FOR DATAFILE 6 to ‘/u15/oradata/prod/INFRA02.dbf’;
2> 3> 4> 5> 6> 7> 8> 9>
10> SET NEWNAME FOR DATAFILE 7 to ‘/u15/oradata/prod/INFRA03.dbf’;
11> SET NEWNAME FOR DATAFILE 8 to ‘/u15/oradata/prod/INFRA04.dbf’;
12> SET NEWNAME FOR DATAFILE 9 to ‘/u15/oradata/prod/INFRA08.dbf’;
13> SET NEWNAME FOR DATAFILE 10 to ‘/u15/oradata/prod/INFRA07.dbf’;
14> SET NEWNAME FOR DATAFILE 11 to ‘/u15/oradata/prod/INFRA06.dbf’;
15> SET NEWNAME FOR DATAFILE 12 to ‘/u15/oradata/prod/INFRA05.dbf’;
16> SET NEWNAME FOR DATAFILE 13 to ‘/u15/oradata/prod/INFRA09.dbf’;
17> SET NEWNAME FOR DATAFILE 14 to ‘/u15/oradata/prod/INFRA10.dbf’;
18> SET NEWNAME FOR DATAFILE 15 to ‘/u15/oradata/prod/INFRA11.dbf’;
19> SET NEWNAME FOR DATAFILE 16 to ‘/u15/oradata/prod/INFRA12.dbf’;
20> SET NEWNAME FOR DATAFILE 17 to ‘/u15/oradata/prod/INFRA13.dbf’;
21> SET NEWNAME FOR DATAFILE 18 to ‘/u15/oradata/prod/INFRA14.dbf’;
22> SET NEWNAME FOR DATAFILE 19 to ‘/u15/oradata/prod/INFRA15.dbf’;
23> SET NEWNAME FOR DATAFILE 20 to ‘/u15/oradata/prod/INFRA16.dbf’;
24> SET NEWNAME FOR DATAFILE 21 to ‘/u15/oradata/prod/INFRA17.dbf’;
25> SET NEWNAME FOR DATAFILE 22 to ‘/u15/oradata/prod/INFRA18.dbf’;
26> SET NEWNAME FOR DATAFILE 23 to ‘/u15/oradata/prod/INFRA19.dbf’;
27> SET NEWNAME FOR DATAFILE 24 to ‘/u15/oradata/prod/INFRA20.dbf’;
28> SET NEWNAME FOR DATAFILE 25 to ‘/u15/oradata/prod/INFRA21.dbf’;
29> SET NEWNAME FOR DATAFILE 26 to ‘/u15/oradata/prod/INFRA22.dbf’;
30> SET NEWNAME FOR DATAFILE 27 to ‘/u15/oradata/prod/INFRA23.dbf’;
31> SET NEWNAME FOR DATAFILE 28 to ‘/u15/oradata/prod/INFRA24.dbf’;
32> SET NEWNAME FOR DATAFILE 29 to ‘/u15/oradata/prod/INFRA25.dbf’;
33> SET NEWNAME FOR DATAFILE 30 to ‘/u15/oradata/prod/INFRA26.dbf’;
34> SET NEWNAME FOR DATAFILE 31 to ‘/u15/oradata/prod/INFRA27.dbf’;
35> SET NEWNAME FOR DATAFILE 32 to ‘/u15/oradata/prod/cust02.dbf’;
36> SET NEWNAME FOR DATAFILE 33 to ‘/u15/oradata/prod/INFRA28.dbf’;
37> SET NEWNAME FOR DATAFILE 34 to ‘/u15/oradata/prod/INFRA29.dbf’;
38> SET NEWNAME FOR DATAFILE 35 to ‘/u15/oradata/prod/INFRA31.dbf’;
39> SET NEWNAME FOR DATAFILE 36 to ‘/u15/oradata/prod/INFRA32.dbf’;
40> SET NEWNAME FOR DATAFILE 37 to ‘/u15/oradata/prod/cust03.dbf’ ;
41> SET NEWNAME FOR DATAFILE 38 to ‘/u15/oradata/prod/INFRA30.dbf’;
42> SET NEWNAME FOR DATAFILE 39 to ‘/u15/oradata/prod/INFRA07.dbf’;
43> SET NEWNAME FOR DATAFILE 40 to ‘/u15/oradata/prod/INFRA31.dbf’;
44> SET NEWNAME FOR DATAFILE 41 to ‘/u15/oradata/prod/INFRA33.dbf’;
45> SET NEWNAME FOR DATAFILE 42 to ‘/u15/oradata/prod/dba_data01.dbf’;
46> SET NEWNAME FOR DATAFILE 44 to ‘/u15/oradata/prod/undo01.dbf’;
47> SET NEWNAME FOR DATAFILE 45 to ‘/u15/oradata/prod/INFRA34.dbf’;
48> SET NEWNAME FOR DATAFILE 46 to ‘/u15/oradata/prod/INFRA35.dbf’;
49> RESTORE DATABASE ;
50> switch datafile all;
51> release channel CH00 ;
52> }
allocated channel: ch00
channel ch00: sid=155 devtype=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle – Release 7.0 (2010070805)
executing command: SET NEWNAME
..
..
executing command: SET NEWNAME
Starting restore at 26-FEB-12
channel ch00: starting datafile backupset restore
channel ch00: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /u15/oradata/prod/system01.dbf
restoring datafile 00002 to /u15/oradata/prod/cust01.dbf
restoring datafile 00003 to /u15/oradata/prod/sysaux01.dbf
restoring datafile 00004 to /u15/oradata/prod/users01.dbf
restoring datafile 00005 to /u15/oradata/prod/INFRA01.dbf
restoring datafile 00006 to /u15/oradata/prod/INFRA02.dbf
restoring datafile 00007 to /u15/oradata/prod/INFRA03.dbf
restoring datafile 00008 to /u15/oradata/prod/INFRA04.dbf
restoring datafile 00009 to /u15/oradata/prod/INFRA08.dbf
restoring datafile 00010 to /u15/oradata/prod/INFRA07.dbf
restoring datafile 00011 to /u15/oradata/prod/INFRA06.dbf
restoring datafile 00012 to /u15/oradata/prod/INFRA05.dbf
restoring datafile 00013 to /u15/oradata/prod/INFRA09.dbf
restoring datafile 00014 to /u15/oradata/prod/INFRA10.dbf
restoring datafile 00015 to /u15/oradata/prod/INFRA11.dbf
restoring datafile 00016 to /u15/oradata/prod/INFRA12.dbf
restoring datafile 00017 to /u15/oradata/prod/INFRA13.dbf
restoring datafile 00018 to /u15/oradata/prod/INFRA14.dbf
restoring datafile 00019 to /u15/oradata/prod/INFRA15.dbf
restoring datafile 00020 to /u15/oradata/prod/INFRA16.dbf
restoring datafile 00021 to /u15/oradata/prod/INFRA17.dbf
restoring datafile 00022 to /u15/oradata/prod/INFRA18.dbf
restoring datafile 00023 to /u15/oradata/prod/INFRA19.dbf
restoring datafile 00024 to /u15/oradata/prod/INFRA20.dbf
restoring datafile 00025 to /u15/oradata/prod/INFRA21.dbf
restoring datafile 00026 to /u15/oradata/prod/INFRA22.dbf
restoring datafile 00027 to /u15/oradata/prod/INFRA23.dbf
restoring datafile 00028 to /u15/oradata/prod/INFRA24.dbf
restoring datafile 00029 to /u15/oradata/prod/INFRA25.dbf
restoring datafile 00030 to /u15/oradata/prod/INFRA26.dbf
restoring datafile 00031 to /u15/oradata/prod/INFRA27.dbf
restoring datafile 00032 to /u15/oradata/prod/cust02.dbf
restoring datafile 00033 to /u15/oradata/prod/INFRA28.dbf
restoring datafile 00034 to /u15/oradata/prod/INFRA29.dbf
restoring datafile 00035 to /u15/oradata/prod/INFRA31.dbf
restoring datafile 00036 to /u15/oradata/prod/INFRA32.dbf
restoring datafile 00037 to /u15/oradata/prod/cust03.dbf
restoring datafile 00038 to /u15/oradata/prod/INFRA30.dbf
restoring datafile 00039 to /u15/oradata/prod/INFRA07.dbf
restoring datafile 00040 to /u15/oradata/prod/INFRA31.dbf
restoring datafile 00041 to /u15/oradata/prod/INFRA33.dbf
restoring datafile 00042 to /u15/oradata/prod/dba_data01.dbf
restoring datafile 00044 to /u15/oradata/prod/undo01.dbf
restoring datafile 00045 to /u15/oradata/prod/INFRA34.dbf
restoring datafile 00046 to /u15/oradata/prod/INFRA35.dbf
channel ch00: reading from backup piece 58m0qm1d_1_1
channel ch00: restored backup piece 1
piece handle=58m0qm1d_1_1 tag=TAG20101230T014722
channel ch00: restore complete, elapsed time: 05:10:40
Finished restore at 26-FEB-12
released channel: ch00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of switch command at 02/26/2012 06:57:52
ORA-19563: header validation failed for file
Restore komutu sonrasında restore başarılı olarak bitmiş olmasına rağmen switch datafile all yapılamadığından hata alınmaktadır. Bu sorunu düzeltmek içinse duplicate olan file’ lerin birer tanesini farklı bir lokasyona restore yaparak sorunu çözebiliriz. Asolan aynı ismin bir kere kullanılmasıdır ama zaman zaman bu tarz hatalar da yapılabilmektedir.
Restore komutun düzeltilmiş hali ;
run
{
ALLOCATE CHANNEL ch00 DEVICE TYPE sbt_tape PARMS=’ENV=(SBT_LIBRARY=/u01/sq/ora_1/oracle/db/10.2.0/lib/libobk.a, NB_ORA_CLIENT=prod01, NB_ORA_SERV=veritas)’;
SET NEWNAME FOR DATAFILE 1 to ‘/u15/oradata/prod/system01.dbf’;
SET NEWNAME FOR DATAFILE 1 to ‘/u15/oradata/prod/cust01.dbf’;
SET NEWNAME FOR DATAFILE 3 TO ‘/u15/oradata/prod/sysaux01.dbf’;
SET NEWNAME FOR DATAFILE 4 TO ‘/u15/oradata/prod/users01.dbf’;
SET NEWNAME FOR DATAFILE 5 TO ‘/u15/oradata/prod/INFRA01.dbf’;
SET NEWNAME FOR DATAFILE 6 TO ‘/u15/oradata/prod/INFRA02.dbf’;
SET NEWNAME FOR DATAFILE 7 TO ‘/u15/oradata/prod/INFRA03.dbf’;
SET NEWNAME FOR DATAFILE 8 TO ‘/u15/oradata/prod/INFRA04.dbf’;
SET NEWNAME FOR DATAFILE 9 TO ‘/u15/oradata/prod/INFRA08.dbf’;
SET NEWNAME FOR DATAFILE 10 TO ‘/u15/oradata/prod/INFRA07.dbf’;
SET NEWNAME FOR DATAFILE 11 TO ‘/u15/oradata/prod/INFRA06.dbf’;
SET NEWNAME FOR DATAFILE 12 TO ‘/u15/oradata/prod/INFRA05.dbf’;
SET NEWNAME FOR DATAFILE 13 TO ‘/u15/oradata/prod/INFRA09.dbf’;
SET NEWNAME FOR DATAFILE 14 TO ‘/u15/oradata/prod/INFRA10.dbf’;
SET NEWNAME FOR DATAFILE 15 TO ‘/u15/oradata/prod/INFRA11.dbf’;
SET NEWNAME FOR DATAFILE 16 TO ‘/u15/oradata/prod/INFRA12.dbf’;
SET NEWNAME FOR DATAFILE 17 TO ‘/u15/oradata/prod/INFRA13.dbf’;
SET NEWNAME FOR DATAFILE 18 TO ‘/u15/oradata/prod/INFRA14.dbf’;
SET NEWNAME FOR DATAFILE 19 TO ‘/u15/oradata/prod/INFRA15.dbf’;
SET NEWNAME FOR DATAFILE 20 TO ‘/u15/oradata/prod/INFRA16.dbf’;
SET NEWNAME FOR DATAFILE 21 TO ‘/u15/oradata/prod/INFRA17.dbf’;
SET NEWNAME FOR DATAFILE 22 TO ‘/u15/oradata/prod/INFRA18.dbf’;
SET NEWNAME FOR DATAFILE 23 TO ‘/u15/oradata/prod/INFRA19.dbf’;
SET NEWNAME FOR DATAFILE 24 TO ‘/u15/oradata/prod/INFRA20.dbf’;
SET NEWNAME FOR DATAFILE 25 TO ‘/u15/oradata/prod/INFRA21.dbf’;
SET NEWNAME FOR DATAFILE 26 TO ‘/u15/oradata/prod/INFRA22.dbf’;
SET NEWNAME FOR DATAFILE 27 TO ‘/u15/oradata/prod/INFRA23.dbf’;
SET NEWNAME FOR DATAFILE 28 TO ‘/u15/oradata/prod/INFRA24.dbf’;
SET NEWNAME FOR DATAFILE 29 TO ‘/u15/oradata/prod/INFRA25.dbf’;
SET NEWNAME FOR DATAFILE 30 TO ‘/u15/oradata/prod/INFRA26.dbf’;
SET NEWNAME FOR DATAFILE 31 TO ‘/u15/oradata/prod/INFRA27.dbf’;
SET NEWNAME FOR DATAFILE 32 TO ‘/u15/oradata/prod/cust02.dbf’;
SET NEWNAME FOR DATAFILE 33 TO ‘/u15/oradata/prod/INFRA28.dbf’;
SET NEWNAME FOR DATAFILE 34 TO ‘/u15/oradata/prod/INFRA29.dbf’;
SET NEWNAME FOR DATAFILE 35 TO ‘/u15/oradata/prod/INFRA31.dbf’;
SET NEWNAME FOR DATAFILE 36 TO ‘/u15/oradata/prod/INFRA32.dbf’;
SET NEWNAME FOR DATAFILE 37 TO ‘/u15/oradata/prod/cust03.dbf’;
SET NEWNAME FOR DATAFILE 38 TO ‘/u15/oradata/prod/INFRA30.dbf’;
SET NEWNAME FOR DATAFILE 39 TO ‘/u15/oradata/prod_dup/INFRA07.dbf’;
SET NEWNAME FOR DATAFILE 40 TO ‘/u15/oradata/prod_dup/INFRA31.dbf’;
SET NEWNAME FOR DATAFILE 41 TO ‘/u15/oradata/prod/INFRA33.dbf’;
SET NEWNAME FOR DATAFILE 42 TO ‘/u15/oradata/prod/dba_data01.dbf’;
SET NEWNAME FOR DATAFILE 44 TO ‘/u15/oradata/prod/undo01.dbf’;
SET NEWNAME FOR DATAFILE 45 TO ‘/u15/oradata/prod/INFRA34.dbf’;
SET NEWNAME FOR DATAFILE 46 TO ‘/u15/oradata/prod/INFRA35.dbf’;
RESTORE DATABASE from tag=TAG20101230T014722;
switch datafile all;
release channel CH00 ;
}