Adam Leszczyński

Oracle redo log format community documentation

The format is proprietary and there is no public official document which would describe the structure. Here is a brief summary of various sources which are publicly available. One might think that there is very little information available, but that’s not true. This is a list I have made in the past when I was …

Oracle redo log format community documentation Read More »

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!