Создание публикации из базы данных Oracle
В этом разделе описывается создание публикации из базы данных Oracle в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL.
В этом разделе
Перед началом работы
Для создания публикации из базы данных Oracle используется:
Перед началом
Предварительные требования
- Перед созданием публикации необходимо установить программное обеспечение Oracle на распространитель Microsoft SQL Server и настроить базу данных Oracle. Дополнительные сведения см. в статье Настройка издателя Oracle.
Использование среды SQL Server Management Studio
Создать публикацию моментальных снимков или публикацию транзакций из базы данных Oracle можно с помощью мастера создания публикаций.
При первоначальном создании публикации из базы данных Oracle необходимо идентифицировать издатель Oracle на распространителе SQL Server (этого не нужно делать для последующих публикаций из этой же самой базы данных). Определение издателя Oracle можно выполнить с помощью мастера создания публикаций или диалогового окна Свойства распространителя — <распространитель> . В этом разделе показано диалоговое окно Свойства распространителя — <распространитель> .
Идентификация издателя Oracle на распространителе SQL Server
В SQL Server Management Studioподключитесь к экземпляру SQL Server , который будет использоваться как распространитель издателем Oracle, затем раскройте серверный узел.
Щелкните правой кнопкой папку Репликация , затем щелкните Свойства распространителя.
На странице Издатели диалогового окна Свойства распространителя — <распространитель> нажмите кнопку Добавить, а затем — Добавить издателя Oracle.
В диалоговом окне Соединение с сервером нажмите кнопку Параметры .
На вкладке Имя входа выполните следующие действия:
Введите имя экземпляра базы данных Oracle или выберите Продолжить обзор в поле со списком Экземпляр сервера .
Для выбора доступны Стандартная проверка подлинности Oracle (рекомендуется) или Проверка подлинности Windows.
Если выбрана Проверка подлинности Windows, на сервере Oracle должны быть разрешены соединения с помощью учетных данных Windows (дополнительные сведения см. в документации Oracle). Кроме того, необходимо войти в систему с той же учетной записью Microsoft Windows, которая была указана для схемы администратора репликации.
Если установлен флажок Стандартная проверка подлинности Oracle, введите имя входа и пароль схемы администратора репликации, созданной на издателе Oracle во время настройки.
На вкладке Свойства соединения выберите тип издателя Шлюз или Полный.
Параметр Полный обеспечивает публикации моментальных снимков и транзакций полным набором поддерживаемых функций, необходимых для публикаций Oracle. Параметр Шлюз оптимизирует работу системы для случаев, когда шлюзом между системами выступает репликация. Параметр Шлюз нельзя использовать, если одна и та же таблица будет публиковаться в нескольких публикациях транзакций. Если выбран параметр Шлюз, то таблица может использоваться только в одной публикации транзакций и в любом количестве публикаций моментальных снимков.
По щелчку Соединитьсяустанавливается соединение с издателем Oracle и выполняется его настройка для репликации. Диалоговое окно Подключение к серверу закроется, и вы вернелись в диалоговое окно Свойства распространителя — <распространитель> .
Примечание
Если имеются какие-либо проблемы с конфигурацией сети, в этом месте выводится сообщение об ошибке. Если при подключении к базе данных Oracle возникают проблемы, см. подраздел «Распространитель SQL Server не может подключиться к экземпляру базы данных Oracle» в разделе Troubleshooting Oracle Publishers.
Нажмите кнопку ОК.
Создание публикации из базы данных Oracle
Подключитесь к экземпляру SQL Server , который издатель Oracle будет использовать в качестве распространителя, а затем раскройте узел сервера.
Раскройте папку Репликация .
Щелкните правой кнопкой папку Локальные публикации , затем щелкните Создать публикацию Oracle.
На странице Издатель Oracle мастера создания публикации выберите издателя Oracle. Если издатель Oracle не отображается, щелкните Добавить издатель Oracle, чтобы выполнить шаги из предыдущей процедуры.
На странице Тип публикации выберите Публикация моментальных снимков или Публикация транзакций.
На странице Статьи выберите объекты базы данных, которые нужно опубликовать.
При необходимости отфильтруйте столбцы таблицы, раскрыв таблицу и сняв флажки для одного или более столбцов. Щелкните Свойства статьи , чтобы просмотреть и изменить свойства статьи, а также указать при необходимости альтернативные соответствия типов данных. Дополнительные сведения о сопоставлении типов данных см. в статье Указание сопоставления типов данных для издателя Oracle.
На странице Фильтрация строк таблицы примените при необходимости фильтры для публикации подмножества данных из одной или более таблиц.
На странице Агент моментальных снимков снимите флажок Создать моментальный снимок немедленно только в том случае, если созданы все объекты и добавлены все требуемые данные в базу данных подписок.
На странице Безопасность агента укажите учетные данные для агента моментальных снимков (для всех публикаций) и агента чтения журнала (для публикаций транзакций). Агенты запускаются и создают подключения к распространителю SQL Server с использованием контекста указанной учетной записи Microsoft Windows. Агенты выполняют подключения к базе данных Oracle, используя контекст учетной записи, указанной в качестве схемы администратора репликации. Дополнительные сведения см. в статье Настройка издателя Oracle.
Дополнительные сведения о разрешениях, необходимых для каждого агента, см. в разделе Replication Agent Security Model и Replication Security Best Practices.
На странице Действия мастера можно создать при необходимости скрипт публикации. Дополнительные сведения см. в разделе Scripting Replication.
На странице Завершение работы мастера укажите имя публикации.
Использование Transact-SQL
После того как база данных Oracle будет настроена как издатель, можно создать публикацию транзакций или публикацию моментальных снимков точно так же, как из издателя Microsoft SQL Server, с помощью системных хранимых процедур.
Создание публикации Oracle
Настройте базу данных Oracle в качестве издателя. Дополнительные сведения см. в статье Настройка издателя Oracle.
Если удаленный распространитель не существует, настройте удаленный распространитель. Дополнительные сведения см. в статье Configure Publishing and Distribution.
На удаленном распространитее, который будет использовать издатель Oracle, выполните sp_adddistpublisher (Transact-SQL). Укажите имя прозрачной подложки сети (TNS) экземпляра базы данных Oracle для @publisher и значение
ORACLE
илиORACLE GATEWAY
для @publisher_type.Specify
режим безопасности, используемый при соединении с издателем Oracle к удаленному распределителю SQL Server одним из следующих способов:Чтобы использовать стандартную проверку подлинности Oracle, по умолчанию укажите значение 0 для @security_mode, имя входа в схему администратора репликации, созданную на издателе Oracle во время настройки для @login, и пароль для @password.
Важно!
По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. При хранении учетных данных в файле скрипта необходимо защитить этот файл во избежание несанкционированного доступа.
Чтобы использовать проверку подлинности Windows, укажите значение 1 для @security_mode.
Примечание
Чтобы использовать проверку подлинности Windows, на сервере Oracle должны быть разрешены соединения с помощью учетных данных Windows (дополнительные сведения см. в документации Oracle). Кроме того, необходимо войти в систему с той же учетной записью Microsoft Windows, которая была указана для схемы администратора репликации.
Создайте задание агента чтения журнала для базы данных публикации.
Если вы не уверены, существует ли задание агента чтения журнала для опубликованной базы данных, выполните sp_helplogreader_agent (Transact-SQL) на распространитетеле, используемом издателем Oracle в базе данных распространителя. Укажите имя издателя Oracle для @publisher. Если результирующий набор пуст, необходимо создать задание агента чтения журнала.
Если агент чтения журнала для базы данных публикации уже существует, переходите к шагу 5.
На распространитетеле, используемом издателем Oracle в базе данных распространителя, выполните sp_addlogreader_agent (Transact-SQL). Укажите учетные данные Windows, с которыми запускается агент для @job_login и @job_password.
Примечание
Параметр @job_login должен соответствовать имени входа, предоставленному на шаге 3. Не указывайте сведения о безопасности издателя. Агент чтения журнала соединяется с издателем с помощью сведений о безопасности издателя, указанных на шаге 3.
На распространитее в базе данных распространителя выполните sp_addpublication (Transact-SQL), чтобы создать публикацию. Дополнительные сведения см. в разделе Create a Publication.
На распространитее в базе данных распространителя выполните sp_addpublication_snapshot (Transact-SQL). Укажите имя публикации, используемое на шаге 4 для @publication и учетные данные Windows, с которыми выполняется агент моментальных снимков для @job_name и @password. Чтобы использовать стандартную проверку подлинности Oracle при подключении к издателю, необходимо также указать значение 0 для @publisher_security_mode и данные для входа Oracle для @publisher_login и @publisher_password. Будет создано задание агента моментальных снимков для публикации.
См. также:
Настройка издателя Oracle
Публикация данных и объектов базы данных
настроить задание набора транзакции для издателя Oracle (программирование репликации на языке Transact-SQL)
Обзор публикации Oracle
Скрипт для предоставления разрешений Oracle