Создать service name oracle

Обновлено: 03.07.2024

В этом разделе описываются некоторые важные понятия, относящиеся к службе Oracle CDC Service. В разделе описываются следующие понятия.

В данном разделе описываются таблицы, включаемые в эту базу данных, и их значение для CDC.

В этом разделе приведено краткое описание баз данных CDC. Эти базы данных создаются с помощью консоли конструктора Oracle CDC. Для получения дополнительных сведений о базах данных CDC ознакомьтесь с документацией по консоли конструктора CDC.

В этом разделе описаны команды командной строки, используемые для настройки службы Oracle CDC Service.

База данных MSXDBCDC

База данных MSXDBCDC (Microsoft External-Database CDC) ― это специальная база данных, необходимая при использовании служб CDC Service для Oracle совместно с экземпляром SQL Server .

Имя этой базы данных изменить невозможно. Если в базовом экземпляре размещения SQL Server существует база данных с именем MSXDBCDC и содержит таблицы, отличные от определенных службой CDC Service для Oracle, базовый экземпляр SQL Server использовать нельзя.

Эта база данных используется в следующих основных целях.

В качестве реестра служб Oracle CDC Service, связанных с экземпляром SQL Server . Эти данные используются для настройки службы и создания компонентов, а также для поддержки координации нескольких служб CDC с одним и тем же именем на различных узлах, один из которых является активным.

В качестве реестра экземпляров Oracle CDC, содержащихся в экземпляре SQL Server , служба CDC, обрабатывающая каждый экземпляр, и версий конфигураций, которые они используют. Эти данные эквивалентны столбцу is_cdc_enabled в таблице sys.databases базы данных master. Служба CDC периодически сканирует таблицу dbo.xdbcdc_databases в поисках новых изменений конфигурации CDC или списка отслеживаемых экземпляров.

Содержание хранимых процедур, принадлежащих sysadmin, которые позволяют создавать и обслуживать экземпляры CDC. Они похожи на системные процедуры, которые используются для реализации функции CDC SQL Server .

Создание базы данных MSXDBCDC

Базу данных MSXDBCDC следует создать до определения службы Oracle CDC Service. В экземпляре SQL Server можно создать только одну базу данных MSXDBCDC. База данных MSXDBCDC создается при подготовке базы данных SQL Server для Oracle CDC. Это можно сделать с помощью консоли конфигурации служб CDC Oracle или скрипта создания, сформированного консолью конфигурации служб CDC.

Владельцем этой базы данных является администратор служб Oracle CDC Service. Он может управлять всеми экземплярами Oracle CDC, размещенными на экземпляре SQL Server .

См. также

Таблицы базы данных MSXDBCDC

В данном разделе описаны следующие таблицы базы данных MSXDBCDC.

dbo.xdbcdc_trace

В этой таблице хранятся данные трассировки для службы Oracle CDC Service. Сведения, хранящиеся в этой таблице, включают в себя важные изменения состояния и записи трассировки.

Служба Oracle CDC Service создает записи об ошибках и некоторые информационные записи как в журнал событий Windows, так и в таблице трассировки. В некоторых случаях таблица трассировки может быть недоступна. Тогда сведения об ошибках можно найти в журнале событий.

Далее описаны элементы, содержащиеся в таблице dbo.xdbcdc_trace .

Экземпляр Oracle CDC удаляет старые строки таблицы трассировки в соответствии с политикой сохранения таблицы изменений.

dbo.xdbcdc_databases

В этой таблице содержатся имена баз данных CDC службы CDC Service для Oracle в текущем экземпляре SQL Server . Каждая база данных соответствует экземпляру Oracle CDC. Служба Oracle CDC Service использует эту таблицу для определения экземпляров, которые следует запустить, остановить или перенастроить.

В следующей таблице описаны элементы, содержащиеся в таблице dbo.xdbcdc_trace .

dbo.xdbcdc_services

