Solaris 10 Informix 10 not starting

From: Zub By (zubray@gmail.com)
Date: Sat Dec 09 2006 - 12:42:06 EST


Evening Managers,

In the middle of a job as we speak, upgrading a V440.

Everything was going swimmingly till I attempted to install Informix 10.0. I
attempted to initialise with the command "oninit -iv" and I get:

[root@SERVERNAME:/] oninit -iv

This action will initialize IBM Informix Dynamic Server;
any existing IBM Informix Dynamic Server databases will NOT be accessible -
Do you wish to continue (y/n)? y
Checking group membership to determine server run mode...succeeded
Reading configuration file '/usr/informix/etc/onconfig'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Creating infos file "/usr/informix/etc/.infos.online1"...succeeded
Linking conf file "/usr/informix/etc/.conf.online1"...succeeded
Writing to infos file...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 22142 kbytes...succeeded
Allocating 200016 kbytes for buffer pool of 2K page size...succeeded
Initializing rhead structure...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
Creating VP classes...succeeded
Onlining 2 additional cpu vps...succeeded
Onlining 1 IO vps...succeeded
Initialization of Encryption...succeeded
Forking main_loop thread...succeeded
Initializing DR structures...succeeded
Forking 1 'ipcshm' listener threads...succeeded
Forking 1 'tlitcp' listener threads...succeeded
Forking 1 'tlitcp' listener threads...succeeded
Starting tracing...succeeded
Initializing 128 flushers...succeeded
Initializing log/checkpoint information...succeeded
Opening primary chunks...succeeded
Opening mirror chunks...succeeded
Initializing dbspaces...succeeded
Validating chunks...succeeded
Creating database partition...succeeded
Initialize Async Log Flusher...succeeded
Forking btree cleaner...succeeded
Initializing DBSPACETEMP list...succeeded
SENDER IS NULL NO MAIL WILL BE SENT
SENDER IS NULL NO MAIL WILL BE SENT

I then check the logfile and get:

7:35:48 Warning: ONCONFIG dump directory (DUMPDIR) '/usr/informix/tmp' has
insecure permissions
17:35:48 Event alarms enabled. ALARMPROG =
'/usr/informix/etc/alarmprogram.sh'
17:35:48 Booting Language <c> from module <>
17:35:48 Loading Module <CNULL>
17:35:48 Booting Language <builtin> from module <>
17:35:48 Loading Module <BUILTINNULL>
17:35:52 DR: DRAUTO is 0 (Off)
17:35:52 Requested shared memory segment size rounded from 544KB to 1024KB
17:35:52 IBM Informix Dynamic Server Version 10.00.UC5 Software Serial
Number #REMOVED#

17:35:53 IBM Informix Dynamic Server Initialized -- Complete Disk
Initialized.
17:35:54 Assert Warning: I/O error, Primary Chunk '/dev/online_rootdbs' --
Offline
17:35:54 IBM Informix Dynamic Server Version 10.00.UC5
17:35:54 Who: Thread(16, flush_sub(0), 1823e544, 1)
                File: rsbuff.c Line: 5079
17:35:54 Results: Chunk is now unusable
17:35:54 Action: Repair and restore from mirror or archive
17:35:54 stack trace for pid 2578 written to /usr/informix/tmp/af.3f8f3fa
17:35:54 See Also: /usr/informix/tmp/af.3f8f3fa
17:35:54 I/O error, Primary Chunk '/dev/online_rootdbs' -- Offline
17:35:55 Assert Failed: INFORMIX-OnLine Must ABORT
        Critical media failure.
17:35:55 IBM Informix Dynamic Server Version 10.00.UC5
17:35:55 Who: Thread(16, flush_sub(0), 1823e544, 1)
                File: rsmirror.c Line: 1847
17:35:55 stack trace for pid 2578 written to /usr/informix/tmp/af.3f8f3fa
17:35:55 See Also: /usr/informix/tmp/af.3f8f3fa
17:35:57 rsmirror.c, line 1847, thread 16, proc id 2578, INFORMIX-OnLine
Must ABORT
        Critical media failure..
17:35:58 PANIC: Attempting to bring system down

I have attached sqlhosts and onconfig.

And incase your first question is access rights:

[root@HOSTNAME:/] ls -lag /dev/online_rootdbs
lrwxrwxrwx 1 root 17 Dec 9 14:32 /dev/online_rootdbs ->
/dev/md/rdsk/d110
[root@HOSTNAME:/] ls -lL /dev/online_rootdbs
crw-rw---- 1 informix informix 85, 110 Dec 9 14:33 /dev/online_rootdbs

