Подготовка primary сервера
включаем
FORCE LOGGING
ALTER
DATABASE FORCE LOGGING;
добавляем
стэндбай логи, на случай смены роли
сервера, добавляем сколько нужно
ALTER
DATABASE ADD STANDBY LOGFILE ('+ARCH') SIZE 50M;
Настраиваем
в tnsnames записи об primary и standby
Настраиваем
параметры оракла
DB_NAME=primary
DB_UNIQUE_NAME=primary
LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,stanby)'
LOG_ARCHIVE_DEST_1=
'LOCATION=+ARCH VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=primary'
LOG_ARCHIVE_DEST_2=
'SERVICE=standby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=standby' LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30
добавляем
параметры на случай смены ролей
FAL_SERVER=standby
DB_FILE_NAME_CONVERT='standby','primary'
LOG_FILE_NAME_CONVERT='standby','primary'
STANDBY_FILE_MANAGEMENT=AUTO
Подготовка standby сервера
на
primary делаем полный backup
~>
rman target /
RMAN>CONFIGURE
CHANNEL DEVICE TYPE DISK FORMAT '/oracle_backup/DB_UNIQ_NAME/%U';
RMAN>backup
device type disk database;
cнимаем
копию контролфайла для стэндбая
ALTER
DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/standby.ctl';
снимаем
копию инитфайла для стэндбая
CREATE
PFILE='/tmp/initSTANDBY.ora' FROM SPFILE;
Переносим
все на стэндбай сервер: бэкап вместе с
директорией, контролфайл, инитфайл и
орапвдфайл
Редактируем
initSTANDBY.ora
DB_NAME=primary
DB_UNIQUE_NAME=standby
CONTROL_FILES='/place/for/standby.ctl'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,stanby)'
LOG_ARCHIVE_DEST_1=
'LOCATION=+ARCH VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=standby'
LOG_ARCHIVE_DEST_2=
'SERVICE=primary ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=primary' LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30
FAL_SERVER=primary
DB_FILE_NAME_CONVERT='primary',
'standby'
LOG_FILE_NAME_CONVERT='primary','standby'
STANDBY_FILE_MANAGEMENT=AUTO
Восстанавливаем
базу
sqlplus>STARTUP
NOMOUNT
~>
rman target /
RMAN>restore
database;
После
восстановления переводим в режим
подкачки логов
sqlplus>ALTER
DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
вариант бэкапа
вариант бэкапа
BACKUP DATABASE INCLUDE CURRENT CONTROLFILE FOR STANDBY PLUS ARCHIVELOG;
Активация стэндбая
ALTER
DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
ALTER
DATABASE ACTIVATE STANDBY DATABASE;
После
этого можно открыть БД для доступа
пользователей в режиме чтения-записи:
ALTER
DATABASE OPEN;
Настройка rman для удаления архивлогов
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY
Режим switchover
Primary
переводится в режим standby A
ALTER
DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION
SHUTDOWN; SHUTDOWN IMMEDIATE;
STARTUP
MOUNT;
Standby
переводится в primary
ALTER
DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
ALTER
DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
SHUTDOWN
IMMEDIATE;
STARTUP;
Ну
и на теперь текущем standby включается
накат логов
sqlplus>ALTER
DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
Режим FAILOVER
Перекинуть
руками архивлоги по возможности.
Standby
переводится в primary
ALTER
DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
либо
при проблемах
ALTER
DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
ALTER
DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
SHUTDOWN
IMMEDIATE;
STARTUP;
Комментариев нет:
Отправить комментарий