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


Экземпляр CDC Oracle

Внимание

Запись измененных данных для Oracle по Attunity устарела. Дополнительные сведения см. в объявлении.

Экземпляр Oracle CDC — это процесс, создаваемый службой Oracle CDC Service для обработки изменений, отслеживаемых в одной базе данных-источнике Oracle. Экземпляр Oracle CDC получает свою конфигурацию из таблицы cdc.xdbcdc_config и передает данные о своем состоянии в таблицу cdc.xdbcdc_state . Эти таблицы являются частью базы данных CDC, которая определяет экземпляр Oracle CDC. Дополнительные сведения о базе данных и таблицах xdbcdc см. в разделе The CDC Databases.

Далее описываются задачи, выполняемые экземпляром Oracle CDC.

  • Обработка проверки запуска службы. При запуске экземпляр CDC загружает свою конфигурацию из таблицы xdbcdc_config и выполняет ряд проверок состояния. Цель этой проверки — убедиться, что сохраненное состояние экземпляра CDC согласовано, а экземпляр может начать обработку изменений.

  • Подготовка к отслеживанию изменений. Если проверка прошла успешно, экземпляр Oracle CDC просматривает все существующие экземпляры отслеживания, подготавливает запросы средства интеллектуального анализа журнала Oracle и другие вспомогательные структуры, необходимые для отслеживания изменений. Кроме того, экземпляр Oracle заново загружает внутреннее состояние отслеживания изменений, сохраненное в последний раз, когда выполнялся этот экземпляр Oracle CDC.

  • Запись изменений из Oracle: пулы экземпляров Oracle CDC изменяются из Oracle с помощью объекта Oracle LogMiner, упорядочивает их в соответствии с фиксацией транзакций, а затем изменяет время транзакции и записывает их в таблицы изменений SQL Server в базе данных CDC.

  • Обработка завершения работы службы. Жизненным циклом экземпляра Oracle CDC управляет служба Oracle CDC. Получив команду завершения работы, экземпляр CDC Oracle выполняет следующие задачи:

    • прекращает чтение журнала транзакций Oracle;

    • прекращает запись завершенных транзакций Oracle в базу данных CDC;

    • ждет до 30 секунд (при необходимости), пока текущая транзакция не закончит запись в базу данных CDC. Если прошло более 30 секунд, операция записи отменяется и транзакция откатывается (при повторном запуске экземпляра CDC она будет выполнена заново);

    • в отдельном потоке в течение не более 30 секунд записывает как можно больше кэшированных в памяти записей в промежуточную таблицу транзакций (от самой старой до самой новой), затем обновляет таблицу xdbcdc_state и выполняет фиксацию всех изменений.

  • Обработка изменений конфигурации. Экземпляр Oracle CDC получает сообщение об изменении конфигурации от службы CDC или обнаруживает новую версию в таблице cdc.xdbcdc_config . Большинство изменений (например, добавление или удаление экземпляров отслеживания) не требуют перезапуска экземпляра Oracle CDC. Однако при внесении некоторых изменений, например строки подключения Oracle или учетных данных доступа, экземпляр CDC необходимо перезапустить.

  • Обработка восстановления. При запуске экземпляра Oracle CDC его внутреннее состояние восстанавливается из таблиц xdbcdc_state и xdbcdc_staged_transactions . После восстановления состояния экземпляр CDC продолжает работу как обычно.

См. также

Обработка ошибок