В этой таблице перечислены службы CDC, связанные с базовым экземпляром SQL Server . Эта таблица используется консолью конструктора CDC для определения списка служб CDC, настроенных для локального экземпляра SQL Server . Она также используется службой CDC для обеспечения обработки данного имени службы Oracle CDC Service только одной запущенной службой Windows.

Далее описаны элементы состояния отслеживания изменений, содержащиеся в таблице dbo.xdbcdc_databases .

Для активной службы CDC этот элемент обновляется через равные промежутки времени, получая значение текущей отметки времени в формате UTC базы данных. Интервал по умолчанию составляет 30 секунд, но его можно менять.

Параметр trace может принимать одно из следующих возможных значений:

true

on

false

off

<class name>[, имя класса >]

Значение по умолчанию — false.

service_heartbeat_interval ― это временной интервал (в секундах), на протяжении которого служба должна обновить столбец active_service_heartbeat. Значение по умолчанию — 30. Максимальное значение равно 3600.

service_config_polling_interval ― это интервал опроса (в секундах), который служба CDC использует для проверки изменений конфигурации. Значение по умолчанию — 30. Максимальное значение равно 3600.

Хранимые процедуры базы данных MSXDBCDC

В этом разделе описаны следующие хранимые процедуры базы данных MSXDBCDC.

dbo.xcbcdc_reset_db(имя базы данных)

Эта процедура очищает данные экземпляра Oracle CDC. Она используется:

для перезапуска отслеживания данных с игнорированием предыдущих данных, например после восстановления базы данных-источника или после периода неактивности при недоступности некоторых журналов транзакций Oracle;

при порче состояния CDC (особенно порче любых данных из таблиц cdc.*tables).

Процедура dbo.xcbcdc_reset_db выполняет следующие задачи:

останавливает экземпляр CDC (если он активен);

усекает таблицы изменений, таблицу cdc_lsn_mapping и таблицу cdc_ddl_history ;

очищает таблицу cdc_xdbcdc_state ;

очищает столбец start_lsn для каждой строки таблицы cdc_change_table.

Для использования процедуры dbo.xcbcdc_reset_db пользователь должен быть членом роли db_owner указанной базы данных экземпляра CDC или членом одной из следующих предопределенных ролей сервера: sysadmin или serveradmin .

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

dbo.xdbcdc_disable_db(имя_базы_данных)

Процедура dbo.xcbcdc_disable_db выполняет следующую задачу:

  • удаляет запись в таблице MSXDBCDC.xdbcdc_databases для выбранной базы данных CDC.

Для использования процедуры dbo.xcbcdc_disable_db пользователь должен быть членом роли базы данных db_owner указанного экземпляра CDC или членом одной из следующих предопределенных ролей сервера: sysadmin или serveradmin .

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

dbo.xcbcdc_add_service(svcname,sqlusr)

Процедура dbo.xcbcdc_add_service добавляет запись в таблицу MSXDBCDC.xdbcdc_services и увеличивает на единицу счетчик ref_count для данного имени службы в таблице MSXDBCDC.xdbcdc_services . Если значение ref_count становится равным 0, процедура удаляет эту строку.

Для использования процедуры dbo.xcbcdc_add_service<service name, username> пользователь должен быть членом роли db_owner указанной базы данных экземпляра CDC или членом одной из следующих предопределенных ролей сервера: sysadmin или serveradmin.

dbo.xdbcdc_start(имя_базы_данных)

Процедура dbo.xdbcdc_start посылает запрос на запуск службе CDC, обрабатывающей выбранный экземпляр CDC, чтобы начать обработку изменений.

Для использования процедуры dbo.xcbcdc_start пользователь должен быть членом роли db_owner указанной базы данных CDC или членом одной из следующих предопределенных ролей сервера: sysadmin или serveradmin для экземпляра SQL Server .

dbo.xdbcdc_stop(имя_базы_данных)

Процедура dbo.xdbcdc_start посылает запрос на остановку службе CDC, обрабатывающей выбранный экземпляр CDC, чтобы прекратить обработку изменений.

