Initializing rhead structure...oninit: DBSERVERNAME 'cfms' not in sqlhosts file or sqlhosts file contents are damaged.
Posted in 2007
After an IP address change, oninit failed with "DBSERVERNAME 'cfms' not in sqlhosts file or sqlhosts file contents are damaged." Respondents explained the sqlhosts layout (col 1 = dbservername, col 3 = host, col 4 = service) and noted 'cfms' was the host name, not a dbservername, so the error pointed to the wrong config being read. The poster had been looking at onconfig.std; since the machine hosted several instances, the ONCONFIG environment variable had to be set. Setting ONCONFIG to onconfig.cfms_mimo let the instance start normally.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Server Administration, Networking & sqlhosts Configuration
Hi all, I have a little problem here....after changing the IP address from our server the informix database don´t start. The error is: Initializing rhead structure...oninit: DBSERVERNAME 'cfms' not in sqlhosts file or sqlhosts file contents are damaged. I´m a oracle dba and I really don´t have any idea I´ve to do to solve this issue, I´ve looked at sqlhosts, services and other things and I´m still lost. The changing of IP address was rolledback to the original, but the error remains. Can anyone helps me? Thanks a lot. Luiz.
> > The changing of IP address was rolledback to the original, but the > error remains. someone mucked up your sqlhost file..... have a look at $INFORMIXDIR/etc/sqlhosts or if INFORMIXSQLHOSTS env var is set look at that. an entry cfms <protocol> <hostname or ip adress> <service> is needed there..... Post the contents of the sqlhosts file together with version numbers $INFORMIXDIR/etc/$ONCONFIG... Superboer
On 11 abr, 12:06, "Superboer" <superbo...@t-online.de> wrote:
> > The changing of IP address was rolledback to the original, but the
> > error remains.
>
> someone mucked up your sqlhost file.....
>
> have a look at
>
> $INFORMIXDIR/etc/sqlhosts
> or if
> INFORMIXSQLHOSTS env var is set
> look at that.
>
> an entry
>
> cfms <protocol> <hostname or ip adress> <service>
>
> is needed there.....
>
> Post the contents of the sqlhosts file together with version numbers
> $INFORMIXDIR/etc/$ONCONFIG...
>
> Superboer
Hi, Superboer
We have more than 1 instance, should I post all onconfigs? or just the
onconfig.std?
The content of sqlhosts:
mimo onsoctcp cfms mimo
k=0,m=1
mimo_ivr onsoctcp cfms mimo_ivr
k=0,m=1
histmoc onsoctcp cfms histmoc
k=0,m=1
histmoc2002 onsoctcp cfms histmoc2002
k=0,m=1
#### Conexoes via Shared Memory
mimo_shm onipcshm cfms mimo_shm
## Conexoes via Stream Pipe
mimo_str onipcstr cfms mimo_str
ivr_str onipcstr cfms ivr_str
histmoc_str onipcstr cfms histmoc_str
# histmoc - dbalias:
histmoc2002 onsoctcp cfms histmoc2002
k=0,m=1
histmoc_ol2 onsoctcp cfms histmoc_ol2
#histm2002_sp onsoctcp rep_sp histm2002_sp
histmoc_str onipcstr pps3 histmoc_str
# ivr - dbalias
mimo_ivr_ol2 onsoctcp cfms mimo_ivr_ol2ivr_odbc onsoctcp odbc ivr_odbc k=0
ivr_real onsoctcp pps3 ivr_real k=0
mimo_ivrsp onsoctcp rep_sp mimo_ivrsp
ivr_str onipcstr pps3 ivr_str
# mimo - dbalias
mimo_ol2 onsoctcp cfms mimo_ol2mimo_odbc onsoctcp cfms mimo_odbc k=0
mimo_real onsoctcp cfms mimo_real k=0
mimo_shm onipcshm cfms mimo_shm
mimo_str onipcstr cfms mimo_str
mimo_pps onsoctcp cfms mimo_pps
mimo_bkp onsoctcp cfms mimo_bkp
mimo_1a onsoctcp cfms mimo_1a
mimo_1b onsoctcp odbc mimo_1b
Luiz Fernando wrote: > Hi all, > > I have a little problem here....after changing the IP address from our > server the informix database don't start. The error is: Initializing > rhead structure...oninit: DBSERVERNAME 'cfms' not in sqlhosts file or > sqlhosts file contents are damaged. > > I'm a oracle dba and I really don't have any idea I've to do to solve > this issue, I've looked at sqlhosts, services and other things and I'm > still lost. > > The changing of IP address was rolledback to the original, but the > error remains. > > Can anyone helps me? > > Thanks a lot. > > Luiz. > Luiz, In the onconfig file cfms is the dbserver name, not the host server name. The first column in the sqlhost file is the dbserver name. The third column is the host server name. We use the host server name to obtain the IP address that the listener thread will be using. The fourth column is the service name (from /etc/services) that the listener thread will be listening on. The onconfig file does not care about the host server name, only the dbserver name. By scanning the first column of the sqlhosts file, it is able to determine how to set up the listener thread. To do that, it needs to know the protocol (second column), the IP address (third column), and the port number (fourth column). M.P.
On 11 abr, 12:52, Madison Pruet <mpru...@verizon.net> wrote:
> Luiz Fernando wrote:
> > Hi all,
>
> > I have a little problem here....after changing the IP address from our
> > server the informix database don´t start. The error is: Initializing
> > rhead structure...oninit: DBSERVERNAME 'cfms' not in sqlhosts file or
> > sqlhosts file contents are damaged.
>
> > I´m a oracle dba and I really don´t have any idea I´ve to do to solve
> > this issue, I´ve looked at sqlhosts, services and other things and I´m
> > still lost.
>
> > The changing of IP address was rolledback to the original, but the
> > error remains.
>
> > Can anyone helps me?
>
> > Thanks a lot.
>
> > Luiz.
>
> Luiz,
>
> In the onconfig file cfms is the dbserver name, not the host server
> name. The first column in the sqlhost file is the dbserver name. The
> third column is the host server name. We use the host server name to
> obtain the IP address that the listener thread will be using. The
> fourth column is the service name (from /etc/services) that the listener
> thread will be listening on.
>
> The onconfig file does not care about the host server name, only the
> dbserver name. By scanning the first column of the sqlhosts file, it is
> able to determine how to set up the listener thread. To do that, it
> needs to know the protocol (second column), the IP address (third
> column), and the port number (fourth column).
>
> M.P.- Ocultar texto entre aspas -
>
> - Mostrar texto entre aspas -
MP, if I understand the problem is the dbserver name in onconfig?
There is my onconfig....
$ cat onconfig.std
#**************************************************************************
## Licensed Material - Property Of IBM
#
# "Restricted Materials of IBM"
#
# IBM Informix Dynamic Server
# (c) Copyright IBM Corporation 1996, 2005 All rights reserved.
#
# Title: onconfig.std
# Description: IBM Informix Dynamic Server Configuration Parameters
#
#**************************************************************************
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace nameROOTPATH /dev/online_root # Path for device containing root
dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 30000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirroredroot
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS rootdbs # Location (dbspace) of physical log
PHYSFILE 2000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 6 # Number of logical log files
LOGSIZE 2000 # Logical log size (Kbytes)LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL,
CONT)
# Security
# DBCREATE_PERMISSION:
# By default any user can create a database. Uncomment
DBCREATE_PERMISSON to
# limit database creation to a specific user. Add a new
DBCREATE_PERMISSION
# line for each permitted user.
#DBCREATE_PERMISSION informix
# Diagnostics
MSGPATH /usr/informix/online.log # System message log file
path
CONSOLE /dev/console # System console message path
# To automatically backup logical logs, edit alarmprogram.sh and set
# BACKUPLOGS=Y
ALARMPROGRAM /usr/informix/etc/alarmprogram.sh # Alarm program path
TBLSPACE_STATS 1 # Maintain tblspace statistics
# System Archive Tape Device
TAPEDEV /dev/tapedev # Tape device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 10240 # Maximum amount of data to put on
tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/tapedev # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 10240 # Max amount of data to put on log
tape (Kbytes)
# Optical
STAGEBLOB # Informix Dynamic Server staging area
# System Configuration
SERVERNUM 0 # Unique id corresponding to a OnLineinstance
DBSERVERNAME # Name of default database server
DBSERVERALIASES # List of alternate dbservernames
NETTYPE # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock indistributed env.
RESIDENT 0 # Forced residency flag (Yes = 1, No =
0)
MULTIPROCESSOR 0 # 0 for single-processor, 1 for multi-processor
NUMCPUVPS 1 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vpsto one
NOAGE 0 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors
# Shared Memory Parameters
LOCKS 2000 # Maximum number of locks
BUFFERS 5000 # Maximum number of shared buffers
NUMAIOVPS # Number of IO vps
PHYSBUFF 32 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)
CLEANERS 1 # Number of buffer cleaner processes
SHMBASE 0x200000000L # Shared memory base address
SHMVIRTSIZE 8192 # initial virtual shared memorysegment size
SHMADD 8192 # Size of new shared memory segments (Kbytes)
EXTSHMADD 8192 # Size of new extension shared memory
segments (Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes).
0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)
LRUS 8 # Number of LRU queues
LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaninglimit
LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
TXTIMEOUT 300 # Transaction timeout (in sec)
STACKSIZE 32 # Stack size (Kbytes)
# Dynamic Logging
# DYNAMIC_LOGS:
# 2 : server automatically add a new logical log when necessary.
(ON)
# 1 : notify DBA to add new logical logs when necessary. (ON)
# 0 : cannot add logical log on the fly. (OFF)
#
# When dynamic logging is on, we can have higher values for LTXHWM/
LTXEHWM,
# because the server can add new logical logs during long transaction
rollback.
# However, to limit the number of new logical logs being added, LTXHWM/
LTXEHWM# can be set to smaller values.
#
# If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller
values
# to avoid long transaction rollback hanging the server due to lack of
logical
# log space, i.e. 50/60 or lower.
#
# In case of system configured with CDR the difference between LTXHWM
and
# LTXEHWM should be
"onconfig.std" is used as a template for creating configuration files. If you only have one informix instance the configuration file is typically called just "onconfig". There's an environment variable called "ONCONFIG" which points to the configuration. If not set informix will look for "onconfig". From your posting of the sqlhosts file my guess is that you have two instances on the cfms server, so you probably have "onconfig.mimo" and "onconfig.ivr". If my guess is right, you have to set ONCONFIG env before starting IDS. The first column of the sqlhosts file should be in the $ONCONFIG file either as the parameter DBSERVERNAME or DBSERVERALIAS Look in user informix's home directory for a script to set environment.
On 11 abr, 15:02, Claus Samuelsen <c...@dk.ibm.com> wrote: > "onconfig.std" is used as a template for creating configuration files. > If you only have one informix instance the configuration file is > typically called just "onconfig". There's an environment variable called > "ONCONFIG" which points to the configuration. If not set informix will > look for "onconfig". > > From your posting of the sqlhosts file my guess is that you have two > instances on the cfms server, so you probably have "onconfig.mimo" and > "onconfig.ivr". If my guess is right, you have to set ONCONFIG env > before starting IDS. > > The first column of the sqlhosts file should be in the $ONCONFIG file > either as the parameter DBSERVERNAME or DBSERVERALIAS > > Look in user informix's home directory for a script to set environment. Hi Claus, You´re a right we have more than 1 instance, I was looking and the ONCONFIG env was not set. I just set the onconfig to onconfig.cfms_mimo and the database started normally. Thank u all for helping me. Sincerely. Luiz.