My Oracle Support Banner

How to Achieve CDC Using Oracle Streams Apply Handler (Doc ID 561431.1)

Last updated on AUGUST 31, 2023

Applies to:

Oracle Database - Enterprise Edition - Version to [Release 10.2 to 11.1]
Oracle Database Cloud Schema Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.


This article provides an example of using a Streams apply handler to achieve CDC (change data capture) like data transformation. While Oracle CDC is primarily designed for change data capture, there are some situations where streams apply handlers can be helpful. Oracle Streams can be particularly useful when certain data transformations are required before loading the data into the target table. Oracle Streams can handle lob datatypes from 10g onwards, where as lobs are not supported in CDC as of 10g. Also additional indexes can be built on the target tables if required. 

In 11.2, Oracle Streams provides the ability to record data manipulation language (DML) changes made to tables using Streams APIs.  For more information, refer to the following document available on Oracle Technology Network (OTN) at

Oracle® Streams Concepts and Administration 11g Release 2 (11.2), Part Number E17069-07
Chapter 20 Using Oracle Streams to Record Table Changes

For information regarding the CDC feature in 10g, refer to: 

Oracle® Database Data Warehousing Guide 10g Release 2 (10.2), Part Number B14223-02
Chapter 16 Change Data Capture


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document
 Sample Code
 Sample Output

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.