Базы данных Oracle - статьи


Как организовать горячий резерв БД - часть 5


Параметр LOG_ARCHIVE_DEST задает каталог-архив уже для своих изменений sb.class (на будущее).

Параметр LOCK_NAME_SPACE нужен только в нашей не типичной для практики ситуации, когда обе БД будут работать на одной машине; без него две СУБД не смогут одновременно общаться с разными БД, имеющими одинаковые имена.

Наконец, параметр FAL_SERVER симметричен FAL_CLIENT в INIT-файле для teacher.class.

Копируем из e:\oracle\oradata\teacher\archive в e:\oracle\oradata\sb\teacher_archive последний по времени архивированный файл.

Обеспечиваем взаимодействие по Oracle Net

Нужно ненадолго отвлечься от резервной БД и подправить файлы listener.ora и tnsnames.ora, чтобы обе СУБД могли общаться. У нас будет автоматическая пересылка файлов на резервную БД (а могли бы этого не делать и переносить архивные файлы вручную, но это не очень интересно), и для этого основная база должна уметь соединяться с резервной. Нужные конфигурационные файлы у нас находятся в одном месте: в %oracle_home%\network\admin, а в "боевых условиях" они будут разнесены по разным машинам. Добавляем в listener.ora фрагмент:


(SID_LIST =

  (оставить, как было)

  (SID_DESC =

     (GLOBAL_DBNAME = teacher.class)

     (ORACLE_HOME = c:\oracle\ora90)

     (SID_NAME = sb)

  )

)

После этого listener надо перезапустить, проще всего - через окошко Services в ОС Windows, но можно и из командной строки.

В файл tnsnames.ora добавляем


sb.class =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = wsa46)(PORT = 1521))

    )

  (CONNECT_DATA =

      (SERVICE_NAME = sb)

    )

)

"Оживляем" резервную БД и запускаем ее

Теперь резервную БД нужно "оживить". Войдем в консольном окошке ОС в каталог %oracle_home%\database. Скопируем initteacher.ora в initsb.ora и подправим в initsb.ora ссылку на файл: IFILE='c:\oracle\admin\teacher\pfile\init.ora' заменим на IFILE='c:\oracle\admin\sb\pfile\init.ora'.




Начало  Назад  Вперед



Книжный магазин