PDA

View Full Version : Shared Memory Initialization error


mvvilleza
03-03-02, 21:30
This is the situation:

* I have an existing working Informix on an SCO OpenServer 5 on server A.
* I have a spare server B and installed an SCO OpenServer 5 (identical to server A).
* Since I don't have an Informix installation program, I backed up the entire Informix directory on server A and restored it on server B.
* I created a user and group Informix on Server B w/c is again identical to server A including profile, home directory and ID etc.
* I created a RAW device on server B w/c is also identical in size and name as server A.
* I made the proper permissions on the RAW device w/c is 660 to user and group Informix.
* Afterwhich, created the link at the path specified on the ONCONFIG file.
* Edited the Unix kernel parameters: SHMMAX (409600000); SEMMNI (8192); SEMMNS (8192); SEMMAP (8192); SEMMNU (100).
* Linked the kernel and reboot the machine.
* Logged in as informix, and executed oninit -i.
* Then I encountered this problem.

"fatal error in shared memory initialization". And if I look at the online.log file, it states that "The chunk <path> must have owner-ID and group-ID set to Informix"

THIS IS MY ONCONFIG FILE:

#*************************************************
*************************
#
# INFORMIX SOFTWARE, INC.
#
# Title: onconfig.std
# Description: INFORMIX-OnLine Configuration Parameters
#
#*************************************************
*************************

# Root Dbspace Configuration

ROOTNAME infdbspace1 # Root dbspace name
ROOTPATH /proj/informix/dbspaces/infdbspace1
# Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 900000 # Size of root dbspace (Kbytes)

# Disk Mirroring Configuration Parameters

MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirrored root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)

# Physical Log Configuration

PHYSDBS infdbspace1 # Location (dbspace) of physical log
PHYSFILE 10000 # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES 20 # Number of logical log files
LOGSIZE 20000 # Logical log size (Kbytes)

# Diagnostics

MSGPATH /u/informix/online1.log # System message log file path
CONSOLE /dev/null # System console message path
ALARMPROGRAM /u/informix/log_full1.sh # Alarm program path

# System Archive Tape Device

TAPEDEV /dev/null # Tape device path
TAPEBLK 16 # Tape block size (Kbytes)
TAPESIZE 10240 # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 16 # Log tape block size (Kbytes)
LTAPESIZE 10240 # Max amount of data to put on log tape (Kbytes)

# Optical

STAGEBLOB # INFORMIX-OnLine/Optical staging area

# System Configuration

SERVERNUM 0 # Unique id corresponding to a OnLine instance
DBSERVERNAME mib1dbsvr1 # Name of default database server
DBSERVERALIASES # List of alternate dbservernames
NETTYPE ipcshm,,, # Configure poll thread(s) for nettype
NETTYPE tlitcp,,, # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed 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 vps to 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 200 # Maximum number of shared buffers
NUMAIOVPS # Number of IO vps
PHYSBUFF 32 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)
LOGSMAX 20 # Maximum number of logical log files
CLEANERS 1 # Number of buffer cleaner processes
SHMBASE 0x10000000 # Shared memory base address
SHMVIRTSIZE 8000 # initial virtual shared memory segment size
SHMADD 8192 # Size of new 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 cleaning limit
LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
LTXHWM 50 # Long transaction high water mark percentage
LTXEHWM 60 # Long transaction high water mark (exclusive)
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 32 # Stack size (Kbytes)

# System Page Size
# BUFFSIZE - OnLine no longer supports this configuration parameter.
# To determine the page size used by OnLine on your platform
# see the last line of output from the command, 'onstat -b'.


# Recovery Variables
# OFF_RECVRY_THREADS:
# Number of parallel worker threads during fast recovery or an offline restore.
# ON_RECVRY_THREADS:
# Number of parallel worker threads during an online restore.

OFF_RECVRY_THREADS 10 # Default number of offline worker threads
ON_RECVRY_THREADS 1 # Default number of online worker threads