Has anyone experienced this before? I am hoping for a simple fix obviously,
but this is my first informix install (let alone a software raided one).

Have any Solaris Patches been known to cause this ?

I appreciate any help in advance,

Regards,

Mark C
[root@THENAME:/] cat /usr/informix/etc/sqlhosts
online1 onipcshm 127.0.0.1 online1
online2 ontlitcp 127.0.0.1 9000 r=0
THENAME ontlitcp ANIPADDRESS 9000 r=0

---
[root@THENAME:/] more /usr/informix/etc/onconfig
#**************************************************************************
#
#  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 name
ROOTPATH        /dev/online_rootdbs # Path for device containing root dbspace
ROOTOFFSET      0               # Offset of root dbspace into device (Kbytes)
# As of 9.4 chunk sizes bigger than 2GB is allowed.
# Large chunks will be automatically enabled if a size greater than 2GB is
# initially specifed, otherwise large chunks can be enabled at a later time
# with the commands onmode -BC 1 and onmode -BC 2, see Informix Server Admin
# Guide for more info
#ROOTSIZE       30000           # Size of root dbspace (Kbytes)
#ROOTSIZE       8837451         # Size of root dbspace (Kbytes) (8 GB)
ROOTSIZE        20000000
# 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         rootdbs         # Location (dbspace) of physical log
#PHYSFILE       2000            # Physical log file size (Kbytes)
# Big enough not to trigger unnecessary checkpoints and avoiding physical
# log overflow (online log will show warnings if you get close to overflow
# conditions). Note, with fuzzy checkpoints the physical logs doesn't fill
# up as easy as before.
PHYSFILE        20000           # Physical log file size (Kbytes)
# Logical Log Configuration
# Note, as of 9.3 we have dynamic log allocation (see DYNAMIC_LOGS below)
# which prevents long transaction rollbacks from hanging the system.
# You still need to configure enough whith logical logs though, to avoid
# abortion of long transaction.
#
# Configure fewer larger logical logs as they are easier to manage.
#
#LOGFILES       6               # Number of logical log files
#LOGFILES       12              # Number of logical log files
LOGFILES        3
#LOGSIZE        2000            # Logical log size (Kbytes)
LOGSIZE         5000            # 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
# DB_LIBRARY_PATH:
# When loading a (C or C++) shared object (for a UDR or UDT), IDS checks that
# the user-specified path starts with one of the directory prefixes listed in
# the comma-separated list of prefixes in DB_LIBRARY_PATH. The string
# "$INFORMIXDIR/extend" must be included in DB_LIBRARY_PATH in order for
# extensibility and IBM supplied blades to work correctly.
# DB_LIBRARY_PATH $INFORMIXDIR/extend
# IFX_EXTEND_ROLE:
# 0 =>  Disable use of EXTEND role to control who can register
#               external routines. This is the default behaviour.
# 1 =>  Enable use of EXTEND role to control who can register
#               external routines.
# 10.UC4 has this one defaulted to 1.
IFX_EXTEND_ROLE 0       # To control the usage of EXTEND role.
# Tablespace Tablespace Configuration in Root Dbspace
TBLTBLFIRST     0               # First extent size (Kbytes) (0 = default)
TBLTBLNEXT      0               # Next extent size (Kbytes) (0 = default)
# Diagnostics
MSGPATH         /usr/informix/online.log # System message log file path
#CONSOLE        /dev/console    # System console message path
CONSOLE         /usr/informix/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
ALRM_ALL_EVENTS 0               # Triggers ALARMPROGRAM for any event occur
# Normally not used and adds some overhead, turn it off
#TBLSPACE_STATS  1              # Maintain tblspace statistics
TBLSPACE_STATS  0
# System Archive Tape Device
TAPEDEV         /dev/tapedev    # Tape device path
TAPEBLK         32              # Tape block size (Kbytes)
# Note, as of 9.4 set tape size to 0 and the full size of the storage media
# will be used.
#TAPESIZE       10240   # Maximum amount of data to put on tape (Kbytes)
TAPESIZE        0
# Log Archive Tape Device
#LTAPEDEV       /dev/tapedev    # Log tape device path
LTAPEDEV        /dev/null       # 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 OnLine instance
SERVERNUM       1               # Unique id corresponding to a OnLine instance
#DBSERVERNAME                   # Name of default database server
DBSERVERNAME    online1         # Name of default database server
#DBSERVERALIASES                # List of alternate dbservernames
DBSERVERALIASES online2,THENAME  # List of alternate dbservernames
#NETTYPE                        # Configure poll thread(s) for nettype
# Shared memory connections not used by the Orc system (multiple connections)
NETTYPE         ipcshm,1,50,CPU # Configure 1 poll thread for CPU
# Recommendation is max 300-350 per pollthread. Adjust to your estimated
# number of connections
NETTYPE         tlitcp,4,200,NET # Configure poll thread(s) for NET (Solaris)
#NETTYPE        soctcp,4,200,NET # Configure poll thread(s) for NET (Linux)
DEADLOCK_TIMEOUT        60      # Max time to wait of lock in distributed env.
# Lock all resident and virtual segments (make sure you have enough memory)
#RESIDENT       0               # Forced residency flag (Yes = 1, No = 0)
RESIDENT        -1              # Forced residency flag (Yes = 1, No = 0)
# Adjust according to your system, room for variations
# The following two should be treated together, MULTIPROCESSOR=1 and
# SINGLE_CPU_VP=0 or the other way around. If you have only one CPUVP
# enabling MULTIPROCESSOR just adds unnecessary locking overhead.
MULTIPROCESSOR  1               # 0 for single-processor, 1 for multi-processor
SINGLE_CPU_VP   0               # If non-zero, limit number of cpu vps to one
# See VPCLASS that follows
#NUMCPUVPS      1               # Number of user (cpu) vps
#NOAGE          0               # Process aging
#AFF_SPROC      0               # Affinity start processor
#AFF_NPROCS     0               # Affinity number of processors
# New VPCLASS format (replaces above configurations)
# Be careful considering affinity, to be useful you should have a dedicated
# database server and even then one should monitor it carefully!
VPCLASS         cpu,num=3,noage
# Shared Memory Parameters
# This value has lost importance, locks are dynamically allocated as needed.
# Use 'onstat -k | grep active' to find current usage. Each lock takes 44 bytes
# Use onstat -p and look for ovlock, if none zero inital value could be increased
#LOCKS          2000            # Maximum number of locks
LOCKS           100000          # Maximum number of locks
# Not really so important when using KAIO. Used for writing to CONSOLE and
# MSGPATH. Note also that usage pattern seems to have changed for 9.4, only
# one is used while the usage was more spread over all configured AIOVPS
# previously.
#NUMAIOVPS                      # Number of IO vps
VPCLASS         aio,num=1
#PHYSBUFF       32              # Physical log buffer size (Kbytes)
PHYSBUFF        64              # Physical log buffer size (Kbytes)
#LOGBUFF        32              # Logical log buffer size (Kbytes)
LOGBUFF         64              # Logical log buffer size (Kbytes)
#CLEANERS        1               # Number of buffer cleaner processes
# Match CLEANERS with LRUS (rule of thumb)
CLEANERS        128             # Number of buffer cleaner processes
SHMBASE         0x0A000000L     # Shared memory base address (Solaris)
#SHMBASE        0x44000000L     # Shared memory base address (Linux)
#SHMVIRTSIZE    8192            # initial virtual shared memory segment size
#SHMADD         8192            # Size of new shared memory segments (Kbytes)
# Estimation, try finding installation specific usage (onstat -g seg)
# Ideally you will not have any new shared segments added during runtime
SHMVIRTSIZE     65536           # initial virtual shared memory segment size
SHMADD          16384           # Size of new shared memory segments (Kbytes)
SHMTOTAL        0               # Total shared memory (Kbytes). 0=>unlimited
# Normally we don't want to do unnecessary checkpoints but keep CKPTINTVL
# reasonably low (30-60 min) to avoid too long fast recovery times.
#CKPTINTVL       300             # Check point interval (in sec)
CKPTINTVL       1800            # Check point interval (in sec)
TXTIMEOUT       300             # Transaction timeout (in sec)
STACKSIZE       32              # Stack size (Kbytes) (UC version, i.e 32-bit)
#STACKSIZE      64              # Stack size (Kbytes) (FC version, i.e 64-bit)
# 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 atleast 30% so that we could minimize log overrun issue.
DYNAMIC_LOGS    2
LTXHWM          70
LTXEHWM         80
# 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     /usr/informix/etc/dr.lostfound  # DR lost+found file path
DRIDXAUTO       0               # DR automatic index repair. 0=off, 1=on
# CDR Variables
CDR_EVALTHREADS 1,2     # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT  5       # DS lockwait timeout (seconds)
CDR_QUEUEMEM    4096    # Maximum amount of memory for any CDR queue (Kbytes)
CDR_NIFCOMPRESS 0       # Link level compression (-1 never, 0 none, 9 max)
CDR_SERIAL              0       # Serial Column Sequence
CDR_DBSPACE                     # dbspace for syscdr database
CDR_QHDR_DBSPACE    # CDR queue dbspace (default same as catalog)
CDR_QDATA_SBSPACE   # List of CDR queue smart blob spaces
# CDR_MAX_DYNAMIC_LOGS
# -1 => unlimited
#  0 => disable dynamic log addition
# >0 => limit the no. of dynamic log additions with the specified value.
# Max dynamic log requests that CDR can make within one server session.
CDR_MAX_DYNAMIC_LOGS    0  # Dynamic log addition disabled by default
# Backup/Restore variables
BAR_ACT_LOG   /usr/informix/bar_act.log  # ON-Bar Log file - not in /tmp please
BAR_DEBUG_LOG /usr/informix/bar_dbug.log # ON-Bar Debug Log - not in /tmp please
BAR_MAX_BACKUP  0
BAR_RETRY       1
BAR_NB_XPORT_COUNT 20
BAR_XFER_BUF_SIZE 31
RESTARTABLE_RESTORE     ON
BAR_PROGRESS_FREQ       0
# Informix Storage Manager variables
ISM_DATA_POOL   ISMData
ISM_LOG_POOL    ISMLogs
# Read Ahead Variables
# New recomendations seems to point to 32/30(24)
# 32 limit comes probably from being max value to be handled in one io
# operation. Verify with $ORC/etc/onstat_rau_ur, should be close to 100%.
#RA_PAGES                       # Number of pages to attempt to read ahead
#RA_THRESHOLD                   # Number of pages left before next group
RA_PAGES                32      # Number of pages to attempt to read ahead
RA_THRESHOLD            24      # 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         /usr/informix/tmp               # Preserve diagnostics in this directory
DUMPSHMEM       1               # 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
DS_NONPDQ_QUERY_MEM 128         # Non PDQ query memory (Kbytes)
DATASKIP               # 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
###############################################################################
#
# A L E R T ! A L E R T ! A L E R T ! A L E R T ! A L E R T ! A L E R T !
#
# For the Orc system (being an OLTP system), not using 0 is devastating!
#
OPTCOMPIND      0      # To hint the optimizer
###############################################################################
DIRECTIVES      1    # Optimizer DIRECTIVES ON (1/Default) or OFF (0)
ONDBSPACEDOWN   2      # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
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
SBSPACENAME            # Default smartblob space name - this is where blobs
                       # go if no sbspace is specified when the smartblob is
                       # created. It is also used by some datablades as
                       # the location to put their smartblobs.
