Cannot bind network name to port
Posted in 1998
Hi! Server : DEC AlphaServer 4100 5/533, 3 CPU's, 512MB RAM OS : Digital UNIX 4.0D Database : INFORMIX Dynamic Server 7.23.FC4 Basically, I was converting my system from Base to Enhanced Security level, and I forgot to change the root password. I halted the server using the Halt button on the front panel, so that I could boot into single user mode and resolve this. However, since all passwords are pretty much expired when the convuser command is run, informix's password was also shot; hence I was not able to shutdown the engine before rebooting. When I came up I reset the passwords and tried to initialize the engine. It failed, and the message log contained complaints about failure to start the listener thread, and referenced INFORMIX error -25572 and System Error 48. To resolve this I restored root and /usr from backup after fighting with it for a few hours. I'm really sorry I don't have the message log since the INFORMIX software is in /usr/informix and it got overwritten by the restore (I foolishly didn't print it out or copy it to one of the other non-system drives; I've learn't a lot from this error). Looking up the error message with the INFORMIX utility, finderr, I get the following: hydrogen.ppsl.com!/usr/informix/dev 4 $ finderr 25572 -25572 Network driver cannot bind a name to the port. A system call has failed. The sqlexecd daemon or INFORMIX-OnLine Dynamic Server cannot access the network port that is specified by the servicename in the sqlhosts file for the database server. This situation might occur because the network port is already in use by another sqlexecd, database server, or other application. Use a different servicename on the command line (prior to Version 6.0) or in the sqlhosts file (beginning with Version 6.0). Contact your UNIX system administrator for assistance I tried renaming the service name in the INFORMIX netowrk configuration file $INFORMIXDIR/etc/sqlhosts and /etc/services; I also tried changing the port number from 1526 to 3500. I also tried modifying the INFORMIX engine configuration file, $ONCONFIG, to remove the aliases for the $INFORMIXSERVER which uses the netoworking protocol (in my case onsoctcp) so that maybe the server will come up using shared memory only (onipcstr). It didn't work. Since the restore worked, I'm theorising that INFORMIX or UNIX stores some information about ports that are open in some area in root or /usr (possibly /var?) and it fails to clean it up on rebooting. Reviewing the manuals/documentation for both INFORMIX and DU 4.0D have not helped me solve this. Does anyone have any ideas? What this means is that if for some reason my UPS fails on me and my server dies instananeously, then upon reboot, the database engine will not start up. I would not like to have to take system backups every night (though with the speed of my server I won't be put out much; vdumps of / and /usr take 8 minutes with no other activity on the system). Thanks for your help in advance. Best regards, Edmund Nigel Gall Information Systems Specialist Process Plant Services Limited Atlantic Avenue, Point Lisas Industrial Estate Point Lisas, Couva, Trinidad & Tobago, W.I. Tel: (868) 636 3153 Fax: (868) 636 3770