Oracle DB: Failover

Материал из sysadm
Перейти к навигации Перейти к поиску
Аварийный переход с PRIMARY на STANDBY базу(FAILOVER процесс)

Аварийный переход с PRIMARY на STANDBY базу необходим в случае невосстановимого выхода из строя primary базы oracle.
Все команды выполняются на standby базе:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 
Для добавления информации из текущего standby редолога:   
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH; 

(Если при выполнении команды выдаются ошибки ORA-00283, ORA-00261, ORA-00312, значит процесс RFS (отвечающий за передачу файлов между серверами)
еще занимает какой-то файл. При разрыве связи между серверами таймаут может длиться до 2-х часов (в зависимости от ОС).
В этом случае надо перезапустить базу:
SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter database mount standby database;
и повторить команду.)

(Если команда завершилась ошибкой, значит, standby редологи по какой-либо причине не использовались или не функционировали,
 выполните завершение восстановления с пропуском информации из текущего редолога.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH SKIP STANDBY LOGFILE;
Помните, что при этом часть последних изменений может потеряться!). 

После завершения восстановления, можно переключить standby базу в primary режим:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY 

(Такое переключение возможно только в случае успешного завершения восстановления одним из вышеприведенных способов.
 Если это не удалось, можно принудительно активировать базу:
SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;     

В случае ошибки ORA-16140 Standby online logs have not been recovered;
Выполнить:
SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE SKIP STANDBY LOGFILE;     

В этом случае также будут утеряны последний изменения, это должно делаться только в крайнем случае!)

Останавливаем базу:
SQL> SHUTDOWN IMMEDIATE 

Теперь останавливаем процесс прослушивателя 

Внесим необходимые изменения в сетевые настройки как это описано в пункте 4.3 (Изменение сетевых настроек при PRIMARY/STANDBY переключении серверов ORACLE).

Поднимаем процесс прослушивателя (с измененной конфигурацией/адресами) 

Поднимаем базу

SQL> STARTUP 
    
Теперь standby база превратилась в новую primary базу.

Проверьте наличие временных файлов (п.7), при необходимости добавьте их.

Внесите необходимые изменения в сетевые настройки как это описано в пункте 4.3 (Изменение сетевых настроек при PRIMARY/STANDBY переключении серверов ORACLE).