# Data Replication Variables
# DRAUTO: 0 manual, 1 retain type, 2 reverse type
DRAUTO 0 # DR automatic switchover
DRINTERVAL 30 # DR max time between DR buffer flushes (in sec)
DRTIMEOUT 30 # DR network timeout (in sec)
DRLOSTFOUND /u/informix/etc/dr.lostfound # DR lost+found file path

# Backup/Restore variables
BAR_ACT_LOG /tmp/bar_act.log
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 31

# Read Ahead Variables
RA_PAGES # Number of pages to attempt to read ahead
RA_THRESHOLD # Number of pages left before next group

# DBSPACETEMP:
# OnLine equivalent of DBTEMP for SE. This is the list of dbspaces
# that the OnLine SQL Engine will use to create temp tables etc.
# If specified it must be a colon separated list of dbspaces that exist
# when the OnLine system is brought online. If not specified, or if
# all dbspaces specified are invalid, various ad hoc queries will create
# temporary files in /tmp instead.

DBSPACETEMP # Default temp dbspaces

# DUMP*:
# The following parameters control the type of diagnostics information which
# is preserved when an unanticipated error condition (assertion failure) occurs
# during OnLine operations.
# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.

DUMPDIR /tmp # Preserve diagnostics in this directory
DUMPSHMEM 0 # Dump a copy of shared memory
DUMPGCORE 0 # Dump a core image using 'gcore'
DUMPCORE 0 # Dump a core image (Warning:this aborts OnLine)
DUMPCNT 1 # Number of shared memory or gcore dumps for
# a single user's session

FILLFACTOR 90 # Fill factor for building indexes

# method for OnLine to use when determining current time
USEOSTIME 0 # 0: use internal time(fast), 1: get time from OS(slow)

# Parallel Database Queries (pdq)
MAX_PDQPRIORITY 100 # Maximum allowed pdqpriority
DS_MAX_QUERIES # Maximum number of decision support queries
DS_TOTAL_MEMORY # Decision support memory (Kbytes)
DS_MAX_SCANS 1048576 # Maximum number of decision support scans
DATASKIP off # List of dbspaces to skip

# OPTCOMPIND
# 0 => Nested loop joins will be preferred (where
# possible) over sortmerge joins and hash joins.
# 1 => If the transaction isolation mode is not
# "repeatable read", optimizer behaves as in (2)
# below. Otherwise it behaves as in (0) above.
# 2 => Use costs regardless of the transaction isolation
# mode. Nested loop joins are not necessarily
# preferred. Optimizer bases its decision purely
# on costs.
OPTCOMPIND 2 # To hint the optimizer

ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
LBU_PRESERVE 0 # Preserve last log for log backup
OPCACHEMAX 0 # Maximum optical cache size (Kbytes)

# HETERO_COMMIT (Gateway participation in distributed transactions)
# 1 => Heterogeneous Commit is enabled
# 0 (or any other value) => Heterogeneous Commit is disabled
HETERO_COMMIT 0

SQLHOSTS file:

mib1dbsvr2 ontlitcp mib1 mib1port2

SERVICES file:

mib1port2 2002/tcp

Informix .profile:

:
# @(#) profile 26.1 95/09/18
#
# Copyright (C) 1989-1995 The Santa Cruz Operation, Inc.
# All Rights Reserved.
# The information in this file is provided for the exclusive use of
# the licensees of The Santa Cruz Operation, Inc. Such users have the
# right to use, modify, and incorporate this code into other products
# for purposes authorized by the license agreement provided they include
# this notice and the associated copyright notice with any such product.
# The information in this file is provided "AS IS" without warranty.
#
# .profile -- Commands executed by a login Bourne shell
#

trap abort 2 15
INFORMIXDIR="/proj/informix"
EDITOR=vi

PATH=.:$HOME/bin:/proj/informix:/proj/informix/bin:$PATH #set command search path
CDPATH=.:$ATSLIB:$HOME/src:$HOME/src/work:$HOME/src/installed:$HOME/bin:


PS1=$LOGNAME"@`uname -n`->>"
MAIL=/usr/spool/mail/`logname` # mailbox location
export PATH MAIL INFORMIXDIR CDPATH EDITOR EXINIT

