The Oracle Change Data Capture feature was launched by Oracle as an in-built tool with its 9i version. Among its features was the ability to monitor changes made to the user tables in a database. These changes were then stored for use in ETL applications in change tables. Users can identify the changes from the records for processing and loading into other databases.
Initially, this form of the Oracle Change Data Capture did not find much favor with the DBAs who considered it to be very complex as triggers had to be created and placed in the source database.
Consequently, Oracle along with its 10g version released a more non-intrusive form of CDC and called it Oracle Streams. In this form, CDC used the replication tool of Oracle along with the redo logs of the source database. Streams was a radical improvement of the previous form of the CDC as it worked by detecting and transferring the changes made to the data at the source to the target database without hurting the performance of the source.
Oracle Streams was well received and became a popular model for Oracle Change Data Capture. But surprisingly, even after the positive feedback, Oracle discontinued CDC as a built-in feature from its 12c version. Users had the choice of opting for the paid version of CDC through Oracle Golden Gate or falling back on any other CDC replication tool of Oracle.
In its present form, the workflow of the Oracle Change Data Capture starts from the point where a change has been made to the data at the source, and based on those changes, some action is required to be taken. This is regardless of whether the source and the target databases are different or both exist within the same system.
The Oracle Change Data Capture tool works through the Oracle Data Integrator to identify changes made to the data at a source used for other applications. The Integrator supports two types of journalizing modes.
The first is the Simple Journalizing Mode where changes that are made to individual data in a system are monitored. The other is the Consistent Set Journalizing Mode where changes made to a set of data stores are monitored after the referential integrity between each data store is considered. Whatever the journalizing mode, DBAs can easily set up the Data Integrator with the Oracle Change Data Capture.
There are several benefits of the Oracle CDC. The first is that the nature of the changes made such as Delete, Update, and Insert, along with the values before and after the changes are captured. Next is the easy availability of optimized packages that ensure easy publishing and subscribing of interfaces such as DBMS_CDC_PUBLISH and DBMS_CDC_SUBSCRIBE packages. Finally, by configuring Asynchronous CDC, there is no impact of CDC on the source database.