Oracle DB: Failover
Версия от 20:28, 20 сентября 2022; Admin (обсуждение | вклад) (Новая страница: « <pre> Аварийный переход с PRIMARY на STANDBY базу(FAILOVER процесс) Аварийный переход с PRIMARY на STANDBY ба...»)
Аварийный переход с 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).