# use default system file creation mask

#eval `tset -m ansi:${TERM:-ansi} -m :\?${TERM:-ansi} -r -s -Q`

/usr/bin/prwarn # issue a warning if password due to expire

setcolor -n lt_green


clear
INFORMIXSERVER=mib1dbsvr2
ONCONFIG=onconfig.db2

export INFORMIXSERVER ONCONFIG DBPRINT ATSINSTALLDIR EXINIT CDPATH

rnealejr
03-04-02, 15:36
Have you run ipcs ??? (Can you provide output of ipcs) If you run oninit -i will the same message appear in the online.log ("The chunk ...") and are there any other messages ? Are both machines configured exactly the same - including hardware (cpu/memory/disk) ?

mvvilleza
03-04-02, 21:01
Both servers are identical coz they are the same model, HP LH PRO although they differ in the ff specs

Server A has 4x4 GB Hard Disk RAID 5
Server B has 3x9 GB Hard Disk RAID 5

Server A has 256 MB memory
Server B has 654 MB memory

They are no other error message, but how can I produce ipc??

rnealejr
03-05-02, 10:21
Just ipcs. The hardware configuration for the servers you listed - Server A is the production server and Server B is the one you are having problems with - correct ? Can you show me the sqlhosts file from server A ?

mvvilleza
03-05-02, 21:28
The informix files and informix configuration files plus the file and directory permissions are identical on both servers. The only difference is the hardware as i mentioned previously and the Unix OS which is fresh installed. But I edited the SERVICES files and the kernel parameters.

rnealejr
03-06-02, 11:52
Have you run ipcs ? Please provide output. Are the kernel parameters identical between server A and B ? Does the sqlhosts file on the live server have a shared memory entry ? Have you tried onmonitor ?

tarlow
07-11-03, 15:59
Did you ever resolve this? I am expereincing the same problem.

Howard
htarlow@hotmail.com

Originally posted by mvvilleza
This is the situation:

* I have an existing working Informix on an SCO OpenServer 5 on server A.
* I have a spare server B and installed an SCO OpenServer 5 (identical to server A).
* Since I don't have an Informix installation program, I backed up the entire Informix directory on server A and restored it on server B.
* I created a user and group Informix on Server B w/c is again identical to server A including profile, home directory and ID etc.
* I created a RAW device on server B w/c is also identical in size and name as server A.
* I made the proper permissions on the RAW device w/c is 660 to user and group Informix.
* Afterwhich, created the link at the path specified on the ONCONFIG file.
* Edited the Unix kernel parameters: SHMMAX (409600000); SEMMNI (8192); SEMMNS (8192); SEMMAP (8192); SEMMNU (100).
* Linked the kernel and reboot the machine.
* Logged in as informix, and executed oninit -i.
* Then I encountered this problem.

"fatal error in shared memory initialization". And if I look at the online.log file, it states that "The chunk <path> must have owner-ID and group-ID set to Informix"

THIS IS MY ONCONFIG FILE:

#*************************************************
*************************
#
# INFORMIX SOFTWARE, INC.
#
# Title: onconfig.std
# Description: INFORMIX-OnLine Configuration Parameters
#
#*************************************************
*************************

# Root Dbspace Configuration

ROOTNAME infdbspace1 # Root dbspace name
ROOTPATH /proj/informix/dbspaces/infdbspace1
# Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 900000 # Size of root dbspace (Kbytes)

# Disk Mirroring Configuration Parameters

MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirrored root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)

# Physical Log Configuration

PHYSDBS infdbspace1 # Location (dbspace) of physical log
PHYSFILE 10000 # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES 20 # Number of logical log files
LOGSIZE 20000 # Logical log size (Kbytes)

# Diagnostics

MSGPATH /u/informix/online1.log # System message log file path
CONSOLE /dev/null # System console message path
ALARMPROGRAM /u/informix/log_full1.sh # Alarm program path

# System Archive Tape Device

