Troubleshooting Problems With the Informix Database
Problems with the database usually result in messages being written to the Informix message log, which is stored in /usr/sgi/informix/online.log. You should monitor this file periodically. In addition, if problems with the database occur, view this message log for relevant information.
This section describes how to troubleshoot problems with the Informix database. The following topics are discussed:
You can find additional information about Informix in these sections:
Running Out of Space
If the Informix database runs out of space, you will see a message in the Informix log (/usr/sgi/informix/online.log) that is similar to the following:
SQLSTATE IX000: ISAM error: no free disk space
By default, the Informix database information is stored in /usr/sgi/informix/data/root_chunk. To add more space to the database without bringing down MediaBase or the Informix server:
- Log into the host as informix by entering the following:
# su - informix
- Make sure there is enough space on the filesystem where the extension to root_chunk will be located. (In this procedure, the name of the space that will be added is called extend_root_chunk.)
- Touch the file extend_root_chunk by entering the following:
# touch extend_root_chunk
- Make sure the file is owned by informix by entering the following:
# chown informix.informix extend_root_chunk
- Allow the extend_root_chunk file to be read and written to by Informix, by entering the following:
# chmod 660 extend_root_chunk
- Add a 200 megabyte extension named extend_root_chunk to the database by entering the following:
# setenv INFORMIXSERVER odlshm
# setenv INFORMIXDIR /usr/sgi/informix
# cd /usr/sgi/informix/bin
# onspaces -a rootdbs -p absolutePath -o 0 -s 200000
absolutePath is the absolute pathname of the location of extend_root_chunk, for example, /usr/sgi/informix/data/extend_root_chunk.
Wait until you see messages similar to the following:
Adding chunk...
Successfully Added chunk...
#
When you see these messages, the Informix server knows it has the additional space and will use it automatically.
Running Out of Locks
If the Informix database runs out of locks, you will see many messages in the Informix log (/usr/sgi/informix/online.log) similar to the following:
19:58:09 Lock table overflow - user id 55555, session id 1691
Note: One or a few messages like this in the log are normal. A problem exists only if you see this message many times.
To recover from this problem:
- Log into the server host as root, or become the superuser by entering the su command.
- Stop MediaBase and Informix by entering the following:
# /etc/init.d/mediabase stop
# /etc/init.d/informix stop
If Informix does not stop, you can stop it by entering the following:
# killall oninit
-
Determine whether any shared memory segments exist by entering the following:
# ipcs -ma
If any shared memory segments belong to Informix, you will see output that looks similar to the following:
IPC status from /dev/kmem as of Tue Jul 23 21:21:04 1996
T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
Shared Memory:
m 1202 0x52564801 --rw-rw---- root informix root informix 12 5054464 16912 19696 21:21:00 21:21:01 20:23:00
m 1203 0x52564802 --rw-rw---- root informix root informix 12 8192000 16912 19696 21:21:00 21:21:01 20:23:00
m 1204 0x52564803 --rw-rw-rw- root informix root informix 14 622592 16912 19696 21:21:00 21:21:01 20:23:10
m 1206 0x52564804 --rw-rw---- root informix root informix 12 8388608 16912 19696 21:21:00 21:21:01 20:41:38
- If any segments belong to Informix, as seen in step 3, remove all the segments, one at a time, by entering the following for each segment:
# ipcrm -m SHARED_MEMORY_SEGMENT_ID
For example, the following removes the segment whose shared memory ID is 1202:
# ipcrm -m 1202
- Start Informix by entering the following command:
# /etc/init.d/informix start
-
Start MediaBase by entering the following command:
# /etc/init.d/mediabase start
Shared Memory Creation Error
You may see the following message when initializing the database:
oninit: Fatal error in shared memory creation
Two conditions can cause this error:
- Informix is already running when you try to initialize the database or start the Informix server. If this is the case you can ignore the message.
- Memory segments were not cleaned up after an Informix crash or other failure. If this is the case, you must clean up the shared memory segments.
To recover from the error condition:
- Use one of the following commands to check if Informix is running:
# ps -ef | grep oninit
If Informix is running, you will see many processes.
/usr/mbase/sbin/chkserveron
If Informix is running, you will see the message ODL server ready
.
- If the server is not running:
- Determine whether any shared memory segments exist by entering the following:
# ipcs -ma
If any shared memory segments belong to Informix, you see output that looks similar to the following:
IPC status from /dev/kmem as of Tue Jul 23 21:21:04 1996
T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
Shared Memory:
m 1202 0x52564801 --rw-rw---- root informix root informix 12 5054464 16912 19696 21:21:00 21:21:01 20:23:00
m 1203 0x52564802 --rw-rw---- root informix root informix 12 8192000 16912 19696 21:21:00 21:21:01 20:23:00
m 1204 0x52564803 --rw-rw-rw- root informix root informix 14 622592 16912 19696 21:21:00 21:21:01 20:23:10
m 1206 0x52564804 --rw-rw---- root informix root informix 12 8388608 16912 19696 21:21:00 21:21:01 20:41:38
- If any segments belong to Informix, as seen above, remove all the segments, one at a time, by entering the following for each segment:
# ipcrm -m SHARED_MEMORY_SEGMENT_ID
For example, the following removes the segment whose shared memory ID is 1202:
# ipcrm -m 1202
- Restart or reinitialize the database.
posuser Error Message
If you see a message that posuser
is not found, the MediaBase system is probably using a shadow password file. To fix this, use the IRIX pwconv utility to install and update /etc/shadow with the information in /etc/passwd.
Cannot Connect Error Message
If you see a message such as cannot open
or cannot connect
, suspect:
- the database is not correctly configured or set up
- a corrupt database file
Make sure to configure the event logging threshold to debug.
-
Running Out of Space
-
-
Running Out of Locks
-
-
Shared Memory Creation Error
-
-
posuser Error Message
-
-
Cannot Connect Error Message
-
Next |
Prev |
Up |
Top |
Contents |
Index
posted on 2006-11-21 03:18
潇潇雨 阅读(646)
评论(1) 编辑 收藏 所属分类:
Database