В общем, дело такое. Нашел у себя краткую инструкцию (памятку) по созданию СтендБая.
привожу ее в том виде, в каком она есть.
ИП-адреса, имена баз и инстансов, а также пути править на свои
[more=Читать тут...]
Инструкция по созданию Standby dtabase.
########################################
<Prim - рабочий сервер . DB_Name= BAZARN, SERVICE_NAME= BAZARN>
<Stby - standby сервер . DB_Name= BAZARN, SERVICE_NAME= BAZARNSB !!!>
Исчерпывающую информацию по данному вопросу см. Oracle 9i R2 Generic
Online Documentation. ( Data Guard Reference.)
Здесь кратко излагается как создать физическую Standby DB в режиме
managed recovery (т.е. запуская основной сервер забэкапленные логи будут по
сети (по Net8) передаваться на StandBy сервер и автоматически там
накатываться).
ИТАК:
============================================================
1. Cделать холодный backup (обязательно с shutdown immediate) это делается
обычно после всех работ вечером
2. Утром можно начинать работать с Prim сервером и поднимать standby
паралельно. На машине (standby) поставить Win200X (нужную вам).
Разбить диск так,
чтоб структура дисков и каталогов была аналогична Prim серверу),
поставить Oracle (при инсталяции НЕ создавать Базу),
прописать переменную среды
прописать в regestry
HKEY_LOCAL_MACHINE
|_
SOFTWARE
|_
ORACLE
|_
HOME0 (если он один)
NLS_LANG = AMERICAN_AMERICA.CL8MSWIN1251 (или другое, что надо)
ORACLE_SID=BAZARNSB
(сама же БД будет называться BAZARN),
3. Подготовить initBAZARNSB.ora файл для standby сервера.
Пример данного файла в STBY/initBAZARNSB.ora
В этом файле обратить внимание на :
a. service_names = BAZARNSB - имя сервиса (такой сервис мы будем поднимать)
b. db_name = BAZARN - имя БД - оно должно совпадать с именем БД рабочего сервиса
с. control_files = ("E:/oracntrl/BAZARN/control_sb.ctl") - имя контрольного
файла для Stby - оно должно отличаться от рабочего контрольного файла на Prim
с таким именем мы создадим его на Prim, а потом перенесем на Stby
d. db_file_name_convert = ('E:/oradata/BAZARN', 'E:/oradata/BAZARN')
log_file_name_convert = ('E:/ora_logs/BAZARN', 'E:/ora_logs/BAZARN')
Это указане не конвертацию имен файлов на тот случай если структура каталогов
не одинаковая, если это так, тогда эти параметры будут выглядеть так
db_file_name_convert = ('E:/oradata/BAZARN', 'D:/oradata_stby/BAZARN')
log_file_name_convert = ('E:/ora_logs/BAZARN', 'F:/ora_logs_stby/BAZARN')
Но не советую менять структуру каталогов - уж очень потом много проблем
e. standby_archive_dest = E:/oracle/arch_logs/BAZARN
это параметр откуда Stby будет брать логи от рабочего сервера
f. log_archive_dest_1 = "location=E:/oracle/arch_logs/BAZARN"
это куда будет Stby писать свои логи работы после того как его
переведут в рабочий режим (обычно эта директория совпадает с standby_archive_dest)
g. log_archive_format = log_BAZARN_%S.arc
Параметр шаблона файла архивных логов, которые приходят с Prim
(он должен совпадать с шаблоном на Prim), но поскольку этот шаблон
состоит на Prim из имени сервиса (там он BAZARN. а здесь BAZARNBS), то пропишем
тут этот шаблон явно log_BAZARN_%S.arc (а не воспользуемся переменной)
BAZARNt001SN
h. log_archive_max_processes = 1 // кол-во архивных процессов
log_archive_min_succeed_dest = 1 // ... (коротче нужный параметр)
log_archive_start = true // ...
i. Проверить правильность путей для trace files - ов:
background_dump_dest = D:/oracle/admin/BAZARNSB/bdump -
сюда будет валится самый главный лог Oracle
(на него мы потом поставим гляделку ViewLog.exe)
core_dump_dest = D:/oracle/admin/BAZARN/cdump
user_dump_dest = D:/oracle/admin/BARSRN/udump
4. Подготовить файлы tnsnames.ora и listener.ora standby сервера.
listener.ora - настроить его при инсталяции (аналогично как и на Prim)
tnsnames.ora - а тут прописать как свой алиас так и алиас для Prim
5. Подложить все файлы данных (*.dbf) на StBy в аналогичную директорию
как и на Prim. Подложить все арховные логи которые накопились с момента
холодного бэкапа в директорию которая указана в standby_archive_dest.
Оперативные логи здесь не надо
6. На Prim сервере в sqlplus создать control file для Stby так :
зайти в sqlplus и набрать
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'control_sb.ctl'
Сдесь нужно указать только файл (без пути), так как будут потом проблемки.
Потом перенести этот файл на StBy в директорию, указанную в параметре
control_files
7. Создать файл паролей на StBy так:
>orapwd FILE=pwdBAZARNSB.ora PASSWD=oracle ENTRIES=3
это должно создать файл pwdBAZARNSB.ora
8. Поскольку файл параметров (initBAZARNBS.ora) берется по умолчанию из
d:/oracle/ora81/database/ а реально он в d:/oracle/admin/BARSRN/pfile
зделаем ссылку : создадим в d:/oracle/admin/BARSRN/pfile файл initBARSRNSB.ora
а в нем пропишем ссылку (одна строка в файле)
IFILE = d:/oracle/admin/BARSRN/pfile/initBAZARNSB.ora
9. Поднять сервис для Stby. В коммандной строке выполнить :
oradim -NEW -SID BAZARNSB -STARTMODE m -PFILE d:/oracle/admin/BARSRN/pfile/initBARSRNSB.ora
10. Переложить все файлики-скрипты в директории ../stby/scrpts/*.*
в D:/oracle/admin/BAZARN
11. Проверить на всяк случай может ли Stby коннектиться к Prim (наприм через SQL Plus)
12. Отредактировать пути в SBStart.sql и SBStop.sql.
Запустить батник SBstart.bat (он накатит все недостающие логи)
Оракл накатит все архивные логи которые мы переложили - и в результате
на консоли будет сообщение что-то вроде того что
log 123 no longe need for restore (уже не нужен)
log 124 not found (тоесть лога 124 еще нету - оракл ждет его) - это
подвисшее состояние и есть нормальное состояние, даже если и
прийдет новый лог - сдесь это не отразится, а отразится лишь в
логе оракла, котор. находится в background_dump_dest = D:/oracle/admin/BAZARNSB/bdump/Alert...
Выйти из программы, нажав Cntr+C
13. Запустить батник SBstop.bat (он положит сервер)
14. Снова запустить SBStart.sql - на экране появится тоже самое:
(что-то вроде) log 124 not found (тоесть лога 124 еще нету -
оракл ждет его)
Wait ...
Все... StBy ждет логов от Prim.
15. Настроим Prim.....
Отредактируем tnsnames.ora - просто добавим алиас для Stby
BAZARNSB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.225)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = BAZARNSB)
)
)
15. Отредактироват initBAZARN.ora, добавив строки:
//возможно эти параметры уже настроены - это куда сейчас валятся архивные логи
log_archive_start = true
log_archive_dest_1 = "location=q:\ora_arc\archive OPTIONAL REOPEN=60"
// а эти параметры добавляем
LOG_ARCHIVE_DEST_2 = "SERVICE=BAZARNSB OPTIONAL REOPEN=60"
LOG_ARCHIVE_DEST_STATE_2 = ENABLE
log_archive_max_processes = 2
log_archive_min_succeed_dest = 1
16. Но так как сервер сейчас работает - эти параметры вступят
в силу лишь после перезагрузки - поэтому нужно их сейчас изменить
вручную:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = "SERVICE=BAZARNSB OPTIONAL REOPEN=60"
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE
ALTER SYSTEM SET log_archive_max_processes = 2
ALTER SYSTEM SET log_archive_min_succeed_dest = 1
17. Усе. Prim настроен.
Для того что б проверить что логи уходят по Net8 на Stby
на рабочем сервере набрать
ALTER SYSTEM switch logfile;
------------------------------------------------------------
II. Активизация Standby DB.
--------------------------------
1. Если есть возможность заархивировать и передать на Standby хост
online - logs и "накатить" их на Standby DB.
2. Потушить и сделать "холодное" резервное копирование Standby DB.
3. Смонтировать Standby DB. В командной строке Server Manager (sqlplus)
или SQL*Plus dsgjkybnm:
SQL> STARTUP NOMOUNT pfile=initSTANDBY.ora
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
3. Активизация Standby DB.
SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;
Отметим, что при выполнении этой команды resets the online redo logs,
т.е. их счетчики (sequences) сбрасываются в 1. Тем самым порождается
новая "инкарнация" Базы данных! Все предыдущие backup -ы становятся
недействительными! Поэтому в этот момент БД срочно нужно сохранить!
4. Shut down the standby instances:
SQL> SHUTDOWN IMMEDIATE
5. Сделать, "холодный" backup вашей Новой production database.
6. Старт новой production Базы Данных.
SQL> STARTUP
[/more]
Будут конкретные вопросы - задавай.
А то делал уже давно, но если что - вспомню