Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 RMAN и потеря controlfile  [new]
sanek842
Member

Откуда: Тюмень
Сообщений: 1432
Небольшой вопрос по восстановлению базы с исп. RMAN.

Исх данные:
- база в archivelog mode
- бэкап c исп. rman> backup database;
- включен автобэкап control файлов
- базы с каталогом восстановления нет, используется упр. файл

Вопрос, если при сбое мы теряем файлы данных,все управляющие файлы и backupset c упр.файлами,
можно ли при этом восстановиться? Допустим, бэкап базы + арх.логи + redo + spfile - все целое.

Поидее, создать бы УФ вручную
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ...
но для этого нам нужны файлы данных, и с др. стороны я не могу
извлечь (restore database) эти файлы данных из бэкапа не подмонтировав базу, т.к.
файл с бэкапсетом controlfile предполагаем что битый.
30 ноя 11, 09:41    [11681393]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
Vertigo
Member

Откуда:
Сообщений: 610
sanek842,
http://coskan.wordpress.com/2007/08/29/when-you-lost-your-controlfile-backups/
30 ноя 11, 09:50    [11681428]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
sanek842
Member

Откуда: Тюмень
Сообщений: 1432
точно, через пакет sys.dbms_backup_restore вытащил все файлы данных из бэкапсета, потом создал управляющий файл вручную,и .. полное восстановление :)
Спасибо за подсказку!
30 ноя 11, 11:22    [11681948]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
sanek842
точно, через пакет sys.dbms_backup_restore вытащил все файлы данных из бэкапсета, потом создал управляющий файл вручную,и .. полное восстановление :)

Т.е. пятикратная (по умолчанию) защита CF у вас несработала?

А не проще ли расположть все зеркала CF, его snapshot и автобэкапы CF на разных файловых системах?
30 ноя 11, 12:08    [11682300]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
sanek842
Member

Откуда: Тюмень
Сообщений: 1432
Aliona,

Это мой вымышленный сбой ) ну всяко ж может быть, не исключен и такой вариант сбоя. При разрушении диска еще можно предположить что будет, а скажем результат действий всяких вредоносных программ уже непредсказуем, а может уборщица неудачно вытащит шнур питания из сервера, никто не знает как это все случается, а оно возьми да и случись ) надо же знать как вытащить файлы данных из бэкапсета без УФ.

так то да, упр файлы зазеркалены на разных дисках, и аппаратный raid10 , область FRA на дисках отдельных от базы, и политика удержания на 2 бэкапа, сложно получить вышеописанную ситуацию
30 ноя 11, 13:32    [11683041]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
radik_cherry
Member

Откуда:
Сообщений: 39
Народ, ну сколько можно объяснять, что надеяться только на рейд и зеркалирование - это просто оттягивать свой неизбежный конец . Всегда нужно иметь план восстановления с нуля на совсем другой машине.
Что для этого нужно иметь заранее:
- резервное железо, на котором можно было бы хоть по минимуму но развернуть базу
- с установленной ос, ораклом, очень желательно в такой же конфигурации и в тех же каталогах
- копию pfile и записанный на бумажке DBID - не критично, но в запарке по случаю неожиданной аварии можно и в панику впасть :).

И теперь нам становится сухо и комфортно. В случае чего - быстро делаем на резервной машине:
- быстро разобраться с последними архивлогами, где, что, какой последний номер в наличии, чтобы лежали там где нужно.
- рман
- примерная рыба для скрипта восстановления
startup nomount pfile='....хорошо что уже есть готовый :)';
set DBID ххххххххх;
run {
  set controlfile autobackup format for device type disk to '....где там наш бекап';
  restore controlfile from autobackup;
  restore spfile from autobackup;
}
alter database mount;
run {
  set until sequence $LOGSEQ thread 1;
  restore database;
  recover database;
}
alter database open resetlogs;
И собственно все. Главное, бекапы не забывать делать.
30 ноя 11, 19:30    [11685847]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
sanek842
Member

Откуда: Тюмень
Сообщений: 1432
radik_cherry,

а в данном скрипте зачем нам until sequence ? вроде как recover database сам все найдет и даже текущий redo сам подхватит если он там есть.
30 ноя 11, 20:23    [11686037]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7429
sanek842,

Паатамушта восстанавливаемся из архивного контрольника. Текущий был утерян.
30 ноя 11, 21:04    [11686202]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря controlfile  [new]
sanek842
Member

Откуда: Тюмень
Сообщений: 1432
Relic Hunter,

а у меня все так происходит. приведу лог востановления на резервной машине, предварительно залив туда послений бэкап, арх логи и до кучи редо логи, чтоб полностью восстановиться. Да, spfile не восстанавливал, он на резервной заранее скопирован.
каталог fra (путь) совпадает с тем что на основной базе.
вообщем вот :
RMAN> startup nomount

