Informix Error -723: Cannot disable logging in an ANSI-compliant database.
Cause and resolution
Cannot disable logging in an ANSI-compliant database.
You attempted to use the START DATABASE <database> WITH NO LOG syntax to remove database logging on an SE database that is ANSI compliant. You cannot turn off logging by running this statement on this kind of database. </database>
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-723 fires when START DATABASE database WITH NO LOG is attempted against an SE database that's
ANSI-compliant — per the official guidance, ANSI compliance requires logging, so it can't be
turned off this way on this kind of database.
START DATABASE ... WITH NO LOGissued against aMODE ANSIdatabase, per the official guidance — the direct, only cause.- A maintenance/administrative script disabling logging uniformly across a set of databases without excluding the ANSI-compliant ones.
Solutions / Resolution
- Don't attempt to disable logging on an ANSI-compliant database — per the official guidance, this is a fixed requirement of ANSI compliance, not a configurable trade-off (the same underlying principle as -573's buffered-logging restriction).
- Check a database's ANSI-compliance status before attempting to change its logging mode:
SELECT name, is_ansi FROM sysmaster:sysdatabases WHERE name = 'target_db'; - If logging genuinely needs to be disabled for this database, reconsider whether it needs to be ANSI-compliant at all — a non-ANSI database doesn't carry this restriction.
Examples
The disallowed attempt
$ dbaccess - <<'EOF'
START DATABASE stores7_ansi WITH NO LOG;
EOF
-- -723: stores7_ansi was created WITH LOG MODE ANSI
Checking ANSI status first
SELECT name, is_ansi FROM sysmaster:sysdatabases WHERE name = 'stores7_ansi';
Diagnostic Checks
- Query
sysmaster:sysdatabasesforis_ansion the target database before attempting to disable its logging.
Related Errors / Related Topics
- -573 — "Cannot set log to buffered in a mode ANSI database." The same underlying ANSI-compliance-requires-logging principle, applied to switching to buffered logging rather than disabling logging outright.
Same underlying rule as -573 — ANSI compliance requires logging; it's a fixed requirement, not a configurable option.