Сайт Игоря Гаршина Главная страница
Письмо автору сайта garchine@mail.ru
Опыт орадмина: 1. Инсталляция 2. Генерация 3. Миграция 4. ODBC 5. Администрация 6. Утилиты 7. Netware 8. RedHat 9. NT
Синхронизация: 1. Механизмы 2. Архитектуры 3а. Снапшоты 3б. Мастер-сайт 4. Сравнение ОС 5. RepMan Пр1. Файлы ORA Пр2. CONFIG.ORA Пр3. API Пр4. Словарь данных
Практика работы с Oracle - книга о репликации распределенной базы данных Oracle 8
Вся книга: Практика работы с Oracle: генерация, администрирование, репликация. И.К.Гаршин.
ISBN 5-901314-02-6 (рус.). УДК 004.42Oracle. ББК 32.973.26-018.2. Г21.

В 1999-2000 г. программисты «Нефтегазсистемы» разработали и внедрили в большинство ОАО МН «Транснефти Информационную систему паспортизации магистральных нефтепроводов «СКУТОР». Сначала он был создан на базе MS Access, затем переведен на Oracle 8 с поддкржкой асинхронной репликации с помощью программы Oracle Multimaster. В книге подробно описан авторский опыт перевода и внедрения этой базы данных.

Автор признателен руководителям и сотрудникам ЗАО «Нефтегазсистемы», начальникам и персоналу вычислительных центров региональных управлений ОАО «Транснефть», c чьей помощью был разработан и внедрен данный Oracle-проект.

Приложения

 

Состав приложений:

 

Приложение 1. Файлы TNSNAMES.ORA, LISTENER.ORA, CONFIG.ORA

Приложение 2. Пример конфигурационного файла

Приложение 3. Описание API для репликации

Приложение 4. Словарь БД

 

Приложение 1. Файлы TNSNAMES.ORA, LISTENER.ORA, CONFIG.ORA

Файл TNSNAMES.ORA в данном примере включает описание сервисов в Компании, ряде Объединений и некоторых подчиненных Предприятиях:

 

# D:\ORAWIN95\NET80\ADMIN\TNSNAMES.ORA Configuration File:D:\orawin95\net80\admin\TNSNAMES.ORA

#Generated by Oracle Net8 Assistant

 

ORACLE.WORLD=

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS=

       (COMMUNITY=TCP.world)

       (PROTOCOL=TCP)

       (Host=17.6.20.2)

       (Port=1521))

     (ADDRESS=

       (COMMUNITY=IPC.world)

       (PROTOCOL=IPC)

       (KEY=MAD1-IPC))

     (ADDRESS=

       (COMMUNITY=SPX.world)

       (PROTOCOL=SPX)

       (Service=MAD1_LSNR))

   )

   (CONNECT_DATA =

     (SID = ORCM)

     (GLOBAL_NAME = ORACLE.world)

   )

 )

 

ORAWWW.WORLD=

 (DESCRIPTION =

   (ADDRESS=

     (COMMUNITY=TCP.world)

     (PROTOCOL=TCP)

     (Host=17.6.15.9)

     (Port=1521))

   (CONNECT_DATA =

     (SID = ORC2)

     (GLOBAL_NAME = ORAWWW.world)

   )

 )

 

ORAPHL.WORLD=

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS=

       (COMMUNITY=TCP.world)

       (PROTOCOL=TCP)

       (Host=17.1.15.4)

       (Port=1521))

     (ADDRESS=

       (COMMUNITY=SPX.world)

       (PROTOCOL=SPX)

       (Service=PHL_ORA_LSNR))

   )

   (CONNECT_DATA =

     (SID = ORCP)

     (GLOBAL_NAME = ORAPHL.world)

   )

 )

 

MUN.WORLD=

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS=

       (COMMUNITY=TCP.world)

       (PROTOCOL=TCP)

       (Host=17.11.1.5)

       (Port=1521))

     (ADDRESS=

       (COMMUNITY=SPX.world)

       (PROTOCOL=SPX)

       (Service=MUN_ORA_LSNR))

     (ADDRESS=

       (COMMUNITY=IPC.world)

       (PROTOCOL=IPC)

       (KEY=MUN_ORA_LSNR))

   )

   (CONNECT_DATA =

     (SID = MUNC)

     (GLOBAL_NAME = MUNCHEN.world)

   )

 )

 

