Как работает публикация Oracle

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

Репликация моментальных снимков для Oracle

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

Дополнительные сведения о репликации моментальных снимков, см. в разделе Принцип работы репликации моментальных снимков.

Репликация транзакций для Oracle

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

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

Дополнительные сведения о репликации транзакций см. в разделе Как работает репликация транзакций.