Для использования процедуры dbo.xcbcdc_stop пользователь должен быть членом роли db_owner указанной базы данных CDC или членом одной из следующих предопределенных ролей сервера: sysadmin или serveradmin для экземпляра SQL Server .

Базы данных CDC

Каждый экземпляр Oracle CDC, используемый службой CDC, связан с определенной базой данных SQL Server , которая называется базой данных CDC. Эта база данных SQL Server размещается в экземпляре SQL Server , связанном со службой Oracle CDC Service.

База данных CDC содержит специальную схему cdc. Служба Oracle CDC Service использует эту схему с именами таблиц с префиксом xdbcdc_ . Эта схема используется в целях обеспечения безопасности и согласованности.

И экземпляр Oracle CDC, и базы данных CDC создаются с помощью консоли конструктора Oracle CDC. Дополнительные сведения о базах данных CDC см. в документации, поставляемой вместе с консолью конструктора CDC.

Использование интерфейса командной строки для настройки службы CDC Service

Вы можете управлять служебной программой Oracle CDC Service (xdbcdcsvc.exe) из командной строки. Служебная программа CDC представляет собой 32-/64-разрядный исполняемый файл Windows.

См. также:

Команды служебной программы

В этом разделе описаны следующие команды для настройки службы CDC.

Config

Команда Config используется для обновления конфигурации службы Oracle CDC Service с помощью скрипта. Эту команду можно использовать для изменения отдельных настроек службы CDC (например, только строки подключения, не зная пароля асимметричного ключа). Эта команда должна выполняться администратором компьютера. Далее приведен пример использования команды Config .

cdc-service-name ― это имя службы CDC, настройки которой нужно изменить. Это обязательный параметр.

