Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Informix Shared Memory Initialization Error

Informix Shared Memory Initialization Error

Informix Shared Memory Initialization Error

Good Day!!

I have an Informix Server on an SCO OpenServer 5. I'm trying to initialize Informix for the first time, whenever I execute "oninit -i" I get an error message "Fatal error in shared memory initialization".

I looked at the online.log file and it says that "The chunk <path> must have owner-ID and group-ID set to Informix".

This error puzzles me coz I've set permissions (660) and user and group ownership to informix. Does anyone can help me out? Is the online.log file correct or do are my shared memory parameters wrong?

RE: Informix Shared Memory Initialization Error

Check that you have set your kernel parameter correctly (semaphores, etc) from the provided release notes for your platform.

RE: Informix Shared Memory Initialization Error

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"



# 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
# Number of parallel worker threads during fast recovery or an offline restore.
# 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

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

# 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

# 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


mib1dbsvr2 ontlitcp mib1 mib1port2


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

PATH=.:$HOME/bin:/proj/informix:/proj/informix/bin:$PATH #set command search path

PS1=$LOGNAME"@`uname -n`->>"
MAIL=/usr/spool/mail/`logname` # mailbox location

# 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



RE: Informix Shared Memory Initialization Error



I can't see that you're doing anything wrong, so let's grab at straws.  Check file permissions on your informix executables starting with oninit.  If should look similar to this:

-rwsr-sr--   1 root     informix 6634432 Oct 28 1999  /usr/informix/bin/onini


RE: Informix Shared Memory Initialization Error

Thanks Olded!!! You're an Informix Guru!!!! But how come on server A, it's functioning. When I check server A the properties is as follows

-rwsrwsrwx 1 root    root     oninit

Any explanation to this??

RE: Informix Shared Memory Initialization Error


Thanks for the compliment.  Since I'm not an expert on Informix internals, I really don't have an explanation.  I've been an Informix DBA/programmer when Online was called Turbo, and I've seen problems such as you've described moving Informix executables instead of doing an install.  The best I can tell you is try to keep the same informix id and informix group id.

My next question is "What about your Informix group?"  Did you have it assigned?



RE: Informix Shared Memory Initialization Error

Well as I've mentioned from previous posts, server A and B are identical except the hard disk and memory. Meaning the Informix ID and group ID are the same, the user informix is a member of the informix group.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close