SYSSBSPACENAME         # Default smartblob space for use by the Informix
                       # Server. This is used primarily for Informix Server
                       # system statistics collection.
BLOCKTIMEOUT    3600   # Default timeout for system block
SYSALARMPROGRAM    /usr/informix/etc/evidence.sh    # System Alarm program path
# Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS
OPT_GOAL        -1
ALLOW_NEWLINE   0       # embedded newlines(Yes = 1, No = 0 or anything but 1)
#Create Index Online Shared Memory usage limitation
ONLIDX_MAXMEM           5120            # Per pool per index (Kbytes)
#Timeout for client connection request
LISTEN_TIMEOUT          10              # Timeout (in Seconds)
#Following are the deprecated configuration parameters, instead of these
#use BUFFERPOOL configuration parameter
#BUFFERS, LRUS, LRU_MIN_DIRTY, LRU_MAX_DIRTY
#
# The following parameters are related to the buffer pool
#BUFFERPOOL     default,buffers=1000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
#BUFFERPOOL     size=2k,buffers=5000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
# 100000 is an empirical upper limit before checkpoints started taking to
# long time, be carefull increasing it above this value.
# We do want to have it as large as possible!
# LRU MAX/MIN small enough to trigger mostly LRU writes (onstat -F)
# As of 9.4 MAX/MIN is of float type and can have up to two decimals
BUFFERPOOL      default,buffers=25000,lrus=128,lru_min_dirty=0.5,lru_max_dirty=1.5
BUFFERPOOL      size=2k,buffers=100000,lrus=128,lru_min_dirty=0.5,lru_max_dirty=1.5
# SQL statement cache
# This is probably a good thing, enable and monitor with onstat -g ssc
STMT_CACHE      2       # Statement cache turned on, all statements cached
STMT_CACHE_HITS 3       # Require at least 3 hits before entering into cache
#STMT_CACHE_SIZE        # Size of SQL statement cache (deault 512 kbytes)
STMT_CACHE_SIZE 20480   # Size of SQL statement cache (20 MB)
---
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers


This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:41:18 EDT