Dsvolk > > Oracle > > Backup > > Install_standby My Blog | Search | About
(Not Logged In)
[ welcome! ] [ news ] [ install ] [ jump-jet ] [ app ] [ rac ] [ papers ] [ dba ] [ dvp ] [ racdd4d ] [ oem ] [ statspack ] [ education ] [ tuning ] [ ias ] [ backup ] [ dataprotection ] [ security ] [ oid ] [ options ] [ integration ] [ sales ] [ sun ] [ linux ] [ consulting ] [ faq ]

Setup Standby

Соглашение о материалах на этом сайте

Мой oracle blog
true dsvolk!
зазеркалье см. также
Хорошо общая теория процесса изложена в статье металинк Oracle 8i standby database. Есть также пошаговая инструкция с примерами в том числе и для windows NT для создания и управления процессом в полуручном режиме.

Предварительные требования

  • Основная БД должна быть в режиме archivelog. Читать как его включить. 
  • Нужно иметь backup БД. Можно использовать горячий или холодный backup. Отличия здесь такие - если используется горячий backup, то нет необходимости в online redo, если холодный - то они также необходимы. Читать как получить горячий backup  вручную
    Создание standby с помощью rman неинтересно :)) посколько используется команда duplicate target database for standby. В этом документе приводится даже полный синтаксис скриптов. 

Создание standby

Общая идея: нам понадобятся копии всех файлов  данных (горячих или холодных), init.ora, специальный controlfile и redo logs (если backup был холодный). Полезные запросы:

select file_name from dba_data_files; -- Файлы данных

select member from v$logfile; -- redo

select name from v$controlfile; -- control

 

На основной БД создаем копию controlfile но не простого

 ALTER DATABASE CREATE STANDBY CONTROLFILE AS <Path and Controlfilename>; 

Далее перетаскиваем файлы из backup на машину  с standby db. Правим init.ora

log_archive_dest_1='LOCATION=<Path Standby Archive Logs are stored>'

log_archive_dest_state_1=enable

log_archive_format=%t_%s.dbf (MUST be the same as on Primiary !!)

log_archive_start=true

standby_archive_dest=<Path Standby Archive Logs are stored>

 

 

Стартуем standby DB Windows NT only: C:\>ORADIM -NEW -SID <Standby-SD> -INTPWD <Internal Password> -MAXUSERS n

SQL>startup nomount pfile=/path/initCLONE.ora;

SQL>alter database mount standby database;

Переводим standby в Managed Recovery mode SQL>recover managed standby database;
Настраиваем primary DB для автоматической доставки логов. standby - должно быть валидным tns именем. Т.е. требуется настроить tnsnames.ora на на хосте primary DB  и listener.ora на хосте standby DB. log_archive_dest_1='LOCATION=<Path local Archivelogs are stored'

log_archive_dest_2='SERVICE=standby reopen=60'

log_archive_dest_state_1=enable

log_archive_dest_state_2=enable

log_archive_format=<SID>_%s_%t.arc

log_archive_start=true

Проверяем что доставка логов осуществляется SQL> alter system switch logfile;

SQL> select status, error from v$archive_dest where dest_id=2;

Остановить процесс наката логов можно с помощью команды:

SQL> recover managed standby database cancel;

Можно также открыть БД в read-only

SQL> alter database open read only;

 

Поднять standby вручную, при этом передавать логи нужно вручную, можно с помощью команд:

startup nomount pfile='/xx/xx/initSID.ora'

alter database mount standby database

recover standby database

 

Этот параметр необхоодимо установить в init.ora для дублирующей БД если и основная и дублирующая БД располагаются на одном хосте:

lock_name_space = CLONE_DB

Видно что управление связкой двух БД требует контролирования процесса закачки логов и знания многих разных команд. Для 

упрощения процесса управления был сделан продукт Oracle DataGuard

Открытие Standby

Чтобы открыть standby базу как production и потерять возможность докатывать логи дальше нужно:

- нормальное завершить recovery 

- выполнить команду 

alter database activate standby database

При этом произойдет 'open resetlogs'. Затем нормально опустите и поднимите БД. 


Переключение Primary <-> Standby и обратно

Одна из возможностей предоставляемых standby это временно переключиться на standby DB и потом вернуться на primary DB, например для обслуживания хоста с primary DB. При этом переключении не происходит resetlogs ! 

Подробно процедура описана в следующей статье.  

Dsvolk > > Oracle > > Backup > > Install_standby Last Modified: 30-04-2003 16:22