Transaction logging

The database server can keep a record of each change that it makes to the database during a transaction. If something happens to cancel the transaction, the database server automatically uses the records to reverse the changes. Many things can make a transaction fail. For example, the program that issues the SQL statements can fail or be terminated. As soon as the database server discovers that the transaction failed, which might be only after the computer and the database server are restarted, it uses the records from the transaction to return the database to the same state as before.

The process of keeping records of transactions is called transaction logging or simply logging. The records of the transactions, called log records, are stored in a portion of disk space separate from the database. This space is called the logical log because the log records represent logical units of the transactions.

HCL Informix® provides support to:
  • Create nonlogging (raw) or logging (standard) tables in a logging database.
  • Alter a table from nonlogging to logging and vice-versa using the ALTER TABLE statement.

supports nonlogging tables for fast loads of very large tables. It is recommended that you do not use nonlogging tables within a transaction. To avoid concurrency problems, use the ALTER TABLE statement to make the table standard (that is, logging) before you use the table in a transaction.

For more information about nonlogging tables for , see the Informix Administrator's Guide. For the performance advantages of nonlogging tables, see the Informix Performance Guide. For information about the ALTER TABLE statement, see the Informix Guide to SQL: Syntax.

Most Informix databases do not generate transaction records automatically. The DBA decides whether to make a database use transaction logging. Without transaction logging, you cannot roll back transactions.