Online 7.11.UC1 - Cant set soctcp if service in local /etc/services
Posted in 1997
Hi All
Pardon me if this is a stupid question. We are running Online 7.11.UC1 =
on HP-UX 10.01. This machine is on a TCP/IP network and is running =
yellow pages. When I create an instance I usually set up a shared memory =
as well as a socket service, with the service names in both sqlhosts and =
in services file, like so:
onconfig file:
DBSERVERNAME test_shm # Name of default database server
DBSERVERALIASES test_soc # List of alternate dbservernames
NETTYPE ipcshm,1,50,CPU # Override sqlhosts nettype params
NETTYPE soctcp,1,50,NET # Override sqlhosts nettype params
sqlhosts file:
test_shm onipcshm costello test_shm
test_soc onsoctcp costello test_soc
/etc/services file:
test_soc 1665/tcp
test_shm 1666/tcp
Previously we would propagate the services into the Yellow pages, but =
now we are getting more choosy about putting the instances that dont =
need to be accessed across the network.
I find that if we dont put the services on the Yellow pages, then we =
cant set up the socket connexion. The instance refuses to startup, and =
gives error no. -931. The contents of the log file is as follows:
Tue Feb 11 09:46:42 1997
09:46:42 init_alarm(): alarmprog =3D '/usr/informix/dba/alarm.sh'
shell =3D '/bin/sh'
09:46:42 DR: DRAUTO is 0 (Off)
09:46:43 INFORMIX-OnLine Initialized -- Shared Memory Initialized.
09:46:43 Physical Recovery Started.
09:46:43 Physical Recovery Complete: 0 Pages Restored.
09:46:43 Logical Recovery Started.
09:46:44 listener-thread: err =3D -931: Cannot locate test53_soc =
service/tcp service in /etc/services.
09:46:44 Attempting to bring listener thread down
09:46:44 PANIC: Attempting to bring system down
finderr -931 gives me:
-931 Cannot locate servicename service/tcp service in
/etc/services.
The service noted is not listed in the network configuration
file /etc/services (UNIX) or \\etc\\services (DOS). Check the
$INFORMIXDIR/etc/sqlhosts file and make sure that the
service name for the desired server is correct. If so, contact
your network administrator and find out why the service is
not known. If you are using INFORMIX-OnLine for NetWare,
check the \\etc\\services file on the client for the required
entries.
When I mask out DBSERVERALIAS and the second NETTYPE (for soctcp) in the =
onconfig file, the system comes up OK.
I have a line of reasoning that goes like this. If I have not put the =
service in the Yellow pages, then obviously I dont want the database =
instance accessed across the network, hence I can do with the shared =
memory connexion, which is faster in any case. So Informix decides that =
I dont need the socket connexion and does not allow me one. However =
there may be a case when I want to access the instance from the same =
machine using a socket connexion. Also the message is somewhat confusing =
since I have an entry in /etc/services. So actually I am not really =
convinced with my reasoning.
I dont really know if my reasoning is sound. I would appreciate some =
feedback from more experienced and knowledgeable Informixers.
TIA
Sujit Pal