Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 2.85 KB

troubleshooting.adoc

File metadata and controls

79 lines (60 loc) · 2.85 KB

Troubleshooting Guide

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.

Configuration topics

Show checkpoint messages

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.

Runtime errors

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.

Performance issues

CPU saturation

Most possible bottlenecks are:

  1. 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.

  2. 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.

  3. 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.