NYK.WORLD=

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS=

      (COMMUNITY=TCP.world)

       (PROTOCOL=TCP)

       (Host=17.13.7.1)

       (Port=1521))

     (ADDRESS=

       (COMMUNITY=IPC.world)

       (PROTOCOL=IPC)

       (KEY=ORC1))

     (ADDRESS=

       (COMMUNITY=SPX.world)

       (PROTOCOL=SPX)

       (Service=NYR1_LSNR))

   )

   (CONNECT_DATA =

     (SID = ORC1)

     (GLOBAL_NAME = NYORK.world)

   )

 )

 

PET.WORLD=

 (DESCRIPTION =

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

   (CONNECT_DATA = (SID = ORC1))

 )

.

.

.

 

            Файл LISTENER.ORA уникален для каждого сервера. Для одного из Объединений он имеет следующий вид:

 

################

# Filename......: listener.o

# Name..........: NYR1.world

# Date..........: 26-MAY-99 15:12:33

################

SQLNET.AUTHENTICATION_SERVICES = (NONE)

 

USE_PLUG_AND_PLAY_LISTENER = OFF

USE_CKPFILE_LISTENER = OFF

LISTENER=

 (ADDRESS_LIST =

   (ADDRESS =

     (COMMUNITY = TCP.world)

     (PROTOCOL = TCP)

     (Host = 171.15.36.2)

     (Port = 1521)

   )

   (ADDRESS =

     (COMMUNITY = IPC.world)

     (PROTOCOL=IPC)

     (KEY=ORC1)

   )

   (ADDRESS =

     (COMMUNITY = SPX.world)

     (PROTOCOL = SPX)

     (Service = NYR1_LSNR)

   )

 )

STARTUP_WAIT_TIME_LISTENER= 0

CONNECT_TIMEOUT_LISTENER= 10

TRACE_LEVEL_LISTENER= OFF

SID_LIST_LISTENER=

 (SID_LIST =

   (SID_DESC =

     (GLOBAL_DBNAME = NYORK.world)

     (SID_NAME = ORC1)

     (ORACLE_HOME = VOL1:ORANW804)

      (PRESPAWN_MAX = 10)

   )

  )

 

            Это примеры файлов для сервера, на котором располагается только одна БД. Если на сервере также располагается другая БД, то файл LISTENER.ORA корректируется, а файлы TNSNAMES.ORA обоих БД объединяются.

            Вот пример файла LISTENER.ORA, если установлено две БД Oracle:

 

LISTENER=

 (ADDRESS_LIST =

   (ADDRESS =

     (PROTOCOL = IPC)

     (KEY = NWG_ORA_LSNR)

   )

   (ADDRESS =

     (PROTOCOL = TCP)

      (HOST = 171.15.36.2)

     (PORT = 1521)

   )

 )

STARTUP_WAIT_TIME_LISTENER= 0

CONNECT_TIMEOUT_LISTENER= 10

TRACE_LEVEL_LISTENER= OFF

SID_LIST_LISTENER=

 (SID_LIST =

   (SID_DESC =

     (SID_NAME = NYOR)

   )

   (SID_DESC =

     (SID_NAME = ORCL)

   )

  )

#EZCFG_VER=1.1.0.0.0

 

            Файл CONFIG.ORA находится в подкаталоге сервера ORANW804\NLM. Ниже приводится его пример (кодовая страница в данном случае «досовская»):

 

OS_NAME=netware

ORACLE_HOME=VOL1:ORANW804

NLS_LANG=AMERICAN_AMERICA.RU8PC866

RDBMS80=VOL1:ORANW804\RDBMS80

PLSQL80=VOL1:ORANW804\PLSQL80

NW_ENABLE_SID_SUPPORT=TRUE

# Setting NW_FSTYPE to DFS is not supported on

# volumes with Block Suballocation On

NW_FSTYPE=CLIB

ORA_NLS33=VOL1:ORANW804\NLSRTL33

ORA_NLS_PROFILE=VOL1:ORANW804\NLSRTL33

NLSRTL33=VOL1:ORANW804\NLSRTL33

UTILITY_MSG=VOL1:ORANW804\RDBMS80

API=VOL1:ORANW804\RDBMS80

LOCAL=NYK.world

NET80=VOL1:ORANW804\NET80

# Setting NW_FSTYPE to DFS is not supported on

# volumes with Block Suballocation On

PLUS80=VOL1:ORANW804\PLUS80

SQLPATH=VOL1:ORANW804\PLUS80

PRO80=VOL1:ORANW804\PRO80

 


Игорь Гаршин, E-mail: garchine@mail.ru, URL: garshin.ru.

Страницы со статьей: Репликация Oracle | Все статьи
Я.Метрика: просмотры, визиты и хиты сегодня
На правах рекламы (см. условия):