Turn Transactions on?
Posted in 1996
The situation: I'm on a short-term job at a site where there is no Informix guru. I'm an Oracle guy modifying lots of someone else's Informix 4GL code. I have all of the 4GL manuals, but I don't seem to have any documentation relating to how to run and/or configure the Informix engine itself. There are two test and one production database. Performance on the system is pretty abysmal. I've improved the thing somewhat with a few new indexes, but I've got 30KLOC to weed through for any more performance improvements. The problem: I want to use a transaction, but when I execute my code I get an error: -256 Transaction not available. Finderr says: You cannot begin a transaction in this database because it does not have a transaction log. In order to support transactions you must start a transaction log. With INFORMIX-OnLine this is done by the OnLine administrator (using the Databases screen of the Logical Logs menu of DB-Monitor). With other database engines it is done using the START DATABASE statement. The analysis: From the looks of this, this site's copy of Informix SE (4.0 something) has not started a transaction log, therefore I can't use transactions. The questions: Why would I not want to turn on the transaction log? (I assume that this option was not exercised for some good reason and isn't the result of someone forgetting about it.) If I was going to turn on the transaction log, how would I go about doing it? With Informix SE, if transactions are implemented on a per-database level, how can I find out if each (or any) of the three databases have transactions turned on, besides writing a program that starts some simple-minded transaction? TIA -darin! -- Darin Strait