Oninit Logo
The Down System Specialists
+1-913-732-8892
+44-2081-337529
Partnerships Contact

Oninit® Log Ripper — CDC Error Codes

The Informix CDC API returns these error codes from cdc_opensess, cdc_set_fullrowlogging, cdc_startcapture, cdc_activatesess, and the other session functions. The Ripper logs both the numeric code and the symbolic name on every CHK_CDC failure, looked up at runtime from syscdcv1.syscdcerrcodes:

[worker 0] CDC API 'cdc_startcapture' failed (rc=-83711, SQLCODE=0)
[worker 0]   CDC error CDC_E_TABNOTCAPTURED: The specified table is not being captured by the CDC session.

The table below is the canonical list shipped with Informix 14.10. Codes are dense in the -83700..-83802 range; gaps in the numeric column are codes that exist in the catalog but are not exposed through the public CDC API surface and the Ripper does not encounter them.

CodeSymbolic nameDescription
0 CDC_E_OK Operation succeeded.
-83701 CDC_E_NOCDCDB The syscdcv1 database does not exist.
-83702 CDC_E_APIVERS The requested CDC API behavior version is not valid or is unsupported.
-83703 CDC_E_NODB The specified database does not exist.
-83704 CDC_E_DBNOTLOGGED The specified database is not logged.
-83705 CDC_E_NOTAB The specified table does not exist.
-83706 CDC_E_TABPROPERTIES The table properties do not support capture: it is a temporary table, a view, or otherwise not logged.
-83707 CDC_E_NOCOL The specified column does not exist.
-83708 CDC_E_NOSESS The specified CDC session does not exist.
-83709 CDC_E_NOREOPEN The CDC session cannot be reopened.
-83710 CDC_E_TABCAPTURED The specified table is already being captured by the CDC session.
-83711 CDC_E_TABNOTCAPTURED The specified table is not being captured by the CDC session.
-83712 CDC_E_ARGNULL An argument to the function has the SQL NULL value, which is not allowed.
-83713 CDC_E_LSN Data at the requested log sequence number is not available for capture.
-83714 CDC_E_DIRECTION Direction on reopen does not match the existing CDC session direction.
-83715 CDC_E_DUPLSESS A CDC session is already active.
-83720 CDC_E_ARG A parameter passed to the function is not valid.
-83721 CDC_E_ARG1 The first parameter passed to the function is not valid.
-83722 CDC_E_ARG2 The second parameter passed to the function is not valid.
-83723 CDC_E_ARG3 The third parameter passed to the function is not valid.
-83724 CDC_E_ARG4 The fourth parameter passed to the function is not valid.
-83725 CDC_E_ARG5 The fifth parameter passed to the function is not valid.
-83726 CDC_E_ARG6 The sixth parameter passed to the function is not valid.
-83790 CDC_E_INTERNAL Internal error. Contact IBM Informix Technical Support.
-83791 CDC_E_NOMEM Memory allocation failed.
-83792 CDC_E_MUSTCLOSE The CDC capture session cannot continue and must be closed.
-83793 CDC_E_BADSTATE The resource state does not allow the attempted operation.
-83794 CDC_E_BADCHAR A byte sequence that is not a valid character in the character code set was encountered.
-83795 CDC_E_INTERRUPT The CDC session was interrupted.
-83796 CDC_E_LOCALEMISMATCH The locale setting in the environment does not match the locale of the database.
-83797 CDC_E_LOGWRAP The current logical log that CDC is reading has been overwritten.
-83798 CDC_E_LOGPAGE CDC received incorrect logical log page data.
-83799 CDC_E_UNIMPL Unimplemented feature.
-83800 CDC_E_OUTOFSEQ Internal error. CDC received out-of-sequence logical log page data.
-83802 CDC_E_EXPANDROW CDC could not expand a disk compressed row.

Where each code typically appears

CodeMost common origin
CDC_E_NOCDCDB The Ripper connects to syscdcv1 on every worker init. If the source instance does not have CDC installed, every worker fails immediately.
CDC_E_DBNOTLOGGED Source database created without WITH LOG. Re-create the database logged or run ontape -s -L 0 -B database to flip it.
CDC_E_NOTAB Configured table does not exist on the source. The Ripper now falls back to the schema_archive_dir file (see Schema Safety) and skip_capture's the table when the underlying object truly is gone.
CDC_E_TABPROPERTIES Table is a view / temp table / RAW table / external table — CDC can't capture from any of these. Filter the table out via the tables: exclude pattern or remove it from the configured list.
CDC_E_NOSESS cdc_endcapture / cdc_closesess / ifx_lo_read on a session that no longer exists. Usually means the session timed out or another worker closed it; the existing recovery path re-opens via cdc_activatesess.
CDC_E_TABCAPTURED An acquire_<tab> sentinel for a table that's still under capture. Inspect the release_ / acquire_ sentinel files under control_dir.
CDC_E_LSN The start_lsn in the YAML (or the saved state_file on resume) points before the first log file currently online. The log has been recycled past that LSN. -R on the CLI forces a clean restart at end-of-log.
CDC_E_LOGWRAP The Ripper was reading log N and the server recycled it before the read finished. This is the same root cause as a CDC_REC_DISCARD — CDC fell behind. Increase log size, raise the worker count, or raise max_recs_per_read.
CDC_E_BADSTATE API call out of order, e.g. cdc_startcapture before cdc_set_fullrowlogging(1). The Ripper's init serializes these via init_mutex; a BADSTATE in the wild usually means a stale session left over from a prior crash — clear it via the cleanup_orphans startup sweep.
CDC_E_LOCALEMISMATCH The Ripper's CLIENT_LOCALE / DB_LOCALE environment doesn't match what the source DB was created with. Set the env in /etc/oni_ripper/environment.

To discuss how Oninit ® can assist please call on +1-913-732-8892 or alternatively just send an email specifying your requirements.


You get all this for free.. think about what you get if you pay us