OpenLogReplicator basically works a redo log file parser. All information it operates on comes from database redo logs (online or archived). This is a list of information it can read from redo log, parse and sent as JSON message:
- INSERT operation (including multiple row INSERT, but not direct path – INSERT /*+append*/);
- UPDATE operation;
- DELETE operation (including multiple row DELETE).
Tables with following parameters are supported:
- null/not null columns;
- invisible columns;
- columns with null and default values;
- up to 1000 columns (database maximum);
- row chaining/migration;
- partial rollbacks (rollback to savepoint);
- partitioned tables;
- tables with rowdependencies.
Transactions that are rolled back are not processed. Transactions are processed as soon as they are committed (not earlier).
List of supported column types (with internal Oracle codes):
- 1 – varchar2/nvarchar2 (list of supported character sets);
- 2 – number/float;
- 12 – date;
- 23 – raw;
- 96 – char/nchar (list of supported character sets);
- 100 – binary_float;
- 101 – binary_double;
- 180 – timestamp;
- 181 – timestamp with time zone.
If a table contains column types which are not supported – “?” value is presented in JSON output.
Changes in the schema are supported.