TAPEDEV /dev/null # Tape device path
TAPEBLK 16 # Tape block size (Kbytes)
TAPESIZE 10240 # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 16 # Log tape block size (Kbytes)
LTAPESIZE 10240 # Max amount of data to put on log tape (Kbytes)

# Optical

STAGEBLOB # INFORMIX-OnLine/Optical staging area

# System Configuration

SERVERNUM 0 # Unique id corresponding to a OnLine instance
DBSERVERNAME mib1dbsvr1 # Name of default database server
DBSERVERALIASES # List of alternate dbservernames
NETTYPE ipcshm,,, # Configure poll thread(s) for nettype
NETTYPE tlitcp,,, # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed 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 vps to 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 200 # Maximum number of shared buffers
NUMAIOVPS # Number of IO vps
PHYSBUFF 32 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)
LOGSMAX 20 # Maximum number of logical log files
CLEANERS 1 # Number of buffer cleaner processes
SHMBASE 0x10000000 # Shared memory base address
SHMVIRTSIZE 8000 # initial virtual shared memory segment size
SHMADD 8192 # Size of new 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 cleaning limit
LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
LTXHWM 50 # Long transaction high water mark percentage
LTXEHWM 60 # Long transaction high water mark (exclusive)
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 32 # Stack size (Kbytes)

# System Page Size
# BUFFSIZE - OnLine no longer supports this configuration parameter.
# To determine the page size used by OnLine on your platform
# see the last line of output from the command, 'onstat -b'.


# Recovery Variables
# OFF_RECVRY_THREADS:
# Number of parallel worker threads during fast recovery or an offline restore.
# ON_RECVRY_THREADS:
# Number of parallel worker threads during an online restore.

OFF_RECVRY_THREADS 10 # Default number of offline worker threads
ON_RECVRY_THREADS 1 # Default number of online worker threads

# Data Replication Variables
# DRAUTO: 0 manual, 1 retain type, 2 reverse type
DRAUTO 0 # DR automatic switchover
DRINTERVAL 30 # DR max time between DR buffer flushes (in sec)
DRTIMEOUT 30 # DR network timeout (in sec)
DRLOSTFOUND /u/informix/etc/dr.lostfound # DR lost+found file path

# Backup/Restore variables
BAR_ACT_LOG /tmp/bar_act.log
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 31

# Read Ahead Variables
RA_PAGES # Number of pages to attempt to read ahead
RA_THRESHOLD # Number of pages left before next group

# DBSPACETEMP:
# OnLine equivalent of DBTEMP for SE. This is the list of dbspaces
# that the OnLine SQL Engine will use to create temp tables etc.
# If specified it must be a colon separated list of dbspaces that exist
# when the OnLine system is brought online. If not specified, or if
# all dbspaces specified are invalid, various ad hoc queries will create
# temporary files in /tmp instead.

DBSPACETEMP # Default temp dbspaces

# DUMP*:
# The following parameters control the type of diagnostics information which
# is preserved when an unanticipated error condition (assertion failure) occurs
# during OnLine operations.
# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.

DUMPDIR /tmp # Preserve diagnostics in this directory
DUMPSHMEM 0 # Dump a copy of shared memory
DUMPGCORE 0 # Dump a core image using 'gcore'
DUMPCORE 0 # Dump a core image (Warning:this aborts OnLine)
DUMPCNT 1 # Number of shared memory or gcore dumps for
# a single user's session

FILLFACTOR 90 # Fill factor for building indexes

# method for OnLine to use when determining current time
USEOSTIME 0 # 0: use internal time(fast), 1: get time from OS(slow)

# Parallel Database Queries (pdq)
MAX_PDQPRIORITY 100 # Maximum allowed pdqpriority
DS_MAX_QUERIES # Maximum number of decision support queries
DS_TOTAL_MEMORY # Decision support memory (Kbytes)
DS_MAX_SCANS 1048576 # Maximum number of decision support scans
DATASKIP off # List of dbspaces to skip

