Return to: Home | Databases Page

Welcome to the Informix FAQ Page

The intention of this page is to create an Informix FAQ for DBAs. E-mail problems with or without solutions to heuvelsite@planet.nl
Last update: 18 december 1998

If your screen isn't devided in a Question and an Answer frame, please click here.

Tools

Q: I installed the Admin Tools Command Center and Storage Manager on a client, but they can’t connect to the Informix Server. The server appears in the list, but when I click on it, I get an everlasting wait cursor. Windows Task Manager displays: not responding. However the Database Manager and ilogin both work fine.

A: I once have had this problem with an Informix engine on Aplha NT and the Admin Tools on Intel NT, but maybe the solution below is also valid for other platforms.

  1. On the server, open the file \informix\etc\onconfig (using notepad)
  2. Look up the entry SHMBASE. It’s value is 0xc000000L by default. Change it to 0x20000000L (2 with 7 zeroes). Note: All the Informix documentation will say that you should never change the value of SHMBASE, but I got this information from the dutch Informix heldesk.
  3. Save onconfig, and close the editor.
  4. Start the Command line Utilities (NT only).
  5. Shutdown the Informix engine by executing: onmode -ky
  6. Start it up again by executing (NT): starts online -or- (UNIX): oninit


Q: When I start the Database Explorer, I get the error message indicating that file en_us.1252 cannot be found. Everything else works fine.

A: Start the Setnet32 Utility and set the envionment variable INFORMIXDIR to the proper value. Click on Set then click Apply or OK.


Backup and Restore

Q: Archive immediately responds with an interupt. online.log gives the message: I/O bad request chunk 0 (may be followed by bfcheck : bad page etc.). What’s wrong?

A: Possible causes:
A new dbspace/chunk has been made whith a wrong symbolic link to the corresponding device
Or:
The new chunk’s offset is too small. In this case, the header may be overwritten during the boot phase.


Q: When I try to dbimport a database, I get the message failed to do a 'string to date conversion'.

A: The environment variable DBDATE had an other value when you performed the dbexport. Open an unload file (.unl) to find out what the DBDATE should be. For example: if you see a date like ‘1996-12-31’, you know that DBDATE should be Y4MD-, indicating 4-digit year, month, day, and a hyphen as separator.
NB: Different operating systems may have different default values for DBDATE.

Q: I can't import BLOBs using dbimport.

A: This is a known bug in version 7.30.FC7.


Installing and starting Informix

Q: Informix on NT GPFs when I try to bring it online.

A: Find out whether the Informix Service Agent has been started (Control Panel > Services). If so, stop it and start it again.
If no error massage appears, try to bring Informix online.
If you get the error message indicating that there’s no port available, open the SERVICES file and find out if srv_agent has the value of an unused port. That is: on the ENTIRE network, there should be no program using the same port number. When you have 2 Informix NT engines in your network, make sure they have different port nembers assigned to srv_agent.


Q: Informix on NT 4.0 refuses to start up. The last line in online.log is:
12:05:41 DR: DRAUTO is 0 (Off)

A: Do you have an Informix version below 7.30 TC 7 and Windows NT 4.0 Service Pack 4 installed? Go back to SP3 or install Informix version 7.30 TC 7 or higher. Lower versions of Informix don't work on NT 4.0 SP4!


Q: I try to start Informix OnLine, but I get the error message:
cannot open primairy chunk error = 2

A: Cause: Informix coun’t find the path to the primairy chunk.
Open the $INFORMIXDIR/etc/$ONCONFIG file and look for the entry ROOTPATH. This is the path Informix is looking for. Check if the path still exists and if user informix has the right to write to it (in case of a ‘cooked file’)


Q: Somehow Informix fails to go online. Is there a way to view what oninit is doing?

A: Yes, you can start Informix in verbose mode:
oninit -v (this works on NT as well)
Informix will print everything that happens.
To close the verbose mode: start a second terminal session (UNIX) or command prompt (NT) and execute:
onmode -ky
N.B. Don't close your terminal session (UNIX) or command prompt (NT) while in verbose mode. This will take Informix offline immediately.


Q: I think I screwed up my onconfig file, and I don't have a backup of it. What should I do?

A: If Informix is still online, you can get a new onconfig with:
onstat -c >onconfig
If Informix is offline, you can retrieve the settings from the database with:
oncheck -pR
or
oncheck -pP 1 1


Q: onspaces results in: Memory fault (and sometimes: core dump)

A: Most likely, the stack size is too small. Check it out by executing: ulimit –a
The stack size should be 8k (8192) or more.
Change the stack size of the current terminal session by executing: ulimit -s 8192
Now you may try onspaces again.


Q: I just installed Informix WGS 7.22 on Windows NT. When I try to create a dbspace using Space Explorer, I get the message "Cannot connect to Informix Workgroup Server".

A: Somehow, Setup failed to create the sysmaster database.
To verify:
Start the Command Line Utilities.
Execute: onstat -m
The output will contain the message 'Error building sysmaster database'.
To build the sysmaster database, follow the procedure below. WARNING: This will destroy all the dbspaces and all the databases, so only do this when you have nothing to lose!
Start de Command Line Utilities.
Shut Informix down: onmode -ky
Build the sysmaster database: starts oninit -iy
Watch the progression: onstat -mr
Wait for the message ‘Building sysmaster complete’.
Stop onstat with Ctrl + C
Space Explorer should work now.

Q: Can I install Informix on a non-English version of Windows NT?

A: Yes, but you need to install version 7.30 TC 6 or higher.


General

Q: Some error messages in online.log also specify an errno. Where can I find the meaning of an errno.

A: The errno refers to UNIX error message numbers and can be found in the file /usr/include/errno.h


Q: I get the error message:
cannot write to device, device is full

A: Check if the dbspace(s) ran out of space (onstat -d, or use onmonitor). Also check the temporary dbspace(s).
If you have Informix OL version 5, check if there's enough free space left in /tmp. This is the default directory used by Informix for temporary data storage (e.g. sorting rows in case of a SELECT statement with an ORDER BY clause. You may change the default directory by setting the environment variable DBTEMP. Make sure has the rights to write to this directory. After changing this, stop and start the sqlexecd daemon.


Q: Informix spontaneously goes offline. online.log contains lines like
Assert Failed: Internal Error - Segmentation Violation.

A: This is something you should report to Informix. You may trace the last executed SQL statement to reproduce the problem with the following procedure.

  1. In online.log, look for a line like
    Who: Session(<session id>, ...)
    e.g.
    Who: Session(14, informix@, 227885660)
    <session id> is a numeric value indicating the session that executed the statement. In the example the session id is 14.
  2. In online.log, look for a line like
    See Also: <file1>, <file2>
    e.g.
    See Also: /tmp/af.91da2, shmem.91da2.0
    <file1> will (also) contain the directory where both files reside (in the example: /tmp), <file2> is the Informix memory dump (in the example: shmem.91da2.0, also residing in /tmp).
  3. Logged on as user 'informix', execute the following statement on the command prompt (NT: start Command Line Utilities).
    onstat -g ses <session id> <file2>
    e.g.
    onstat -g ses 14 /tmp/shmem.91da2.0
The result will be the last executed statement.


Interesting Informix Links