sql-server-connection-string ― это строка подключения, которую нужно изменить. Если строка подключения содержит пробелы или кавычки, ее следует заключить в двойные кавычки ("). Внедренные кавычки экранируются удвоением кавычек.

asym-key-password ― это пароль, который нужно изменить.

windows-account, windows-password ― это учетная запись Windows для службы, которую нужно изменить.

sql-username, sql-password ― это учетные данные для проверки подлинности SQL Server , которые нужно изменить. Если у sqlacct пусты и имя пользователя, и пароль, то служба Oracle CDC Service подключается к SQL Server с использованием проверки подлинности Windows.

Создание

Команда Create используется для создания службы Oracle CDC Service с помощью скрипта. Эта команда должна выполняться администратором компьютера. Далее приведен пример использования команды Create .

cdc-service-name ― это имя создаваемой службы. Если служба с таким именем уже существует, программа возвращает ошибку. Не следует использовать длинные имена и имена с пробелами. В имени службы нельзя использовать символы "/" и "\". Это обязательный параметр.

sql-server-connection-string ― строка подключения, используемая для соединения с экземпляром SQL Server , который связан с новой службой Oracle CDC.

asym-key-password ― это пароль, который защищает асимметричный ключ, используемый для хранения учетных данных средства интеллектуального анализа журнала базы данных-источника.

windows-account, windows-password ― это имя учетной записи и пароль, связанные с создаваемой службой Oracle CDC Service.

sql-username, sql-password ― это имя учетной записи и пароль SQL Server , используемые для подключения к экземпляру SQL Server . Если оба этих параметра пусты, то служба CDC Service для Oracle подключается к SQL Server с использованием проверки подлинности Windows.

Delete

Команда Delete используется для аккуратного удаления службы Oracle CDC Service с помощью скрипта. Эта команда должна выполняться администратором компьютера. Далее приведен пример использования команды Delete .

cdc-service-name ― это имя службы CDC, которую нужно удалить.

Db_name, service_names, instance_name, oracle_sid, global_dbname в ORACLE

В Oracle есть много параметров, связанных с именами, которые иногда могут сбивать с толку.Какова функция этого параметра и в чем разница между ними?

Давайте сначала посмотрим, какие параметры связаны с именем

В файле параметров есть db_name, instance_name, service_names, db_unique_name

В переменной окружения есть oracle_sid

В listener.ora есть sid_name, global_dbname (в случае статической регистрации)

В tnsnames.ora есть service_name, sid

Каковы их значения, давайте познакомимся с ними по порядку:

db_name:

Уникальный идентификатор базы данных (база данных Oracle). Этого представления достаточно для одной базы данных, но для распространения

wKioL1kR0DSR63_vAAAXgx8mLNE464.jpg

DB_UNIQUE_NAME:

instance_name:

Перед изменением параметра экземпляра, как показано на рисунке ниже

wKiom1kR0bPgM_DCAACu-A8n23A349.jpg

После изменения параметра instance_name:

wKiom1kR0huTbSwpAADZ8EC-Arg541.jpg

Сравнение двух изображений показывает, что instance_name играет роль указания имени при регистрации монитора.

Кроме того, некоторые динамические представления производительности, содержащие столбец instance_name или inst_name, выводятся из переменной среды ORACLE_SID (а не этого параметра).

service_names:

Перед изменением service_names, service_names согласуется с отслеживаемой службой:

wKiom1kR0-OyTKrrAACxESUwgzw768.jpg

После изменения service_names в мониторинг добавляется заданное имя службы:

wKiom1kR1BvSHQENAADKCwmItno283.jpg

Вы также можете подключиться к базе данных, используя только что установленное имя службы:

wKiom1kR1DugUYeTAAAcyN9GWZc178.jpg

oracle_sid:

Идентификатор экземпляра существует в форме переменной среды и используется для соответствия сегменту разделяемой памяти. Экземпляр Oracle состоит из SGA и группы фоновых процессов. Для создания и запуска экземпляра требуется файл параметров, а имя файла параметров определяется ORACLE_SID. оф. Для файла инициализации имя файла по умолчанию - init <ORACLE_SID> .ora, для файла spfile имя файла по умолчанию - spfile <ORACLE_SID> .ora. Устанавливая разные значения ORACLE_SID, вы можете запускать разные экземпляры базы данных с разными файлами параметров по умолчанию.

Иными словами, ORACLE_SID определяет имя экземпляра локально запущенного экземпляра базы данных. Пока существует соответствующий init <ORACLE_SID> .ora или spfile <ORACLE_SID> .ora, его можно запустить, или он может быть запущен, указав pfile при запуске, если параметр Другие параметры, установленные в файле, могут запускать базу данных.

В нормальных условиях ORACLE_SID = test, запустите базу данных, как показано на рисунке ниже, и сгенерированный процесс идентифицируется тестом.

wKioL1kR1xDg5Mx5AAD0t-7VH8U024.jpg

Закройте базу данных, измените ORACLE_SID = mydb, вы также можете запустить базу данных, но вам нужно вручную указать файл параметров, сгенерированный процесс идентифицируется mydb.

wKiom1kR11qTbvJFAAEPWdTG7eA224.jpg

Даже если процессы связаны с mydb, имя базы данных и конфигурация мониторинга все еще тестируются.

wKioL1kR2BWBhwBDAACmHKou53Y532.jpg

Также изменились instance_name и inst_name в соответствующем динамическом представлении производительности:

Зачем мне два из них? Когда я должен использовать тот или иной?

Как найти название нашей услуги, когда у меня есть SID имя?

Вкратце: SID = уникальное имя вашей БД, ServiceName = псевдоним, используемый при подключении

Не совсем верно. SID = уникальное имя INSTANCE (например, процесс оракула, запущенный на машине). Oracle считает «Базой данных» файлы.

Таким образом, в вашем примере, может быть SIDs Sales1 , Sales2 и Sales3 , все из которых доступны через имя службы Sales ? Я думаю, что все наоборот: у вас есть один SID, который доступен столько же услуг. Затем вы можете воспользоваться одним из сервисов и указать другой SID / базу данных. Можем ли мы иметь имя Oracle SID такое же, как имя TNS? Это будет проблемой? @ user2441441: Исходя из объяснения, которое дал Мэтью, я думаю, что вы правы в предположении, что может быть несколько SID и один раз Service, который абстрагирует все SID

Вкратце: SID = уникальное имя вашего экземпляра БД, ServiceName = псевдоним, используемый при подключении

Я запутался. Не должно ли быть так, что в RAC у вас будет разное "INSTANCE_NAME" для каждого экземпляра? А один SERVICE_NAME может быть связан с несколькими экземплярами?

Я знаю, что это древняя практика, однако, когда речь идет об изощренных инструментах, видах использования, пользователях или симптомах, связанных с именами сервисов и сервисов, можно добавить небольшую гибкость в записи tnsnames, например:

Я просто подумал, что оставлю это здесь, поскольку это слегка относится к вопросу и может быть полезным, когда мы пытаемся обойти некоторые не совсем понятные особенности сетей оракулов.

что такое SID и имя сервиса

В случае, если вышеуказанная ссылка будет недоступна в будущем, во время написания этого ответа указанная выше ссылка направит вас к теме «Идентификация службы базы данных и экземпляра базы данных» в главе «Основные понятия о соединении» «Руководства администратора служб баз данных Net». , Это руководство опубликовано oracle как часть «Документация по базе данных Oracle Online, 10g Release 2 (10.2)»

Когда я должен использовать тот или иной? Зачем мне два из них?

Рассмотрим приведенное ниже отображение в среде RAC,

SID SERVICE_NAME
Боб1 Боб Боб
Боб2 Боб
Боб3 Боб
Боб4 Боб

если настроена балансировка нагрузки, слушатель будет «балансировать» рабочую нагрузку по всем четырем SID. Даже если балансировка нагрузки настроена, вы можете все время подключаться к bob1, используя SID вместо SERVICE_NAME.

srvctl add database -d testdb_p -n testdb -i testdb -o /u01/app/oradb/product/11.2.0.3/dbhome_1 -p /u01/app/oradb/product/11.2.0.3/dbhome_1/dbs/spfiletestdb.ora -s OPEN -r PRIMARY -t IMMEDIATE -y AUTOMATIC -a "DATA,RECO,REDO";

srvctl add database -d testdb_s -n testdb -i testdb -o /u01/app/oradb/product/11.2.0.3/dbhome_1 -p /u01/app/oradb/product/11.2.0.3/dbhome_1/dbs/spfiletestdb.ora -s MOUNT -r PHYSICAL_STANDBY -t IMMEDIATE -y AUTOMATIC -a "DATA,RECO,REDO";


Тестовую базу можно добавить в режиме (manual)
после перезагрузки сервера базу нужно будет запускать руками

srvctl add database -d testdb -n testdb -i testdb -o /u01/app/oradb/product/11.2.0.3/dbhome_1 -p /u01/app/oradb/product/11.2.0.3/dbhome_1/dbs/spfiletestdb.ora -s OPEN -r PRIMARY -t IMMEDIATE -y MANUAL -a "DATA,RECO,REDO,TEST";

Добавляем сервисы в конфигурацию oracle restart:

$ srvctl add service -d testdb_p -s testdb_app -l primary -e SELECT -m BASIC
$ srvctl modify service -d testdb_p -s testdb_app -z 180 -w 1
$ srvctl config service -d testdb_p

$ srvctl add service -d testdb_s -s testdb_app -l primary -e SELECT -m BASIC
$ srvctl modify service -d testdb_s -s testdb_app -z 180 -w 1
$ srvctl config service -d testdb_s

Названия сервисов: SIDAPP для Primary и SIDREP для Standby

Без поддержки TAF

-- Для БД с ролью PRIMARY

begin
DBMS_SERVICE.CREATE_SERVICE (
service_name => 'TESTAPP',
network_name => 'TESTAPP');
end;
/


-- Для БД с ролью STANDBY + READ ONLY

begin
DBMS_SERVICE.CREATE_SERVICE (
service_name => 'TESTREP',
network_name => 'TESTREP');
end;
/

С поддержкой TAF

-- Для БД с ролью PRIMARY

begin
DBMS_SERVICE.CREATE_SERVICE (
service_name => 'TESTAPP',
network_name => 'TESTAPP',
failover_method => 'BASIC',
failover_type => 'SELECT',
failover_retries => 20,
failover_delay => 5);
end;
/

-- Для БД с ролью STANDBY + READ ONLY

begin
DBMS_SERVICE.CREATE_SERVICE (
service_name => 'TESTREP',
network_name => 'TESTREP',
failover_method => 'BASIC',
failover_type => 'SELECT',
failover_retries => 20,
failover_delay => 5);
end;
/


Процедура автозапуска сервисов в БД в зависимости от её РОЛИ

CREATE OR REPLACE TRIGGER SYS.startDGservices after startup on database
DECLARE
db_role VARCHAR(30);
db_open_mode VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE, OPEN_MODE INTO db_role, db_open_mode FROM V$DATABASE;
IF db_role = 'PRIMARY' THEN DBMS_SERVICE.START_SERVICE('TESTAPP'); END IF;
IF db_role = 'PHYSICAL STANDBY' AND db_open_mode LIKE 'READ ONLY%' THEN DBMS_SERVICE.START_SERVICE('TESTREP'); END IF;
END;
/


Процедуры ручного запуска сервисов в БД в зависимости от её РОЛИ

CREATE OR REPLACE procedure SYS.startAPPservice as
DECLARE
db_role VARCHAR(30);
db_open_mode VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE, OPEN_MODE INTO db_role, db_open_mode FROM V$DATABASE;
IF db_role = 'PRIMARY' THEN DBMS_SERVICE.START_SERVICE('TESTAPP'); END IF;
END;
/

CREATE OR REPLACE procedure SYS.startREPservice as
DECLARE
db_role VARCHAR(30);
db_open_mode VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE, OPEN_MODE INTO db_role, db_open_mode FROM V$DATABASE;
IF db_role = 'PHYSICAL STANDBY' AND db_open_mode LIKE 'READ ONLY%' THEN DBMS_SERVICE.START_SERVICE('TESTREP'); END IF;
END;
/


Процедуры ручной остановки сервисов в БД

create or replace procedure SYS.stopAPPservice as
begin
DBMS_SERVICE.STOP_SERVICE('TESTAPP');
end;
/


create or replace procedure SYS.stopREPservice as
begin
DBMS_SERVICE.STOP_SERVICE('TESTREP');
end;
/

Без поддержки TAF

-- Для БД с ролью PRIMARY

. oraenv
$ srvctl add service -d TEST_OMEGA01 \
-s TESTAPP \
-l PRIMARY \
-y AUTOMATIC \
-P NONE \
-e NONE \
-m NONE \
-w 5 \
-z 20

-- Для БД с ролью STANDBY + READ ONLY

. oraenv
$ srvctl add service -d TEST_OMEGA02 \
-s TESTREP \
-l PHYSICAL_STANDBY \
-y AUTOMATIC \
-P NONE \
-e NONE \
-m NONE \
-w 5 \
-z 20

С поддержкой TAF

-- Для БД с ролью PRIMARY

. oraenv
$ srvctl add service -d TEST_OMEGA01 \
-s TESTAPP \
-l PRIMARY \
-y AUTOMATIC \
-P BASIC \
-e SELECT \
-m BASIC \
-w 5 \
-z 20

-- Для БД с ролью STANDBY + READ ONLY

. oraenv
$ srvctl add service -d TEST_OMEGA02 \
-s TESTREP \
-l PHYSICAL_STANDBY \
-y AUTOMATIC \
-P BASIC \
-e SELECT \
-m BASIC \
-w 5 \
-z 20


Процедура автозапуска сервисов в БД в зависимости от её РОЛИ

Работа сервисов контролируется ПО Grid Infrastructure в АВТО-режиме

Процедуры ручного запуска сервисов в БД в зависимости от её РОЛИ


Процедуры ручной остановки сервисов в БД

$ srvctl stop service -d TEST_OMEGA01 -s TESTAPP
$ srvctl stop service -d TEST_OMEGA02 -s TESTREP

$ srvctl config service -d TEST_OMEGA01 -s TESTAPP
$ srvctl config service -d TEST_OMEGA02 -s TESTREP


Проверка клиентский соединения на предмет использования сервисов с поддержкой технологии TAF :

col username format a25
col machine format a30
col module format a15
col service_name format a15
col server format a12
col failover_type format a15
col failover_method format a15
col failed_over format a15

select inst_id,sid,username, machine, substr(module,1,15) as module, service_name,server,
case when failover_type='NONE' then NULL else failover_type end as failover_type,
case when failover_method='NONE' then NULL else failover_method end as failover_method,
case when failed_over='NO' then NULL else failed_over end as failed_over
from gv$session
order by 1,2;


Проверка работы сервисов

col host_name format a22
col service_name format a22
col network_name format a22

select (select host_name from v$instance) host_name,
name service_name,
network_name
from v$services;

Настройка дескрипторов соединений на клиентской стороне

01 - Primary - должен быть поднят сервис APP
02 - Standby- доджен быть поднят сервис REP в режиме RO

Подключение к базам в БЕЗ Standby конфигурации:

TEST_APP =
(DESCRIPTION =
(ENABLE=BROKEN)
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = omega01.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTAPP)
)
)

