Настройка издателя Oracle

Публикации издателей Oracle создаются таким же способом, как и публикации моментальных снимков и публикации транзакций, но перед тем как создать публикацию от издателя Oracle, необходимо выполнить следующие шаги (в данном разделе подробно описаны шаги 1, 3 и 4):

  1. Используя предоставленный сценарий, создайте в базе данных Oracle административного пользователя для репликации.

  2. На каждую из публикуемых таблиц предоставьте разрешение SELECT непосредственно (не через роль) пользователю с правами администратора Oracle, созданному на шаге 1.

  3. Установите на распространитель Microsoft SQL Server клиентское ПО Oracle и поставщик OLE DB, а затем остановите и перезапустите экземпляр SQL Server. Если распространитель запущен на 64-разрядной платформе, необходимо использовать 64-разрядную версию поставщика OLE DB Oracle.

  4. Настройте базу данных Oracle как издатель на распространителе SQL Server.

Список объектов, реплицируемых из базы данных Oracle, см. в разделе Рассмотрение структуры и ограничений издателей Oracle.

ПримечаниеПримечание

Необходимо быть членом предопределенной роли сервера sysadmin, чтобы включить издатель или распространитель и создать публикацию или подписку Oracle из публикации Oracle.

Создание схемы администратора репликации в базе данных Oracle

Агенты репликации подключаются к базе данных Oracle и выполняют операции в контексте созданной пользовательской схемы. Этой схеме должны быть предоставлены некоторые разрешения, перечисленные далее. Данная схема является владельцем всех объектов, созданных в процессе репликации Microsoft SQL Server на издателе Oracle, за исключением открытого синонима MSSQLSERVERDISTRIBUTOR. Дополнительные сведения об объектах, создаваемых в базе данных Oracle, см. в разделе Объекты, создаваемые на издателе Oracle.

ПримечаниеПримечание

При удалении открытого синонима MSSQLSERVERDISTRIBUTOR и настроенного пользователя репликации Oracle с параметром CASCADE с издателя Oracle будут удалены все объекты репликации.

Для помощи в настройке пользовательской схемы репликации предоставляется образец сценария. После установки SQL Server сценарий можно найти в следующем каталоге: <drive>:\\Program Files\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. Он также приведен в разделе Сценарий для предоставления разрешений Oracle.

Подключитесь к базе данных Oracle под учетной записью с правами доступа администратора базы данных (DBA) и выполните сценарий. Данный сценарий запрашивает имя пользователя и пароль для схемы администратора репликации, а также табличное пространство по умолчанию, в котором будут создаваться объекты (табличное пространство уже должно существовать в базе данных Oracle). Сведения об указании других табличных пространств для объектов см. в разделе Управление табличными пространствами Oracle. Выберите любое имя пользователя и надежный пароль, запишите их, так как позднее при настройке базы данных Oracle как издателя запрашиваются это имя и пароль. Рекомендуется использовать схему только для объектов, которые требуются для репликации. Не создавайте таблиц, которые будут публиковаться в этой схеме.

Создание пользовательской схемы вручную

При создании схемы администратора репликации необходимо предоставить схеме следующие разрешения, непосредственно или через роль базы данных:

  • CREATE PUBLIC SYNONYM and DROP PUBLIC SYNONYM

  • CREATE PROCEDURE

  • CREATE SEQUENCE

  • CREATE SESSION

Необходимо также предоставить пользователю непосредственно (не через роль) следующие разрешения:

  • CREATE ANY TRIGGER. Это необходимо только при репликации моментальных снимков и репликации транзакций.

  • CREATE TABLE

  • CREATE VIEW

Установка и настройка клиентского сетевого ПО Oracle на распространителе SQL Server

На распространителе SQL Server необходимо установить и настроить клиентское сетевое ПО Oracle и поставщик OLE DB Oracle, чтобы распространитель мог подключаться к издателю Oracle. После установки ПО задайте для папок установки соответствующие разрешения, а затем остановите и перезапустите экземпляр SQL Server, чтобы обеспечить обновление всех параметров (разрешения описаны ниже в разделе «Установка разрешений для каталогов»).

ПримечаниеПримечание

Необходимо использовать клиентское сетевое ПО Oracle последней доступной версии. Oracle рекомендует устанавливать пользователям самую новую версию клиентского программного обеспечения. Клиентское программное обеспечение часто бывает новее, чем программное обеспечение баз данных.

Наиболее простой способ установки и настройки клиентского сетевого ПО заключается в использовании универсального установщика Oracle и программы Net Configuration Assistant, расположенных на компакт-диске с клиентским ПО Oracle.

В универсальном установщике Oracle необходимо ввести следующие сведения:

Сведения

Описание

Oracle Home

Это путь к каталогу, в который устанавливается программное обеспечение Oracle. Примите значение по умолчанию (C:\oracle\ora90 или похожее) или задайте другой путь. Дополнительные сведения о каталоге Oracle Home см. в подразделе «Рассмотрение Oracle Home» далее в этом разделе.

Имя каталога Oracle Home

Псевдоним для пути к каталогу Oracle Home.

Тип установки

В Oracle 10g выберите параметр установки Administrator.

После того как установка Oracle завершена, для настройки сетевых подключений используйте компонент Net Configuration Assistant. Для настройки сетевых подключений необходимо ввести сведения в четырех разделах. Администратор базы данных Oracle настраивает сеть, когда устанавливает базу данных и прослушиватель, поэтому он должен быть способен предоставить эти сведения, если они отсутствуют. Необходимо выполнить следующие действия:

Действие

Описание

Идентификация базы данных

