Autor: Adam Leszczyński <[email protected]>, version: 1.6.1, date: 2024-07-15 |
This document describes messages of OpenLogReplicator which are written to the log.
The following message levels are used:
-
Errors — Some functionality is not available, user should review the message and take appropriate action. In some cases, the program may abort. Messages can be suppressed by setting the
trace
parameter to0
. -
Warnings — Something is not correct, but may be intentional or not critical. Messages can be suppressed by setting the
trace
parameter to1
. -
Information — Program status. Messages can be suppressed by setting the
trace
parameter to2
. -
Debug — Debugging information. Messages can be suppressed by setting the
trace
parameter to3
. -
Trace — Detailed information about program internals. Messages are controlled by the
trace
parameter. Parameterlog-level
is not relevant for tracing.
Important
|
By default, all error, warning and info messages are printed — trace parameter is set to value 3 .
|
Tip
|
The documentation doesn’t discuss Trace messages in detail. Those messages aren’t intended to be used by users. Format can change without notice. |
The following messages may be printed during program execution:
Errors related to program execution.
The provided file is missing or can’t be opened for reading. Check if the file exists and has the correct permissions. Verify filesystem integrity and operating system log messages.
Attempt to create an exclusive lock on the file has failed. Check if another process is running (perhaps another instance of OpenLogReplicator).
Tip
|
You can list file handles using operating system lsof command.
Refer to operating system documentation about locking files.
|
Reading file metadata failed. Check if the file is not corrupted. Verify operating system log messages.
File size is too large or is empty. Check if the file is not corrupted.
Read operation processed fewer bytes than expected. Check if the file system is not corrupted and disk-containing file is available.
The file couldn’t be opened for write. If the file didn’t exist, it would be created. Verify if the file exists and has the correct permissions. Verify folder write permissions if a file is to be created.
code 10007: "file: <file name> - <number> bytes written instead of <number>, code returned: <message>"
Write operation processed fewer bytes than expected. Check if the file system is not corrupted and disk-containing file is available. Verify disk space availability.
Apple/iOS only. Setting of the redo log file to no cache mode failed. Verify if the file exists and has the correct permissions. Verify if the file is not corrupted. Check operating system log messages.
The file couldn’t be opened after several attempts. Verify if the file exists and has the correct permissions. Verify folder read permissions if file is to be read.
File remove failed. Verify if the file exists and has the correct permissions. Verify if the file is not corrupted and contains correct JSON content. Verify operating system log messages and filesystem integrity.
File seek failed. Verify if the file exists and has the correct permissions. Verify operating system log messages and filesystem integrity.
Reading the contents of the directory failed. Verify if the directory exists and has the correct permissions. Verify operating system log messages and filesystem integrity.
Thread creation failed.
Tip
|
Verify if there is a limit set in the OS related to the number of threads. |
Stacktrace for thread is printed. This message is printed when the program is terminated by a signal.
Tip
|
Stacktrace can be forced by sending SIGUSR1 signal to the program. |
This message is printed when the program is terminated by a signal.
Memory allocation failed.
Verify if the provided min-mb
and max-mb
parameters are correct and match amount of memory available in the operating system.
Configured amount of memory doesn’t allow processing provided stream of redo log files. Refer to suggestions for details about reducing memory allocation.
Tip
|
Increase max-mb parameter to allow more memory to be used.
|
Memory allocation from heap failed. Verify if the host contains enough memory to run the program. If the problem persists, please report this issue.
Important
|
Some memory structures are allocated adhoc and not from the pool defined with min-mb and max-mb parameters.
For example for storing schema (copy of content of database SYS.* tables).
This message is printed when such allocation fails.
|
The code is compiled using the old GCC compiler which technically has regex support, but it is not complete. Use GCC version 4.9 or newer.
The program starts at startup if regex support actually works.
The program is run as root. It is not recommended to run the program as root. Run the program as a normal user.
Note
|
Although technically it should be possible to run a program as root user, this should never be done even for testing environment. The program is designed to run as a normal user. Running a root user may cause security issues. Even for development or test environments, keep the program running as a normal user. |
The source database must be running in ARCHIVELOG mode. Verify if the database is running in ARCHIVELOG mode.
The database is missing minimal supplemental log information. Verify that the database is configured correctly.
Reading SYS.V_$DATABASE
returned no data.
Verify that the database user has grants to read SYS.V_$DATABASE
system table.
Refer to database documentation for more information.
The database is a standby database. The database must be a primary database when time defines starting position. Start replication when the database is primary and later switch to the standby database.
The database function TIMESTAMP_TO_SCN
failed to convert provided timestamp to SCN.
Replication is defined to start from a specific timestamp, but the provided timestamp value is not accepted by the database.
Verify if the timestamp is correct.
The database is a standby database. The database must be a primary database when relative time defines starting position. Start replication when the database is primary and later switch to the standby database.
For a given group of online redo logs, no file is available to read. Verify if path mapping is correctly configured and files are available for reading from the location where OpenLogReplicator is running. Verify file and path permissions/ownership.
Program started with offline
reader type but no starting sequence is available.
Verify parameters for replication start.
Executing a query to read current SCN from a database failed. Verify if the database is available.
Executing a query to read the current database sequence value for provided SCN failed. Verify if the database is available.
The operation of determining the starting SCN failed. Verify if the database is available. Report this issue if the problem persists.
Reading of database parameter failed. Verify if the parameter exists and has the correct value.
Reading of database property failed. Verify if the property exists and has the correct value.
Verify if the database user has grants to read the provided table. Refer to database documentation for more information.
Tip
|
Verify if the grant script was executed successfully. |
During startup when online
reader is chosen the full schema must be read from the database.
To achieve full consistency, all database queries use flashback to read the contents of system tables for the provided SCN number.
The flashback query failed.
Verify if the database is available.
Tip
|
Run initial replication of replication during a less active period |
Tip
|
Run initial replication on a copy of the database which is not modified |
Tip
|
Provide starting SCN number less away in time. The SCN number must be within the retention period of the database. |
The database is running as standby, but the list of standby redo log files couldn’t be read from the database. Verify if the database is available.
The list of online redo log files couldn’t be read from the database. Verify if the database is available.
Data read from system dictionaries is invalid. Please report this issue.
Updating the list of online redo log files failed. Verify if the files exist and have the correct permissions.
Program started with offline
reader type but no schema file is available.
Verify if the schema file exists and has the correct permissions.
One of the columns defined as a primary key is not present in the table definition. Verify if the table definition is correct.
Character set defined in the database is invalid. Please report this issue.
Provided configuration for a mapping path is too long.
Verify if the path is correct.
Verify path-mapping
configuration parameter.
Tip
|
If still the problem persists and just you expect to have a so extraordinary long path which would exceed the limit of length, please report this issue. |
When starting with offline mode, it is expected that the checkpoint file contains the location of archived redo logs. Verify if the checkpoint file contains the location of archived redo logs.
The given resetlogs value is not found in the list of available incarnations. Verify if the resetlogs value is correct. Verify the content of the checkpoint file.
National character set defined in the database is invalid. Please report this issue.
Processing of archived redo log file failed. Verify if the file exists and has the correct permissions. Verify if the file is not corrupted.
An unknown error appeared during processing of archived redo log file. Please report this issue.
An unknown error appeared during processing of online redo log file. Please report this issue.
Initialization of Oracle environment failed. Check if the Oracle client is installed and configured correctly.
Database connection error. Verify if the database is available.
Schema is missing for batch mode.
Tip
|
If you don’t have an earlier schema but wish to continue having no information about column names and types, try with schemaless mode ('flags': 2 ).
Refer to the documentation for more information about
schemaless mode.
|
Network operation of receiving data from a client failed. Verify if the network is available and if the network is not overloaded.
Network operation of sending data to a client failed. Verify if the network is available and if the network is not overloaded.
The message received from a client is incomplete. Verify if the network is available and if the network is not overloaded.
The client has closed network connection. Verify if the network is available and if the network is not overloaded.
Kafka library returned a fatal error. Verify if the Kafka server is available and if the network is not overloaded.
Kafka configuration can’t be created. Check if the configuration file contains valid content.
Kafka library returned error during initialization. Verify provided Kafka parameters.
Kafka producer creation failed. Verify the provided Kafka parameters.
Network error appeared during sending or receiving data. Verify if the network is available and if the network is not overloaded.
Network connection failed. Verify if the network is available and if the network is not overloaded.
Client can’t connect to ZeroMQ server. Verify if the ZeroMQ server is available and if the network is not overloaded.
Server can’t bind to ZeroMQ socket. Verify if the ZeroMQ server is available and if the network is not overloaded. Verify if another process is not running on the same port.
Creation of ZeroMQ context failed. Verify if the ZeroMQ library is installed and available.
Initialization of ZeroMQ socket failed. Verify if the ZeroMQ library is installed and available.
The module which builds output stream is out of memory. Stream building is suspended until memory is released. If possible, configure higher memory limits.
Database parameter DBTIMEZONE
has an invalid value.
Please report this issue.
Timestamp value is invalid. Please report this issue.
The value of environment variable OLR_LOG_TIMEZONE
is invalid.
Errors related to syntax and content of configuration file and checkpoint files.
Parsing configuration file failed. Check if the file is not corrupted. Verify the content of JSON file using online JSON validator.
If the checkpoint file belongs to another database, verify if the database name is correct.
Having an incorrect checkpoint file makes it impossible to start replication. If it is not possible to fix the checkpoint file, remove it and start replication from the beginning.
Transaction ID (XID) number is in incorrect format provided in the configuration file. This value has a wrong format and can’t be parsed. Check if the file is not corrupted. Refer to the documentation for more information about XID format.
Parsing of a JSON file failed. The file contains invalid data. Verify if file content is a valid JSON.
Identifier used for metadata for table or owner name is too long. Verify if the name is correct. Verify if the name is not too long.
Checkpoint file contains invalid data. Verify if file content is a valid JSON.
The file is not a valid archived redo log file. Verify if the file exists and has the correct permissions. Verify if the file is not corrupted and contains correct JSON content.
After starting of replication and collecting schema file, OpenLogReplicator monitors all tables in the database such match defined schema and user mask. If replication is stopped, the configuration file should not be altered and new schemas can’t be added to the list of replicated tables. If such an event happens, replication can’t start, and the following message is printed. This error reports that either a schema is missing or is redundant compared to the main configuration file (OpenLogReplicator.json).
Parameters defined to start OpenLogReplicator have incorrect values.
The value of the field is not correct. Check if the file contains valid content.
code 30002: "invalid arguments, run: <binary name> [-v|--version] or [-f|--file CONFIG] default path for CONFIG file is <file name>"
Invalid arguments were passed to the program. Check if the program was started correctly.
Table owner contains lower case characters. Table owner must be in the upper case. Please report this issue.
Table name contains lower case characters. Table owner must be in the upper case. Please report this issue.
Syntax error in output
parameter.
Verify if the parameter is correct.
Probably there is a single %
character but not followed by proper format.
File name is defined as a static file name without rotation.
For such cases the append
parameter must be set to 1.
code 30007: "output file is with no max file size: <output> - 'max-file-size' must be defined for output with rotation"
File is defined with rotation but no maximum file size is set.
Define max-file-size
parameter.
URI is missing a ':'
character.
Verify if the URI is correct.
One of the parameters for Kafka writer is defined twice.
Some data in redo log files aren’t correct. The data doesn’t need the model requirements of OpenLogReplicator or is corrupted.
Block size in the header of the file doesn’t match the expected value. Verify if the file is not corrupted. If the problem persists, please report this issue.
Block number doesn’t match the expected value. Verify if the file is not corrupted. If the problem persists, please report this issue.
Invalid header read from the file. Verify if the file is not corrupted. If the problem persists, please report this issue.
Invalid header read from the file. Verify if the file is not corrupted. If the problem persists, please report this issue.
Block size in the header of the file doesn’t match the expected value. Verify if the file is not corrupted. If the problem persists, please report this issue.
The database version in the header of the file doesn’t match the expected value. Verify if the file is not corrupted. If the problem persists, please report this issue.
The database version in the header of the block doesn’t match the expected value. Verify if the file is not corrupted. If the problem persists, please report this issue.
The first scn value reported in the header of the block doesn’t match the expected value. Verify if the file is not corrupted. If the problem persists, please report this issue.
The next scn value reported in the header of the block doesn’t match the expected value. Verify if the file is not corrupted. If the problem persists, please report this issue.
Provided below is a list of internal errors which should never appear. If you encounter any of these errors, please report this issue.
The experimental feature to decode binary xmldata has been turned on, but the metdata contains no xml dictionary data. Please consider recreating schema checkpoint files: stop replication, delele content of checkpoint folder, and restart to recreate the schema file.
This warning is most probably related to using schemaless mode with IOT tables. In this case, please try to use schema mode instead. If the problem persists, please report this issue.
Might be related to extensive using of dbms_lob package. In this case, please try to use direct DML operations for LOB columns instead. If the problem persists, please report this issue.
See comment for warning 60002.
See comment for warning 60002.
code 60005: "missing LOB data (new in-value) for xid: <xid,> LOB: <lob>, page: <number>, obj: <number>"
See comment for warning 60002.
See comment for warning 60002.
The character field contained a character code which is invalid and can’t be decoded. If the field is not character, and the data is expected to be correct, please report this issue.
This warning could appear during replication startup. It means that the beginning of the transaction appeared probably before replication startup.
Received commit for a transaction which started before replication startup. The transaction is discarded.
The log dump is aborted because there was a problem with creating a file for the dump.
In spite of redo log data error, the redo log is processed. A message has been printed with the error which appeared during parsing. Investigate the error anyway and verify if the data is correct.
code 60014: "verify redo log file for OP:10.8, len: <number>, data = [<number>, <number>, <number>, <number>]"
See comment for warning 60002.
A huge transaction has exceeded provided maximum size for transactions.
See comment for warning 60002.
Verify if supplemental logging is enabled for the database. If it is, and even after log switch the warning appears, please report this issue.
Checkpoint file couldn’t be created because of errors. Verify the reason and try to fix it.
Schema missing in checkpoint file. Verify if the file is correct. If the problem persists, please report this issue.
Adaptive schema load failed. The program will continue without any schema. Verify if the file is correct. If the problem persists, please report this issue.
See comment for warning 60002.
Missing information about tablespace in the database schema. Verify if the tablespace is correct. If the problem persists, please report this issue.
Unexpected end of redo log file. Verify if the file is correct. If the problem persists, please report this issue.
Invalid information about a redo log sequence in the header. Verify if the file is correct. If the problem persists, please report this issue.
code 60025: "file: <file name> block: <number> - invalid header checksum, expected: <number>, calculated: <number>"
Invalid checksum in the redo log header. Verify if the file is correct. If the problem persists, please report this issue.
Stripped trailing '/' from the parameter value from the path parameter.
Missing archive log file. Verify if the file is correct. If the problem persists, please report this issue.
code 60028: "can’t get sequence from file: <file name> log_archive_format: <string> at position <number> format position <number>, <problem>"
Invalid archive log file name. Verify if the file is correct. If the problem persists, please report this issue.
The defined maximum size for the file is too small to write a single message. Increase the size.
code 60030: "rotation size is set too low (<number>), increase it, should rotate but too early (<file name>)"
The parameter for rotation size is too small. Increase the number.
The queue for redo log data is full. The program will sleep for a while and then retry. Investigate the reason why the receiver is not able to process the data fast enough.
Invalid request data received by the network client.
Reading file metadata failed. Check if the file is not corrupted. Verify operating system log messages.
The client requested a database which is not configured in the program.
code 60037, "observed UPDATE operation for NOT NULL column with NULL value for table <owner>.<table> column <column>"
There could be cases that due to some upgrades from old versions or other unknown reasons, the BEFORE image for UPDATE command contains NULL value for a column that has been defied as NOT NULL.
By default, OpenLogReplicator would just print the informational message (but just once per column) and continue with the replication.
It is also possible to treat the AFTER image as the correct value and copy it to the BEFORE image of the column value. This feature is experimental. To achieve this behavior, the flags parameter should be set appropriately.
Provided below is a list of internal warnings which should never appear. If you encounter any of these warnings, please report this issue.