Autor: Adam Leszczyński <[email protected]>, version: 1.7.1, date: 2024-10-02 |
This document is a guide for troubleshooting the most common problems with the OpenLogReplicator.
Checkpoint messages indicate that the replication is working correctly. Every message contains the SCN number and timestamp. It confirms that a certain LWN block has been processed. To reduce the number of messages, a checkpoint message is not sent for every LWN.
By default, the Checkpoint messages are disabled. However, they are a good indicator for checking if the replication is working correctly. They also can be treated as heartbeat messages.
If you want to include checkpoint messages to the target, set the flags
parameter to 0x1000
in the configuration file.
If running OpenLogReplicator gives you a result like:
#> ./OpenLogReplicator
./OpenLogReplicator: error while loading shared libraries: libclntshcore.so.19.1: cannot open shared object file: No such file or directory
This means that the libraries are not correctly linked. Check which libraries are missing, example:
#> ldd OpenLogReplicator
linux-vdso.so.1 => (0x00007fff75ddd000)
libasan.so.0 => /lib64/libasan.so.0 (0x00007f45c27df000)
libclntshcore.so.19.1 => not found
libnnz19.so => not found
libclntsh.so.19.1 => not found
librdkafka++.so.1 => not found
librdkafka.so.1 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f45c25c3000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f45c22bc000)
libm.so.6 => /lib64/libm.so.6 (0x00007f45c1fba000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f45c1da4000)
libc.so.6 => /lib64/libc.so.6 (0x00007f45c19d6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f45c17d2000)
/lib64/ld-linux-x86-64.so.2 (0x00007f45c576f000)
In the above example, all libraries marked with "not found" are missing. Check that the environment variable LD_LIBRARY_PATH includes paths where the required files are located. If necessary – create appropriate symlinks.
Most possible bottlenecks are:
-
Disk read speed — the reader thread reads all data sequentially using buffering. If the stream of redo log files is greater than the speed of sequential read from disk — delay might appear.
-
Transaction parsing — redo log parsing is done using single thread. If the volume of generated redo log files is higher than the speed of parsing — delay might appear.
-
Output performance — the writer thread sends the transactions to output (sink) using the provided connector. If the target is accepting transactions slower than they are created — delay might appear.