Initializing shared memory
Posted in 2013
A new Informix user on Linux (11.70) couldn't restart his instance after 'onmode -ky': 'onmode -m' gave "shared memory not initialized", and his workaround ('onmode -i' / setting FULL_DISK_INIT=1) wiped and reinitialized the disk. Resolution: onmode only changes the mode of an already-running server; the instance must be started with 'oninit' (plain oninit = multi-user, 'oninit -j' = single-user/maintenance, then onmode -m). 'oninit -i' is for one-time instance creation only, and FULL_DISK_INIT exists to guard against accidental overwrites.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Storage & Space Management, Server Administration
I want to get this fixed before I start delving into the remote server stuff.
I have my instance up and running, and have even loaded a database into it.
The problem is when I take it down (onmode -ky), and then try to bring it up
(onmode -m) I get "shared memory not initialized for INFORMIXSERVER
'ksotinfx01'". The only way I see to resolve this is to do an 'onmode -i'
which wipes all of my database chunks (except root), and I have to reload my
database. Can anyone help me on why this is happening? I would like to be able
to take Informix down, and up without reinitializing everything. I am running
11.7.
Here is what I get if I don't set the FULL_DISK_INIT to 1:
Fri Jan 18 07:24:06 2013
07:24:06 Event alarms enabled. ALARMPROG = '/opt/informix/etc/no_log.sh'
07:24:06 Booting Language <c> from module <>
07:24:06 Loading Module <CNULL>
07:24:06 Booting Language <builtin> from module <>
07:24:06 Loading Module <BUILTINNULL>
07:24:11 DR: DRAUTO is 0 (Off)
07:24:11 DR: ENCRYPT_HDR is 0 (HDR encryption Disabled)
07:24:11 Event notification facility epoll enabled.
07:24:11 IBM Informix Dynamic Server Version 11.70.FC4 Software Serial Number
AAA#B000000
07:24:12 DISK INITIALIZATION ABORTED: potential instance overwrite detected.
To disable this check, set FULL_DISK_INIT to 1 in your config file and retry.
07:24:12 oninit: Fatal error in shared memory initialization
07:24:12 IBM Informix Dynamic Server Stopped.
07:24:12 mt_shm_remove: WARNING: may not have removed all/correct segments
John,
You start the instance with the command oninit not onmode -m.
Regards
Andy G
> To: ids@iiug.org
> From: john.callicotte@ottawa.edu
> Subject: Initializing shared memory [29299]
> Date: Fri, 18 Jan 2013 08:18:40 -0500
>
> I want to get this fixed before I start delving into the remote server stuff.
> I have my instance up and running, and have even loaded a database into it.
> The problem is when I take it down (onmode -ky), and then try to bring it up
> (onmode -m) I get "shared memory not initialized for INFORMIXSERVER
> 'ksotinfx01'". The only way I see to resolve this is to do an 'onmode -i'
> which wipes all of my database chunks (except root), and I have to reload my
> database. Can anyone help me on why this is happening? I would like to be
able
> to take Informix down, and up without reinitializing everything. I am running
> 11.7.
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
OK, so it looks like if I do 'oninit -j' then I'm good. I guess I need to read
the options more carefully. Sorry to take up space.
Wow!....
Pardon me if my next statements seem to rough...
Are you a new Informix user? Or customer? Or have you inherited a system?
You need to gather some very basic concepts... It's true that the
documentation os onmode may have given that idea... "-m puts the engine in
multi-user mode"....
But onmode -m must be used to change the mode of an already running
engine.... and to start up an engine you need to simply run "oninit"
You know the saying.... "when something feels wrong, it probably is". It
wouldn't be possible to use a database that you couldn't start...
The "-i" option is usually a one time usage only... Than simply use
"oninit" (or "oninit -v" to give you more information)
Regards.
On Fri, Jan 18, 2013 at 1:18 PM, JOHN CALLICOTTE <john.callicotte@ottawa.edu
> wrote:
> I want to get this fixed before I start delving into the remote server
> stuff.
> I have my instance up and running, and have even loaded a database into it.
> The problem is when I take it down (onmode -ky), and then try to bring it
> up
> (onmode -m) I get "shared memory not initialized for INFORMIXSERVER
> 'ksotinfx01'". The only way I see to resolve this is to do an 'onmode -i'
> which wipes all of my database chunks (except root), and I have to reload
> my
> database. Can anyone help me on why this is happening? I would like to be
> able
> to take Informix down, and up without reinitializing everything. I am
> running
> 11.7.
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--f46d043be17c57d09904d390128a
Check my other reply.... FULL_DISK_INIT was a parameter introduced in 11.70
to prevent users from using -i by mistake (typically the times that -i was
used by mistake was the total number of times - 1 - the first time -) :)
Regards.
On Fri, Jan 18, 2013 at 1:25 PM, JOHN CALLICOTTE <john.callicotte@ottawa.edu
> wrote:
> Here is what I get if I don't set the FULL_DISK_INIT to 1:
>
> Fri Jan 18 07:24:06 2013
>
> 07:24:06 Event alarms enabled. ALARMPROG = '/opt/informix/etc/no_log.sh'
> 07:24:06 Booting Language <c> from module <>
> 07:24:06 Loading Module <CNULL>
> 07:24:06 Booting Language <builtin> from module <>
> 07:24:06 Loading Module <BUILTINNULL>
> 07:24:11 DR: DRAUTO is 0 (Off)
> 07:24:11 DR: ENCRYPT_HDR is 0 (HDR encryption Disabled)
> 07:24:11 Event notification facility epoll enabled.
> 07:24:11 IBM Informix Dynamic Server Version 11.70.FC4 Software Serial
> Number
> AAA#B000000
> 07:24:12 DISK INITIALIZATION ABORTED: potential instance overwrite
> detected.
> To disable this check, set FULL_DISK_INIT to 1 in your config file and
> retry.
>
> 07:24:12 oninit: Fatal error in shared memory initialization
>
> 07:24:12 IBM Informix Dynamic Server Stopped.
>
> 07:24:12 mt_shm_remove: WARNING: may not have removed all/correct segments
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--20cf307abe45aa399804d3901820
I am setting Informix up for the first time on a Linux server. I have never done any of this before. No offense taken.
John:
oninit -j will indeed start the engine, but will leave it in a maintenancemode where only user informix can connect to it. You would bring it up to
full online multi-user mode with onmode -m after it comes online. Or you
can start it with oninit -m (or just oninit since -m is the default) to
start the engine directly into multi-user mode.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions
and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
other organization with which I am associated either explicitly,
implicitly, or by inference. Neither do those opinions reflect those of
other individuals affiliated with any entity with which I am affiliated nor
those of the entities themselves.
On Fri, Jan 18, 2013 at 8:28 AM, JOHN CALLICOTTE <john.callicotte@ottawa.edu
> wrote:
> OK, so it looks like if I do 'oninit -j' then I'm good. I guess I need to
> read
> the options more carefully. Sorry to take up space.
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--14dae934077f8675bb04d390ebaf
oninit -j will start and leave it in single user.oninit without options will start it and leave it in multi-user mode.
oninit -i will destroy the instance (used to create a new instance)
On Fri, Jan 18, 2013 at 1:28 PM, JOHN CALLICOTTE <john.callicotte@ottawa.edu
> wrote:
> OK, so it looks like if I do 'oninit -j' then I'm good. I guess I need to
> read
> the options more carefully. Sorry to take up space.
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--bcaec5171e0162256104d3910d45