Consultor Eletrônico



Kbase P8320: Cannot start database errno = 24 (43) and errno -1 (5311) on SCO UNIXWARE
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/11/2008
Status: Verified

SYMPTOM(s):

Cannot start database errno = 24 (43) and errno -1 (5311)

Cannot find or open file <file-name> errno = 24 (43)

Could not open <file-name> Error = 24 (5311)

** Unable to open file: <file-name>. Errno=24. (98)

** Unable to open <file-name>, error code 24. (316)

Unable to open <file-name>, errno = 24. (1295)

Error: key insertion failed

FACT(s) (Environment):

Caldera Open UNIX/SCO UnixWare
Progress/OpenEdge Product Family

CAUSE:

The key issue in any of the above error messages is "errno = 24", which is listed in /usr/include/sys/errno.h as:

#define EMFILE 24 /* Too many open files */

It indicates that the maximum number of files a process might have in your operating system kernel is set too low. The kernel parameter is: NOFILES (superseded by SFNOLIM, HFNOLIM in SV4 which are the soft and hard limits)

FIX:

Tune the kernel-parameters SFNOLIM HFNOLIM for UNXIWARE or NOFILES for SCO OpenServer

For example on SCO OpenServer (as root):

1.) Change the current value of NOFILES, example:
$ /etc/conf.d/idtune NOFILES 2048

2.) check stune to make sure that the new value is in effect:
$ cat stune | grep NOFILES

3.) relink the kernel:
$ /etc/conf.d/idbuild -B

which then re-creates the /etc/conf/cf.d/conf.h
4.) reboot for kernel changes to take effect:
$ shutdown -i6 -g0 -y

For Unixware you may consider setting SFNOLIM and HFNOLIM to "unlimited" in step 1 and then follow up with relinking the kernel and re-booting.