Поделиться через


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

Область применения: SQL Server

В этом разделе описывается создание публикации из базы данных Oracle в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

В этом разделе

Перед началом

Необходимые компоненты

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

Использование среды SQL Server Management Studio

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

При первом создании публикации из базы данных Oracle необходимо определить издателя Oracle на распространителю SQL Server (для последующих публикаций из той же базы данных не требуется). Определение издателя Oracle можно выполнить из мастера создания публикации или диалогового окна "Свойства распространителя - <распространитель". В этом разделе показаны свойства распространителя> — <диалоговое окно "Распространитель>".

Идентификация издателя Oracle на распространителе SQL Server

  1. В СРЕДЕ SQL Server Management Studio подключитесь к экземпляру SQL Server, который издатель Oracle будет использовать в качестве распространителя, а затем разверните узел сервера.

  2. Щелкните правой кнопкой папку Репликация , затем щелкните Свойства распространителя.

  3. На странице "Издатели" диалогового окна "Свойства распространителя - <распространитель>" нажмите кнопку "Добавить" и нажмите кнопку "Добавить издателя Oracle".

  4. В диалоговом окне Соединение с сервером нажмите кнопку Параметры .

  5. На вкладке Имя входа выполните следующие действия:

    1. Введите имя экземпляра базы данных Oracle или выберите Продолжить обзор в поле со списком Экземпляр сервера .

    2. Для выбора доступны Стандартная проверка подлинности Oracle (рекомендуется) или Проверка подлинности Windows.

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

    3. Если установлен флажок Стандартная проверка подлинности Oracle, введите имя входа и пароль схемы администратора репликации, созданной на издателе Oracle во время настройки.

  6. На вкладке Свойства соединения выберите тип издателя Шлюз или Полный.

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

  7. По щелчку Соединитьсяустанавливается соединение с издателем Oracle и выполняется его настройка для репликации. Диалоговое окно "Подключение к серверу " закрывается и возвращается в диалоговое окно "Свойства распространителя - <распространитель> ".

    Примечание.

    Если имеются какие-либо проблемы с конфигурацией сети, в этом месте выводится сообщение об ошибке. Если при подключении к базе данных Oracle возникают проблемы, см. подраздел «Распространитель SQL Server не может подключиться к экземпляру базы данных Oracle» в разделе Troubleshooting Oracle Publishers.

  8. Нажмите ОК.

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

  1. Подключитесь к экземпляру SQL Server, который издатель Oracle будет использовать в качестве распространителя, а затем разверните узел сервера.

  2. Раскройте папку Репликация .

  3. Щелкните правой кнопкой папку Локальные публикации , затем щелкните Создать публикацию Oracle.

  4. На странице Издатель Oracle мастера создания публикации выберите издателя Oracle. Если издатель Oracle не отображается, щелкните Добавить издатель Oracle, чтобы выполнить шаги из предыдущей процедуры.

  5. На странице Тип публикации выберите Публикация моментальных снимков или Публикация транзакций.

  6. На странице Статьи выберите объекты базы данных, которые нужно опубликовать.

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

  7. На странице Фильтрация строк таблицы примените при необходимости фильтры для публикации подмножества данных из одной или более таблиц.

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

  9. На странице Безопасность агента укажите учетные данные для агента моментальных снимков (для всех публикаций) и агента чтения журнала (для публикаций транзакций). Агенты выполняются и делают подключения к распространителю SQL Server с помощью контекста указанной учетной записи Microsoft Windows. Агенты выполняют подключения к базе данных Oracle, используя контекст учетной записи, указанной в качестве схемы администратора репликации. Дополнительные сведения см. в статье Настройка издателя Oracle.

    Дополнительные сведения о разрешениях, необходимых для каждого агента, см. в разделе Replication Agent Security Model и Replication Security Best Practices.

  10. На странице Действия мастера можно создать при необходимости скрипт публикации. Дополнительные сведения см. в разделе Scripting Replication.

  11. На странице Завершение работы мастера укажите имя публикации.

Использование Transact-SQL

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

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

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

  2. Если удаленный распространитель не существует, настройте удаленный распространитель. Дополнительные сведения см. в статье Configure Publishing and Distribution.

  3. На удаленном распространитете, который будет использовать издатель Oracle, выполните sp_adddistpublisher (Transact-SQL). Задайте имя TNS (Transparent Network Substrate) экземпляра базы данных Oracle для @publisher и значение ORACLE или ORACLE GATEWAY для @publisher_type. Specify режим безопасности, используемый при подключении издателя 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), чтобы создать публикацию. Дополнительные сведения см. в разделе Create a Publication.

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