connected to target database (not started)
Oracle instance started

Total System Global Area    4242378752 bytes

Fixed Size                     2182504 bytes
Variable Size               3170894488 bytes
Database Buffers            1056964608 bytes
Redo Buffers                  12337152 bytes

RMAN> restore controlfile from autobackup;

Starting restore at 01-DEC-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=63 device type=DISK

recovery area destination: C:\oracle\flash_recovery_area
database name (or database unique name) used for search: ORCL
channel ORA_DISK_1: AUTOBACKUP C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2011_11_30\O1_MF_S_768613043_7FDTGMXS_.BKP
found in the recovery area
channel ORA_DISK_1: looking for AUTOBACKUP on day: 20111201
channel ORA_DISK_1: looking for AUTOBACKUP on day: 20111130
channel ORA_DISK_1: restoring control file from AUTOBACKUP C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2011_11_30\O1_M
F_S_768613043_7FDTGMXS_.BKP
channel ORA_DISK_1: control file restore from AUTOBACKUP complete
output file name=D:\ORA11G\ORCL\CONTROL01.CTL
output file name=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
Finished restore at 01-DEC-11

RMAN> alter database mount;

database mounted
released channel: ORA_DISK_1

RMAN> restore database;

Starting restore at 01-DEC-11
Starting implicit crosscheck backup at 01-DEC-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=63 device type=DISK
Crosschecked 2 objects
Finished implicit crosscheck backup at 01-DEC-11

Starting implicit crosscheck copy at 01-DEC-11
using channel ORA_DISK_1
Finished implicit crosscheck copy at 01-DEC-11

searching for all files in the recovery area
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_30\O1_MF_1_4815_7FDTYPPY_.ARC
File Name: C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_30\O1_MF_1_4816_7FDV6YRW_.ARC
File Name: C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_30\O1_MF_1_4817_7FDVGY1G_.ARC
File Name: C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2011_11_30\O1_MF_S_768613043_7FDTGMXS_.BKP

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to D:\ORA11G\ORCL\SYSTEM01.DBF
channel ORA_DISK_1: restoring datafile 00002 to D:\ORA11G\ORCL\SYSAUX01.DBF
channel ORA_DISK_1: restoring datafile 00003 to D:\ORA11G\ORCL\UNDOTBS01.DBF
channel ORA_DISK_1: restoring datafile 00004 to D:\ORA11G\ORCL\USERS01.DBF
channel ORA_DISK_1: restoring datafile 00005 to D:\ORA11G\ORCL\SOFI_DATA1.DBF
channel ORA_DISK_1: restoring datafile 00006 to D:\ORA11G\ORCL\SOFI_DATA2.DBF
channel ORA_DISK_1: restoring datafile 00007 to D:\ORA11G\ORCL\SOFI_DATA3.DBF
channel ORA_DISK_1: reading from backup piece C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_11_30\O1_MF_NNNDF_TAG201
11130T233128_7FDT3JKL_.BKP
channel ORA_DISK_1: piece handle=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_11_30\O1_MF_NNNDF_TAG20111130T233128_
7FDT3JKL_.BKP tag=TAG20111130T233128
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:15:05
Finished restore at 01-DEC-11

RMAN> recover database;

Starting recover at 01-DEC-11
using channel ORA_DISK_1

starting media recovery

archived log for thread 1 with sequence 4815 is already on disk as file C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\20
11_11_30\O1_MF_1_4815_7FDTYPPY_.ARC
archived log for thread 1 with sequence 4816 is already on disk as file C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\20
11_11_30\O1_MF_1_4816_7FDV6YRW_.ARC
archived log for thread 1 with sequence 4817 is already on disk as file C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\20
11_11_30\O1_MF_1_4817_7FDVGY1G_.ARC
archived log for thread 1 with sequence 4818 is already on disk as file D:\ORA11G\ORCL\REDO06.LOG
archived log file name=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_30\O1_MF_1_4815_7FDTYPPY_.ARC thread=1 sequ
ence=4815
archived log file name=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_30\O1_MF_1_4816_7FDV6YRW_.ARC thread=1 sequ
ence=4816
archived log file name=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_30\O1_MF_1_4817_7FDVGY1G_.ARC thread=1 sequ
ence=4817
archived log file name=D:\ORA11G\ORCL\REDO06.LOG thread=1 sequence=4818
media recovery complete, elapsed time: 00:00:36
Finished recover at 01-DEC-11

RMAN> alter database open resetlogs;

database opened

30 ноя 11, 23:49    [11686774]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить