Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > controlfile header validation failed


Автор: Сумасшедший 18.1.2010, 13:52
Задача: сделать горячую копию базы на другом сервере. (Oracle 9, AUTOBACKUP ON)
Поставил оракл на новый сервер.

На рабочем сервере (work) делаю:
Код

$ rman target /
RMAN> BACKUP CURRENT CONTROLFILE FORMAT '/u01/orabackup/cf_%d_DB_%u_%s_%p';

Starting backup at 2010-01-18 12:18:36
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=22 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current controlfile in backupset
channel ORA_DISK_1: starting piece 1 at 2010-01-18 12:18:39
channel ORA_DISK_1: finished piece 1 at 2010-01-18 12:18:40
piece handle=/u01/orabackup/cf_WORKDB_DB_thl3p2ku_2993_1 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 2010-01-18 12:18:40

Starting Control File and SPFILE Autobackup at 2010-01-18 12:18:40
piece handle=/u01/app/oracle/product/9.2.0/dbs/c-3268347500-20100118-02 comment=NONE
Finished Control File and SPFILE Autobackup at 2010-01-18 12:18:41

Копирую получившуюся копию контрол-файла на новый сервер в /u01/orabackup/, проставляю ему владельца oracle:oinstall, делаю:
Код

$ rman target /
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> shutdown normal;
RMAN> startup nomount;
RMAN> RESTORE CONTROLFILE FROM '/u01/orabackup/cf_WORKDB_DB_thl3p2ku_2993_1';
Starting restore at 2010-01-18 13:39:15
using channel ORA_DISK_1
channel ORA_DISK_1: restoring controlfile
channel ORA_DISK_1: restore complete
replicating controlfile
input filename=/u01/app/oracle/oradata/workdb/control01.ctl
output filename=/u01/app/oracle/oradata/workdb/control02.ctl
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 01/18/2010 13:39:21
ORA-19563: controlfile header validation failed for file /u01/app/oracle/oradata/workdb/control01.ctl
ORA-19600: input file is controlfile  (/u01/app/oracle/oradata/workdb/control01.ctl)
ORA-19601: output file is controlfile  (/u01/app/oracle/oradata/workdb/control02.ctl)

По описанию - поврежден бэкап контролфайла. Сделал ещё один бэкап, скопировал, проверил идентичность файлов через md5 - никаких различий.
В какую сторону смотреть, чтобы разобраться с этой проблемой?

Автор: ToshaCh 18.1.2010, 15:46
Гы. А с чего он тебе будет раворачиваться на другой базе? Это другая база, следовательно другой DBID и фиг он тебе там подымится. 

Автор: Сумасшедший 18.1.2010, 15:58
Тогда получается что на другом сервере не восстановить контрольник, в котором есть список бэкапов и не восстановить базу. Так получается? Если да, то как тогда чинят базы когда летят накопители?)

Автор: ToshaCh 18.1.2010, 16:12
Ты блин, чего хочешь то скажи? Тебе восстановить базу или клона сделать? Судя по первому посту тебе её склонировать хочется, а судя по последниму восстановить. 

Клонируются командой duplicate.
1. Конектишься к таргетной базе. 
2. Конектишься к базе на которую будешь клонироваться auxiliary.
3. duplicate target database to <SID_aux>;
И всё, собственно. 

Автор: Сумасшедший 18.1.2010, 16:14
Восстановить резервную копию БД на другом сервере.

Автор: ToshaCh 18.1.2010, 16:28
Цитата(Сумасшедший @  18.1.2010,  16:14 Найти цитируемый пост)
Восстановить резервную копию БД на другом сервере.

Это называется склонировать базу из бэкапа. Duplicate.

Автор: Сумасшедший 18.1.2010, 16:41
Мм. А в случае недоступности таргет-базы?- только на основе бэкапа, сделанного rman. Т.е. - сделался бэкап:
Код

        backup
          incremental level 0
          tag 'weekly_db_lvl_0'
          format '/u01/orabackup/df_t%t_s%s_p%p'
          database

и:
Код

    BACKUP CURRENT CONTROLFILE FORMAT '/u01/orabackup/cf_%d_DB_%u_%s_%p';

Этот бэкап в случае отсутствия duplicate не восстановить?
Если не был ранее на другой сервер сделан duplicate, то восстановить его не получится?

Автор: Сумасшедший 18.1.2010, 17:32
Решено: проблема была в типе установки, неверно указанном в документации к ПО.
Приношу извинения за беспокойство,- как и ожидалось болваном оказался я

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)