# OPTCOMPIND
# 0 => Nested loop joins will be preferred (where
# possible) over sortmerge joins and hash joins.
# 1 => If the transaction isolation mode is not
# "repeatable read", optimizer behaves as in (2)
# below. Otherwise it behaves as in (0) above.
# 2 => Use costs regardless of the transaction isolation
# mode. Nested loop joins are not necessarily
# preferred. Optimizer bases its decision purely
# on costs.
OPTCOMPIND 2 # To hint the optimizer

ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
LBU_PRESERVE 0 # Preserve last log for log backup
OPCACHEMAX 0 # Maximum optical cache size (Kbytes)

# HETERO_COMMIT (Gateway participation in distributed transactions)
# 1 => Heterogeneous Commit is enabled
# 0 (or any other value) => Heterogeneous Commit is disabled
HETERO_COMMIT 0

SQLHOSTS file:

mib1dbsvr2 ontlitcp mib1 mib1port2

SERVICES file:

mib1port2 2002/tcp

Informix .profile:

:
# @(#) profile 26.1 95/09/18
#
# Copyright (C) 1989-1995 The Santa Cruz Operation, Inc.
# All Rights Reserved.
# The information in this file is provided for the exclusive use of
# the licensees of The Santa Cruz Operation, Inc. Such users have the
# right to use, modify, and incorporate this code into other products
# for purposes authorized by the license agreement provided they include
# this notice and the associated copyright notice with any such product.
# The information in this file is provided "AS IS" without warranty.
#
# .profile -- Commands executed by a login Bourne shell
#

trap abort 2 15
INFORMIXDIR="/proj/informix"
EDITOR=vi

PATH=.:$HOME/bin:/proj/informix:/proj/informix/bin:$PATH #set command search path
CDPATH=.:$ATSLIB:$HOME/src:$HOME/src/work:$HOME/src/installed:$HOME/bin:


PS1=$LOGNAME"@`uname -n`->>"
MAIL=/usr/spool/mail/`logname` # mailbox location
export PATH MAIL INFORMIXDIR CDPATH EDITOR EXINIT

# use default system file creation mask

#eval `tset -m ansi:${TERM:-ansi} -m :\?${TERM:-ansi} -r -s -Q`

/usr/bin/prwarn # issue a warning if password due to expire

setcolor -n lt_green


clear
INFORMIXSERVER=mib1dbsvr2
ONCONFIG=onconfig.db2

export INFORMIXSERVER ONCONFIG DBPRINT ATSINSTALLDIR EXINIT CDPATH

Sandor
07-14-03, 06:23
It is important that after a manual copy set the owner and grup right for oninit

eg.
-rwsr-sr-- 1 root informix 10254130 Jul 10 17:44 /usr/informix/bin/oninit

Also check you ROOT device is should have the right 660
and owner and group informix !!!

jh1213
07-25-03, 06:33
services port between 5000 and 19999

apichaij
08-18-03, 04:27
[QUOTE][SIZE=1]Originally posted by mvvilleza
This is the situation:

* I have an existing working Informix on an SCO OpenServer 5 on server A.
* I have a spare server B and installed an SCO OpenServer 5 (identical to server A).
* Since I don't have an Informix installation program, I backed up the entire Informix directory on server A and restored it on server B.
* I created a user and group Informix on Server B w/c is again identical to server A including profile, home directory and ID etc.
* I created a RAW device on server B w/c is also identical in size and name as server A.
* I made the proper permissions on the RAW device w/c is 660 to user and group Informix.
* Afterwhich, created the link at the path specified on the ONCONFIG file.
* Edited the Unix kernel parameters: SHMMAX (409600000); SEMMNI (8192); SEMMNS (8192); SEMMAP (8192); SEMMNU (100).
* Linked the kernel and reboot the machine.
* Logged in as informix, and executed oninit -i.
* Then I encountered this problem.

"fatal error in shared memory initialization". And if I look at the online.log file, it states that "The chunk <path> must have owner-ID and group-ID set to Informix"

=====================================
Plase check sqlhosts file $INFORMIXDIR/etc/sqlhosts

examples: (note : SERVER_NAME is host name )



db01 ontlitcp SERVER_NAME sqlexec
aliasdb01 onipcshm SERVER_NAME sqltcp