Восстановление отвалившегося standby | OTUS

Курсы

Курсы в разработке Подготовительные курсы
Работа в компаниях Компаниям Блог +7 499 110-61-65

Восстановление отвалившегося standby

SUBD_Deep_18.12_site-5020-5738e0.png

Иногда вследствие сбоев сети и определённых настроек удаления архивлогов возникает ситуация, что стэндбай перестаёт накатываться, часть логов утеряна, и просто догнать его не получается.

Как я писал, для 12-й версии возможна накатка по сети с помощью recover from service. Для 11-й версии тоже есть выход — сделать инкрементальный бэкап с момента последнего SCN на standby.

Выясняем, какой SCN на STANDBY:

SQL>SELECT CURRENT_SCN FROM V$DATABASE;

Снимаем бэкап на primary:

RMAN>BACKUP INCREMENTAL FROM SCN <standby_scn> DATABASE FORMAT '/nfs/ForStandby_%U' tag 'FORSTANDBY';

Добавляем бэкап в каталог STANDBY:

RMAN>CATALOG START WITH '/nfs/ForStandby'; 

Делаем восстановление:

RMAN>RECOVER DATABASE NOREDO; 

Теперь нужно, чтоб версия контролфайла совпадала с версиями датафайлов, поэтому снимаем копию с праймари:

RMAN>BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/nfs/standby_ctl.bac';

и восстанавливаем на стэндбае:

RMAN> SHUTDOWN IMMEDIATE ;
RMAN> STARTUP NOMOUNT; 
RMAN> RESTORE STANDBY CONTROLFILE FROM '/nfs/standby_ctl.bac';

Остаётся последний важный важный момент, особенно, если у вас файлы на ASМ: после восстановления контролфайла все пути к файлам там теперь такие же, как на праймари.

И тут есть 2 варианта: 1) делать руками rename; 2) воспользоваться более автоматизированной процедурой:

SQL> SHUTDOWN; 
SQL> STARTUP MOUNT;
RMAN> CATALOG START WITH '+ASMDATA/datafile/'; 
RMAN> SWITCH DATABASE TO COPY; 

После этого не забудьте зачистить ваши логфайлы:

ALTER DATABASE CLEAR LOGFILE GROUP [group number];

и можете вновь запускать ваш стэндбай в режиме подкачки.

Вот и всё на сегодня. Чтобы узнать больше, записывайтесь на курс «Реляционные СУБД»!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться