Adam Leszczyński

Oracle database: replicating objects from SYS schema

One of the most confusing with Oracle replication tools is the inability to track changes of tables owned by SYS, SYSTEM or CTXSYS. Many system tables are internally using cluster type. Since the latest version OpenLogReplicator supports cluster tables it is now possible track also tables in SYS schema and send changes as events to […]

Oracle database: replicating objects from SYS schema Read More »

OpenLogReplicator – replication latency

Replication latency is one of the key indicators of good replication. When I started working on OpenLogReplicator one of my key tasks was to keep the latency as low as possible. What does that mean? When a client commits a transaction and the database confirms that the transaction is committed – it means that the

OpenLogReplicator – replication latency Read More »

logdump output errors for tables with ROWDEPENDENCIES

Every Oracle database user assumes that the output of the logdump command should provide a valid output. During testing of OpenLogReplicator I came across something strange. It appears that the output of OpenLogReplicator logdump mode is better than the original output of Oracle database logdump command. Maybe I am wrong? Let’s create a test scenario

logdump output errors for tables with ROWDEPENDENCIES Read More »

OpenLogReplicator – logdump functionality

A side product of OpenLogReplicator is the ability to create logs which are in a very simular form as the logdump command from Oracle database. To create such dump you need to configure parameter in the OpenLogReplicator CFG file. There are 2 allowed values: create classic ‘logdump’ output create classic ‘logdump’ output enhanced with interpretation

OpenLogReplicator – logdump functionality Read More »

OpenLogReplicator – chained row support

The OpenLogReplicator with the new release 0.2.0 has been extended to support chained rows. A chained row can appear when there is a bigger DML operation or the table uses more than 254 columns. This is an example of a table which uses 1000 columns. The table definition is: CFG definition file of OpenLogReplicator contains

OpenLogReplicator – chained row support Read More »

OpenLogReplicator – Delete row piece (OP 11.3) and Truncate table (OP 24.1)

The OpenLogReplicator has been a new release 0.0.8 with new functionality: Added rowid field to JSON (Kafka target) Support for OP code 11.3 – Delete Row Piece Support for OP code 24.1 – DDL: Truncate table (only Kafka target) Here is an example of usage. Let’s create a table: CREATE TABLE SYSTEM.ADAM3( A NUMERIC );

OpenLogReplicator – Delete row piece (OP 11.3) and Truncate table (OP 24.1) Read More »

OpenLogReplicator – Insert multiple rows (OP 11.11)

The OpenLogReplicator has been extended to support also OP code 11.11 – Insert Multiple Rows. This type of redo record is used when an INSERT is used with a set of rows to be inserted. For example with INSERT … SELECT … . Here is an example of usage. Let’s create a table: CREATE TABLE

OpenLogReplicator – Insert multiple rows (OP 11.11) Read More »

OpenLogReplicator – CDC replication from Oracle to Redis

OpenLogReplicator – the first open-source transaction replicator (CDC) to Kafka now supports also Redis as a target. Check the new released version 0.0.3 (compiled for x86_64). It requires additionally the hiredis library To run: Testing with Redis: Redis: All transactions are replicated with consistency (MULTI/EXEC). Enjoy!

OpenLogReplicator – CDC replication from Oracle to Redis Read More »

OpenLogReplicator – first log-based open source Oracle to Kafka CDC replication

I have figured out that writing about somebody else’s software is boring. Why not create your own. So here it is: All code GPL v.3 Just C++ code – absolutely no Java/Python or any other interpreted language Purely reading Oracle Redo Log from disk – zero additional load to the database instance High performance architecture

OpenLogReplicator – first log-based open source Oracle to Kafka CDC replication Read More »