Как создать публикацию из базы данных Oracle (программирование репликации на языке Transact-SQL)

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

Создание публикации Oracle

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

  2. Если удаленный распространитель не существует, настройте удаленный распространитель. Дополнительные сведения см. в разделе Как настроить публикацию и распространение (программирование репликации на языке Transact-SQL).

  3. На удаленном распространителе, который будет использовать издатель Oracle, выполните хранимую процедуру sp_adddistpublisher (Transact-SQL). Укажите имя TNS (Transparent Network Substrate) экземпляра базы данных Oracle в параметре @publisher и значение ORACLE или ORACLE GATEWAY в параметре @publisher_type. Укажите режим безопасности, который будет использоваться при соединении издателя Oracle с удаленным распространителем SQL Server, следующим образом.

    • Чтобы по умолчанию использовать стандартную проверку подлинности Oracle, укажите значение 0 в параметре @security_mode, имя входа административной схемы пользователей репликации, созданной во время настройки издателя Oracle, в параметре @login и пароль в параметре @password.

      Примечание по безопасностиПримечание по безопасности

      При возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения. При хранении учетных данных в файле сценария необходимо защитить этот файл во избежание несанкционированного доступа.

    • Чтобы использовать проверку подлинности Windows укажите в параметре @security_mode значение 1.

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

      Чтобы использовать проверку подлинности Windows, на сервере Oracle должны быть разрешены соединения с помощью учетных данных Windows (дополнительные сведения см. в документации Oracle). Кроме того, необходимо войти в систему с той же учетной записью Microsoft Windows, которая была указана для схемы администратора репликации.

  4. Создайте задание агента чтения журнала для базы данных публикации.

    • Если нет уверенности, что существует задание агента чтения журнала для опубликованной базы данных, выполните хранимую процедуру sp_helplogreader_agent (Transact-SQL) на распространителе, который используется издателем Oracle в базе данных распространителя. В параметре @publisher укажите имя издателя Oracle. Если результирующий набор пуст, необходимо создать задание агента чтения журнала.

    • Если агент чтения журнала для базы данных публикации уже существует, переходите к шагу 5.

    • На распространителе, который используется издателем Oracle в базе данных распространителя, выполните хранимую процедуру sp_addlogreader_agent (Transact-SQL). Укажите учетные данные Windows, с которыми будет запущен агент, в качестве значений параметров @job_login и @job_password.

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

      Параметр @job_login должен соответствовать имени входа, заданного на шаге 3. Не указывайте сведения о безопасности издателя. Агент чтения журнала соединяется с издателем с помощью сведений о безопасности издателя, указанных на шаге 3.

  5. Чтобы создать публикацию, на распространителе в базе данных распространителя выполните хранимую процедуру sp_addpublication (Transact-SQL). Дополнительные сведения см. в разделе Как создать публикацию (программирование репликации на языке Transact-SQL).

  6. В базе данных на распространителе выполните процедуру, описанную в разделе sp_addpublication_snapshot (Transact-SQL). Укажите имя публикации, используемое на шаге 4, в параметре @publication, а учетные данные Windows, с которыми работает агент моментальных снимков, — в параметрах @job_name и @password. Чтобы использовать стандартную проверку подлинности Oracle при подключении к издателю, требуется также указать значение 0 в параметре @publisher_security_mode и сведения об имени входа Oracle для параметров @publisher_login и @publisher_password. Будет создано задание агента моментальных снимков для публикации.