TEST_APP =
(DESCRIPTION =
(ENABLE=BROKEN)
(CONNECT_TIMEOUT=30)
(TRANSPORT_CONNECT_TIMEOUT=10)
(RETRY_COUNT=3)
(ADDRESS_LIST=
(LOAD_BALANCE=on)
(ADDRESS = (PROTOCOL = TCP)(HOST = scan_omega01)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTAPP)
)
)

Подключение к базам в Standby конфигурации:

TEST_APP =
(DESCRIPTION =
(ENABLE=BROKEN)
(TRANSPORT_CONNECT_TIMEOUT=10)
(ADDRESS_LIST=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = omega01.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = omega02.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTAPP)
)
)

TEST_REP =
(DESCRIPTION =
(ENABLE=BROKEN)
(TRANSPORT_CONNECT_TIMEOUT=10)
(ADDRESS_LIST=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = omega01.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = omega02.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TESTREP)
)
)

TEST_APP =
(DESCRIPTION_LIST=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(DESCRIPTION=
(ENABLE=BROKEN)
(CONNECT_TIMEOUT=30)
(TRANSPORT_CONNECT_TIMEOUT=10)
(RETRY_COUNT=3)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_omega01)(PORT=1521))
)
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME= TESTAPP)
)
)
(DESCRIPTION=
(ENABLE=BROKEN)
(CONNECT_TIMEOUT=30)
(TRANSPORT_CONNECT_TIMEOUT=10)
(RETRY_COUNT=3)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_omega02)(PORT=1521))
)
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME= TESTAPP)
)
)
)


TEST_REP =
(DESCRIPTION_LIST=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(DESCRIPTION=
(ENABLE=BROKEN)
(CONNECT_TIMEOUT=30)
(TRANSPORT_CONNECT_TIMEOUT=10)
(RETRY_COUNT=3)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_omega01)(PORT=1521))
)
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME=TESTREP)
)
)
(DESCRIPTION=
(ENABLE=BROKEN)
(CONNECT_TIMEOUT=30)
(TRANSPORT_CONNECT_TIMEOUT=10)
(RETRY_COUNT=3)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_omega02)(PORT=1521))
)
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME=TESTREP)
)
)
)

Читайте также: