Re: Oninit from cron leaves engine in permanent fast recovery
Posted in 2005
Hi,
for a test try to execute "oninit" instead of "oninit -v"
in your script. I suspect that the problem may
somehow have to do with the fact that the "oninit"
processes write to stdout when IDS is started with
"oninit -v". (Handling of stdout and stderr for
processes started by cron is a bit different from
the handling done by a shell.)
If that fixes the problem, then please let me know.
To check in your script whether "oninit" started the
server correctly, you can use "onstat -" output,
maybe after a further delay (sleep) of 10 seconds ...
Other than that I've no good idea at the moment.
Maybe you want to check after "onmode -yuk" that
no clients, onbar processes, etc. are still hanging
around trying to connect ...
Regards,
Martin
--
Martin Fuerderer
IBM Informix Development Munich, Germany
Information Management
owner-informix-list@iiug.org wrote on 05.10.2005 19:44:04:
> Hi
>
> We have a requirement to automatically bounce our 9.40.FC6 instance on
> AIX 5.2.
>
> The idea is to use cron (informix) to run a script that sets the
> correct environment, etc. and then issues a 'onmode -yuk', sleeps for
> 30 seconds then issues a 'oninit -v'.
>
> This script ... and a cut-down wee version ... runs simply and
> beautifully from the informix shell. But, when cron executes the
> script the instance stops cleanly but fails to restart.
>
> We have compared environments and have not found anything obvious that
> could account for this strange behaviour.
>
> Have any of you experienced anything like this before? I have included
> the output from the script for both shell and cron methods of
> execution. I have not included any configuration information as yet.
> This would appear to be a deep-rooted problem, possibly to do with
> process management under AIX ... or something like that ... ?! My
> AIX/UNIX knowledge doesn't stretch that far!
>
> Thanks in advance for any help anyone can offer.
>
> Yours dsperately,
> Mr Zap
>
> Script
> -----------------------------------------
> #!/bin/ksh
> . /opt/informixdba/Profiles/dba_profile 940 shm
> /usr/informix/bin/onmode -yuk
> sleep 30
> /usr/informix/bin/oninit -v
> -----------------------------------------
> Output from shell
> -----------------------------------------
> Checking group membership to determine server run modesucceeded
> Reading configuration file
> '/usr/informix/etc/onconfig.gimukldnp01_00'...succeeded
> Creating /INFORMIXTMP/.infxdirs ... succeeded
> Creating infos file "/usr/informix/etc/.infos.gimukldnp01_00" ...
> "/usr/informix/etc/.conf.gimukldnp01_00" ... succeeded
> Writing to infos file ... succeeded
> Checking config parameters...succeeded
> Allocating and attaching to shared memory...succeeded
> Creating resident pool 43988 kbytes...succeeded
> Creating buffer pool 800000 kbytes...succeeded
> Creating buffer pool 8 kbytes...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 0 additional cpu vps...succeeded
> Onlining 2 IO vps...succeeded
> Initialization of Encryption...succeeded
> Forking main_loop thread...succeeded
> Initializing DR structures...succeeded
> Forking 1 'sqlmux' listener threads...succeeded
> Forking 1 'ipcshm' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Starting tracing...succeeded
> Initializing 6 flushers...succeeded
> Initializing log/checkpoint information...succeeded
> Opening primary chunks...succeeded
> Opening mirror chunks...succeeded
> Initializing dbspaces...succeeded
> Validating chunks...succeeded
> Initialize Async Log Flusher...succeeded
> Forking btree cleaner...succeeded
> Initializing DBSPACETEMP list
> Checking database partition index...succeeded
> Checking location of physical log...succeeded
> Initializing dataskip structure...succeeded
> Checking for temporary tables to drop
> Forking onmode_mon thread...succeeded
> Verbose output complete: mode = 5
> -----------------------------------------
> onstat -
> -----------------------------------------
> IBM Informix Dynamic Server Version 9.40.FC6 -- On-Line -- Up
> 00:06:42 -- 1633776 Kbytes
> -----------------------------------------> Output from cron
> -----------------------------------------
> Checking group membership to determine server run modesucceeded
> Reading configuration file
> '/usr/informix/etc/onconfig.gimukldnp01_00'...succeeded
> Creating /INFORMIXTMP/.infxdirs ... succeeded
> Creating infos file "/usr/informix/etc/.infos.gimukldnp01_00" ...
> "/usr/informix/etc/.conf.gimukldnp01_00" ... succeeded
> Writing to infos file ... succeeded
> Checking config parameters...succeeded
> Allocating and attaching to shared memory...succeeded
> Creating resident pool 43988 kbytes...succeeded
> Creating buffer pool 800000 kbytes...succeeded
> Creating buffer pool 8 kbytes...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 0 additional cpu vps...succeeded
> Onlining 2 IO vps...succeeded
> Initialization of Encryption...succeeded
> Forking main_loop thread...succeeded
> Initializing DR structures...succeeded
> Forking 1 'sqlmux' listener threads...succeeded
> Forking 1 'ipcshm' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Forking 1 'soctcp' listener threads...succeeded
> Starting tracing...succeeded
> Initializing 6 flushers...succeeded
> Initializing log/checkpoint information...succeeded
> Opening primary chunks...succeeded
> Opening mirror chunks...succeeded
> Initializing dbspaces...succeeded
> Validating chunks...succeeded
> Initialize Async Log Flusher...succeeded
> Forking btree cleaner...succeeded
> Initializing DBSPACETEMP list
> -----------------------------------------
> onstat -
> -----------------------------------------
> IBM Informix Dynamic Server Version 9.40.FC6 -- Fast Recovery -- Up
> 00:00:06 -- 1633776 Kbytes
> ----------------------------------------->
> It stays in fast recovery mode so long ... we have to kill the oninit
> processes!
>
> All of the dbspaces are valid ... including temp spaces.
sending to informix-list