Understanding Oracle Change Data Capture – Concept, Evolution, Technology

Understanding Oracle Change Data Capture – Concept, Evolution, Technology

Oracle Database, better known as Oracle DBMS, is a database management system marketed by Oracle Corporation. Oracle was released for commercial application in 1979, and is used for running OLTP (Online Transaction Processing), DW (Data Warehousing), and mixed loads of OLTP and DW. 

The Concept of Oracle CDC Explained 

Among the key features offered by Oracle DBMS is Oracle CDC (Change Data Capture), which tracks, captures, and records any changes made to the Oracle database. The typical forms of changes monitored are insert, delete, and update of data. This technology is a part of the Replication feature of Oracle, where CDC identifies changes and stores them in a relational format to be used in ETL, EAI, and other applications. 

Oracle CDC is a cost-effective option for users of the Oracle database. The cost of data warehousing is low since CDC extracts and stores data incrementally in real time. Only changes to a database are picked up, and there is no need to refresh entire databases each time a change is noted in the source database. With low running system costs, organizations have an advantage when using Oracle CDC.

Oracle Change Data Capture is a software design pattern used by businesses internationally to track and record changes made to source databases. Based on these changes, businesses can carry out data analytics in real-time and take measures to increase operating efficiencies and get ahead of the competition.  

Functions of Oracle Change Data Capture

Oracle CDC is based on advanced technology that is optimized for various business operations, from replication to speeding up operations, and more. 

With Change Data Capture, data warehousing speeds are significantly increased, thereby taking database availability and performance to another level. Oracle Change Data Capture also helps with data integration in real time across databases, regardless of their location.

However, among the most critical functions of Oracle CDC is replication. It assists database migration from on-premises to the cloud and divests queries to data warehouses or other similar platforms from databases in production. 

When using the Oracle Change Data Capture for replication to a target database, there is no need to shut down the source databases. This is important for large companies for whom database downtime, even if it is for brief periods, can badly impact operating schedules.  

Summarizing the functions, Oracle CDC extracts data from a source database and moves it to a target data storage and warehouse. This is relevant even for incremental data that has been generated after the last data movement has been completed. 

Evolution of Oracle Change Data Capture

The Change Data Capture feature was first launched by Oracle as an out-of-the-box offering with its 9i version. Through this technology, Oracle CDC could track and record changes made to tables in databases. The changes were stored in relevant change tables for use in Extract, Transform, and Load (ETL) applications and kept in databases or data warehouses after the changes were processed and formatted. 

This form of Oracle CDC worked through triggers that were placed in the source tables and set off whenever a change was noticed. However, this CDC form did not find favor with DBAs, who found processing changes very complex and cumbersome.   

Based on this feedback, Oracle made certain changes to the existing CDC and launched it with the 10g version after naming it Oracle Streams. This was a complete change from triggers in the 9i version and worked through the redo logs of the source tables. 

Oracle Streams could automatically identify any changes made in the source database and transfer them to a target database without affecting the speed or performance of databases in any way. 

Unfortunately, even though Oracle CDC was very well-received by users, Oracle withdrew Oracle CDC from their 12c version of Oracle DBMS. Users now had to pay for using Oracle Golden Gate, which had Oracle CDC as a built-in feature, or seek other replication solutions.   

Present Format of Oracle CDC

For Oracle CDC to function effectively, there are two systems that must work in tandem. One is where the changed data is stored, and the other is the system that initiates action based on those changes. These are called the source database, where the changes are identified, and the other is the target system, where the changes are transferred and stored. However, Oracle CDC is also optimized to work when the source and the target databases are the same.  

The changes made to the database at source are through the Oracle Data Integrator of Oracle CDC, which supports two journalizing modes. 

The first is the Simple Journalizing Mode that tracks changes made to data stored in the system. The other is the Consistent Set Journalizing Mode. Here, changes made to a set of data stores need to be tracked after considering the referential integrity between the data stores. 

Types of Oracle Change Data Capture

There are two types of Oracle CDC.     

Synchronous Change Data Capture: In this mode of Oracle Change Data Capture, triggers are placed in the source database, which are activated whenever a change takes place. In this type of CDC, a user must act as a change data publisher with access to the source database tables from where the changes must be tracked and captured. 

Any changes that are made result in new changesets and tables being created. It is done through a script that copies the data, develops the records, and transfers the data to the target database.  

Asynchronous Change Data Capture: In this mode of Oracle CDC, data is sent to the redo log files, and changed data can be captured after an SQL statement performs a DML activity. Transactions here are not affected by CDC, as the changed data is not a part of the transaction that led to the changes in the source table. 

Please follow and like us:

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *