19.2 Реализация репликации
Репликация основана на том, что исходный сервер отслеживает все изменения в своих базах данных (обновления, удаления и т. д.) в своем двоичном журнале. Двоичный журнал служит записанным отчётом обо всех событиях, которые изменяют структуру или содержимое (данные) базы данных с момента запуска сервера. Обычно, SELECT операторы не записываются, поскольку они не изменяют ни структуру, ни содержимое базы данных.
Каждый репликатор, подключенный к источнику, запрашивает копию двоичного журнала. То есть, он получает данные из источника, а не источник отправляет данные репликатору. Репликатор также выполняет события из двоичного журнала, которые он получает. Это приводит к повторению исходных изменений точно так же, как они были внесены на источнике. Таблицы создаются или изменяется их структура, а данные вставляются, удаляются и обновляются в соответствии с изменениями, которые были первоначально внесены на источнике.
Поскольку каждый репликатор независим, повторное воспроизведение изменений из двоичного журнала источника происходит независимо на каждом репликаторе, подключенном к источнику. Кроме того, поскольку каждый репликатор получает копию двоичного журнала только запросив её у источника, репликатор может читать и обновлять копию базы данных в собственном темпе и может запускать и останавливать процесс репликации по своему усмотрению, не влияя на возможность обновления до последнего состояния базы данных ни на стороне источника, ни на стороне репликатора.
Для получения более подробной информации о специфике реализации репликации см. Раздел 19.2.3, «Потоки репликации».
Исходные серверы и репликаторы регулярно сообщают о своём состоянии относительно процесса репликации, так что вы можете их отслеживать. См. Раздел 10.14, «Просмотр информации о потоках сервера (процесса)» для описаний всех состояний, связанных с репликацией.
Двоичный журнал источника записывается в локальный журнал ретрансляции на репликаторе перед его обработкой. Репликатор также записывает информацию о текущей позиции в двоичном журнале источника и локальном журнале ретрансляции. См. Раздел 19.2.4, «Журнал ретрансляции и хранилища метаданных репликации».
Изменения в базе данных фильтруются на репликаторе в соответствии с набором правил, которые применяются в зависимости от различных параметров конфигурации и переменных, управляющих оценкой событий. Подробности о применении этих правил см. в Разделе 19.2.5, «Как серверы оценивают правила фильтрации репликации».
© 2025 Oracle
Licensed under the GPLv2 License.