Before diving into the various aspects of Oracle CDC (Change Data Capture), let us first understand what Change Data Capture as a standalone feature is all about.
Change Data Capture is a software pattern that tracks and monitors all changes made to a source database. Action is thereafter taken on these changes as required by businesses. Change Data Capture also integrates data by identifying, capturing, and delivering it to a target location from the source database.
We will now go into the intricacies of Oracle CDC, from its development to its benefits and forms. We will also examine why this technology is much-used today in database management systems and how it boosts database performance while lowering DBMS costs.
The Development of Oracle Change Data Capture
The main goal of Oracle CDC was to track and record all changes, such as delete, insert, and update. These changes, made to user tables in the source database, were stored in change tables to be processed and moved to target locations like data warehouses or other databases. This process was done by the ETL (Extract, Transform, and Load) application.
However, this form of the Oracle CDC technology was not received well by DBAs. The drawback was that if it had to work optimally, triggers had to be placed in the source databases that were set off whenever a change was recorded. This process affected the performance of databases, considerably slowing them down.
Oracle subsequently took cognizance of this feedback from DBAs and introduced a new model with the 10g version that was named Oracle Streams, which was very well received.
Here, Oracle CDC used the replication tool of Oracle, which was a built-in feature, along with the redo logs of the source database. It had the capability to track all changes made to the source database and move them to the target location without affecting the speed or performance of the source database in any way.
Just when things started to look up for DBAs with the new form of Oracle CDC, they received a setback. Oracle decided to discontinue Oracle Streams from the 12c version of their DBMS. Instead, users either had to pay for using CDC in Oracle Golden Gate or go for paid Change Data Capture features available in other database systems.
How Does Oracle Change Data Capture Work
The main objective of Oracle CDC is to ensure data integration in real-time throughout an organization. This increases the database performance by boosting speed and access to it.
A benefit of this feature is that during data replication or migration from a source to a target, CDC automatically moves incremental data generated after the last data transfer between the two. There is no need for constant refreshes after every change made.
Additionally, advanced tools help Oracle CDC to simultaneously undertake several replication tasks without lowering database performance. These include sorting queries from databases in production to data warehouses or migrating databases to the cloud.
What gives the Oracle CDC feature an edge over others in this niche is that data movement from the source can be done without shutting down the systems. This is a great advantage for large data-driven businesses for whom downtime, even for a limited period, can badly impact operating efficiency.
The main function of Oracle CDC is to capture and maintain the state of the data. Hence, it is typically present in a data repository or a data warehouse environment and can be quickly set up through either application logic, physical storage, or an amalgamation of the two.
Since it was last launched with the 10g version, there has not been any big change in Oracle CDC. The base activity of tracking and monitoring changes made to the source database and later taking action on the changes remains as it was. For the implementation of this feature, it is not required for the source and the target databases to be different; the feature works equally well if both are the same.
What powers Oracle CDC is the Oracle Integrator. It identifies all changes made in the source database to be used in other applications.
The Oracle Integrator is compatible with two journalizing modes. One is the Simple Journalizing mode, where Oracle CDC monitors all changes made to data in a system. The other is the Consistent Set Journalizing mode. Here, Oracle CDC checks the referential integrity of the data between data stores before changes made to the data are tracked.
Benefits of Oracle Change Data Capture
There are three key benefits of using Oracle CDC.
- Oracle CDC captures all changes, such as delete, insert, and update, together with their values, both before and after the changes are made.
- CDC packages publish and subscribe interfaces, such as DBMS_CDC_PUBLISH and DBMS_CDC_SUBSCRIBE
- By using Oracle CDC, the cost of database maintenance is substantially lowered as data extraction can be carried out directly from an Oracle database.
Types of Oracle Change Data Capture
There are two types of Oracle Change Data Capture.
- Synchronous Change Data Capture: Here, triggers are placed on records in a change table. These are activated whenever a change takes place. However, the drawback here is that triggers often adversely affect database performance.
- Asynchronous Change Data Capture: Here, data is received by redo files and Oracle CDC captures changes only when a DML activity is done by a SQL statement.
Since its launch, Oracle CDC has helped organizations seamlessly carry out migration and replication activities.



