VovIK
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Инструкция по созданию 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
---------- "Влада боїться свободи в серцях набагато більше, ніж голодного бунту. Бо голодного можна купити, а вільного — тільки вбити". (Любомир Гузар) |
| Всего записей: 7149 | Зарегистр. 31-03-2004 | Отправлено: 13:09 05-06-2006 | Исправлено: VovIK, 13:47 05-06-2006 |
|