Skip to content

Latest commit

 

History

History
42 lines (26 loc) · 3.55 KB

File metadata and controls

42 lines (26 loc) · 3.55 KB
title The Oracle CDC Instance
description The Oracle CDC Instance
author chugugrace
ms.author chugu
ms.date 03/14/2017
ms.service sql
ms.subservice integration-services
ms.topic concept-article

The Oracle CDC Instance

[!INCLUDE oracle-cdc-retirement]

The Oracle CDC Instance is a process created by the Oracle CDC Service to process changes captured from a single Oracle source database. The Oracle CDC Instance retrieves its configuration from the cdc.xdbcdc_config table and maintains its state in the cdc.xdbcdc_state table. These tables are part of the CDC database, which defines the Oracle CDC Instance. For more information about the xdbcdc database and tables see The CDC Databases.

The following describes the tasks carried out by the Oracle CDC instance:

  • Handling service startup verification: When started, the CDC instance loads its configuration from the xdbcdc_config table and performs a series of status verifications that ensure that the CDC instance persisted state is consistent and that it can start processing changes.

  • Preparing for change capture: When the verification passes successfully, the Oracle CDC Instance scans all of the capture instances currently defined and prepares the Oracle LogMiner queries and other support structures required for change capture. In addition, the Oracle instance re-loads the internal capture state that was saved the last time the Oracle CDC Instance run.

  • Capturing changes from Oracle: The Oracle CDC Instance pools changes from Oracle by means of the Oracle LogMiner facility, orders them in according to transaction commit, and then changes the time in a transaction and writes them to the [!INCLUDEssNoVersion] change tables in the CDC database.

  • Handling service shutdown: The life cycle of the Oracle CDC Instance is managed by the Oracle CDC Service. When the Oracle CDC Instance is requested to shut down, it performs the following tasks:

    • Stops reading from the Oracle transaction log.

    • Stops writing completed Oracle transactions to the CDC database.

    • Waits for up to 30 seconds (if necessary) until the current transaction finishes writing to the CDC database. If more than 30 seconds pass, the writing is cancelled and transaction is rolled back (to be retried when the CDC instance is restarted).

    • In a separate thread, writes as many memory-cached records as possible to the staged transactions table for up to 30 seconds (from the oldest transaction to the newest), then updates the xdbcdc_state table and commits all the changes.

  • Handling configuration changes: The Oracle CDC Instance is notified about configuration changes either from the CDC Service or by detecting a new version in the cdc.xdbcdc_config table. Most changes do not require the restart of the Oracle CDC Instance (for example, adding or removing capture instances). However, some changes, such as changing the Oracle connection string or access credentials do require the restart of the CDC Instance.

  • Handling recovery: When an Oracle CDC Instance starts its internal state is restored from the xdbcdc_state and the xdbcdc_staged_transactions tables. Once the state is restored, the CDC instance proceeds as usual.

See Also

Error Handling