Существует два способа идентификации базы данных. Первый способ использует компонент Oracle System Identifier (SID), который доступен во всех версиях Oracle. Второй метод использует компонент Service Name, доступный в версиях Oracle, начиная с 8.0. Оба метода используют значение, которое конфигурируется при создании базы данных, и важно, чтобы конфигурация сетевого клиента использовала тот же метод именования, что и администратор при конфигурации прослушивателя базы данных.

Идентификация сетевого псевдонима базы данных

Необходимо указать сетевой псевдоним, который будет использоваться для доступа к базе данных Oracle. Этот же псевдоним следует использовать при идентификации базы данных Oracle в качестве издателя на распространителе SQL Server. Сетевой псевдоним — это, по существу, указатель на удаленный SID или имя службы, сконфигурированные при создании базы данных; это относится к нескольким названиям в различных версиях и продуктах Oracle, включая Net Service Name и TNS Alias. SQL*Plus запрашивает этот псевдоним как параметр «Host String» при входе.

Выберите сетевой протокол.

Выберите соответствующие поддерживаемые протоколы. Большинство приложений использует протокол TCP.

Задайте сведения об узле для идентификации прослушивателя базы данных

Узел — это имя или DNS-псевдоним компьютера, на котором запущен прослушиватель Oracle. Обычно это тот же компьютер, на котором расположена база данных. Для некоторых протоколов, возможно, нужно будет указать дополнительные сведения. Например, если выбрать протокол ТСР, нужно будет указать порт, который слушается прослушивателем для запросов на подключение к целевой базе данных. По умолчанию для протокола TCP используется порт 1521.

Установка разрешений для каталогов

Учетной записи, под которой выполняется служба SQL Server на распространителе, должны быть предоставлены разрешения на чтение и выполнение для каталога (и всех подкаталогов), в котором установлено клиентское сетевое ПО Oracle.

Проверка соединения между распространителем SQL Server и издателем Oracle

Перед завершением программы Net Configuration Assistant есть возможность проверить подключения к издателю Oracle. До начала проверки соединения убедитесь в том, что экземпляр базы данных Oracle находится в режиме «в сети» и запущен прослушиватель Oracle. Если проверка не удалась, свяжитесь с администратором Oracle, ответственным за базу данных, с которой была попытка соединиться.

После успешного подключения к издателю Oracle попробуйте подключиться к базе данных под учетной записью и паролем, связанным с созданной схемой администратора репликации. Необходимо выполнить следующие действия при использовании той же учетной записи Windows, которую использует служба SQL Server:

  1. Нажмите кнопку Пуск, затем щелкните Выполнить.

  2. Введите cmd и нажмите кнопку ОК.

  3. В командной строке введите:

    sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>

    Например, sqlplus replication/$tr0ngPasswerd@Oracle90Server

  4. Если конфигурация сети прошла удачно, будет выполнен вход и появится окно сеанса SQL.

  5. Если при подключении к базе данных Oracle возникли проблемы, см. раздел «Распространителю SQL Server не удается подключиться к экземпляру базы данных Oracle» в Диагностика издателей Oracle.

Рассмотрение Oracle Home

Oracle поддерживает параллельную установку двоичных файлов приложений, но только один набор двоичных файлов может использоваться репликацией в текущий момент. Каждый набор двоичных файлов связан с Oracle Home; двоичные файлы находятся в каталоге %ORACLE_HOME%\bin. Когда репликация выполняет подключение к издателю Oracle, необходимо убедиться в том, что используется правильный набор двоичных файлов (а именно, последняя версия клиентского сетевого ПО).

Войдите на распространитель под учетными записями, используемыми службой SQL Server и службой агентов SQL Server, установите соответствующие переменные среды. Переменная %ORACLE_HOME% должна указывать на точку установки, заданную при установке сетевого клиентского программного обеспечения. Переменная %PATH% должна включать каталог %ORACLE_HOME% \bin в качестве первой записи, относящейся к Oracle. Сведения о настройке переменных среды см. в документации по операционной системе Windows.

Настройка базы данных Oracle как издателя на распространителе SQL Server

Издатели Oracle всегда используют удаленный распространитель. Необходимо настроить экземпляр SQL Server, чтобы он работал как распространитель для издателя Oracle (издатель Oracle может использовать только один распределитель, но отдельный распространитель может обслуживать несколько издателей Oracle). После настройки распространителя определите экземпляр базы данных Oracle как издатель на распространителе SQL Server с помощью среды Среда SQL Server Management Studio, Transact-SQL или объектов RMO. Дополнительные сведения о настройке распространителя см. в разделе Настройка распространителя.

ПримечаниеПримечание

Издатель Oracle не может иметь то же имя, что и его распространитель SQL Server, или имя любого из издателей SQL Server, использующих тот же распространитель.

При идентификации баз данных Oracle в качестве издателя необходимо выбрать параметр публикации Oracle: «Complete» или «Oracle Gateway». После идентификации издателя изменить данный параметр без удаления и перенастройки издателя невозможно. Параметр «Complete» предназначен для обеспечения публикаций моментальными снимками и публикаций транзакций полным набором поддерживаемых функций, необходимых для публикаций Oracle. Параметр «Oracle Gateway» обеспечивает оптимизацию производительности для случаев, когда шлюзом между системами выступает репликация.

После идентификации издателя Oracle на распространителе SQL Server репликация создает связанный сервер с таким же именем, как и служба TNS базы данных Oracle. Этот связанный сервер может использоваться только репликацией. Если необходимо подключиться к издателю Oracle через соединение связанного сервера, создайте другое имя службы TNS и используйте его имя при вызове sp_addlinkedserver (Transact-SQL).

Настройка издателя Oracle и создание публикации