Restore Informix software & Database to another server
Posted in 2004
A user cloned an Informix 7.31 setup on Solaris 2.6 to a second machine by ufsdump/ufsrestore of $INFORMIXDIR and the chunk files, but oninit failed during logical recovery with "shmget: [ENOMEM]... out of shared memory" and a fatal shared-memory initialisation error. Respondents pointed out the new box's kernel wasn't tuned: its /etc/system shared-memory parameters (SHMMAX etc.) were still at defaults, and should be set to the minima listed in $INFORMIXDIR/release notes or copied from the working server. Once the instance starts with matching dbspaces, the ontape level-0 restore should work. The poster didn't confirm back, so no confirmed outcome is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Backup & Restore, Storage & Space Management, Stored Procedures & SPL, Server Administration, Logging & Checkpoints, Platform-Specific Issues
We are trying to backup the server which includes the Informix 7.31
application and the data and restore to another server.
We are running the Informix in SUN Solaris 2.6, backup the server using
"ufsdump" to the tape drive and restore using the "ufsrestore" to another
server (with the same directory structure and hardware).
We use "ufsdump" to backup the informix software and also all the Informix
chunk directories after we shutdown the Informix using "onmode -ky".
We also did an "ontape" level 0 backup to a tape.
After we restore the application and the Informix chunk directory, when we
try to start the Informix engine using "oninit", the server go into "FAST
RECOVERY" mode, after few minutes, it display message "oninit: Fatal error
in shared memory initialization".
The following are the message recorded in the online.log:
13:41:32 Informix Dynamic Server Initialized -- Shared Memory Initialized.
13:41:32 Physical Recovery Started.
13:45:16 Physical Recovery Complete: 84946 Pages Restored.
13:45:16 Logical Recovery Started.
13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory, checksystem
max shared memory segment size
13:45:16 out of virtual shared memory
13:45:16 Cannot Rollforward from Checkpoint.
13:45:17 Informix Dynamic Server Stopped.
13:45:18 mt_shm_remove: WARNING: may not have removed all/correct segments
After that, we check the "onstat -", and receive message "shared memory not
initialized for INFORMIXSERVER 'informix'".
Is this the way to do it and how can I get the Informix engine up to restore
from the "ontape" backup ?
Regards,
KW Foo
"KW Foo" <hovid@streamyx.com> wrote in message
news:400b8473$1_2@news.tm.net.my...
> We are trying to backup the server which includes the Informix 7.31
> application and the data and restore to another server.
the message recorded in the online.log:
>
> 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory, check> system
> max shared memory segment size
> 13:45:16 out of virtual shared memory
And have you checked this?
The foolproof way of recovering an Informix database server is through the
use of an Informix utlity ontape. If all your Informix chunks are on file
system and you shut down the db before the ufsdump it should work, although
this implies that you are not using KAIO, which gives significant
performance advantages on your platform.
Have you checked that the /etc/system on the second server is correct
KW Foo wrote:
>
> We are trying to backup the server which includes the Informix 7.31
> application and the data and restore to another server.
>
> We are running the Informix in SUN Solaris 2.6, backup the server using
> "ufsdump" to the tape drive and restore using the "ufsrestore" to another
> server (with the same directory structure and hardware).
>
> We use "ufsdump" to backup the informix software and also all the Informix
> chunk directories after we shutdown the Informix using "onmode -ky".
>
> We also did an "ontape" level 0 backup to a tape.
>
> After we restore the application and the Informix chunk directory, when we
> try to start the Informix engine using "oninit", the server go into "FAST
> RECOVERY" mode, after few minutes, it display message "oninit: Fatal error
> in shared memory initialization".
>
> The following are the message recorded in the online.log:
>
> 13:41:32 Informix Dynamic Server Initialized -- Shared Memory Initialized.
> 13:41:32 Physical Recovery Started.
> 13:45:16 Physical Recovery Complete: 84946 Pages Restored.
> 13:45:16 Logical Recovery Started.
> 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory, check> system
> max shared memory segment size
> 13:45:16 out of virtual shared memory
>
> 13:45:16 Cannot Rollforward from Checkpoint.
> 13:45:17 Informix Dynamic Server Stopped.
> 13:45:18 mt_shm_remove: WARNING: may not have removed all/correct segments>
> After that, we check the "onstat -", and receive message "shared memory not
> initialized for INFORMIXSERVER 'informix'".
>
> Is this the way to do it and how can I get the Informix engine up to restore
> from the "ontape" backup ?
>
> Regards,
> KW Foo
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #
Forgot to mentioned something
The new server is using different file system - Veritas File System and we
only backup and restore the informix related directory ($INFORMIXDIR,
logical dbs, physical dbs, root dbs, temp dbs & data dbs) not the OS. The
new server contain some OS patches where it does not install in the old
server. Does it affect the system ?
BTW, what is KAIO and what is the benefits of using this ?
Regards,
KW Foo
---
"Neil Truby" <neil.truby@ardenta.com> wrote in message
news:bug3el$gkaea$1@ID-162943.news.uni-berlin.de...
> "KW Foo" <hovid@streamyx.com> wrote in message
> news:400b8473$1_2@news.tm.net.my...
> > We are trying to backup the server which includes the Informix 7.31
> > application and the data and restore to another server.
> the message recorded in the online.log:
> >
>
> > 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory,check
> > system
> > max shared memory segment size
> > 13:45:16 out of virtual shared memory>
> And have you checked this?
>
> The foolproof way of recovering an Informix database server is through the
> use of an Informix utlity ontape. If all your Informix chunks are on file
> system and you shut down the db before the ufsdump it should work,
although
> this implies that you are not using KAIO, which gives significant
> performance advantages on your platform.
>
>
What should I check in the /etc/system ?
Regards,
KW Foo
--
"Paul Watson" <paul@oninit.com> wrote in message
news:400B9841.75DB2436@oninit.com...
> Have you checked that the /etc/system on the second server is correct
>
> KW Foo wrote:
> >
> > We are trying to backup the server which includes the Informix 7.31
> > application and the data and restore to another server.
> >
> > We are running the Informix in SUN Solaris 2.6, backup the server using
> > "ufsdump" to the tape drive and restore using the "ufsrestore" to
another
> > server (with the same directory structure and hardware).
> >
> > We use "ufsdump" to backup the informix software and also all the
Informix
> > chunk directories after we shutdown the Informix using "onmode -ky".
> >
> > We also did an "ontape" level 0 backup to a tape.
> >
> > After we restore the application and the Informix chunk directory, when
we
> > try to start the Informix engine using "oninit", the server go into
"FAST
> > RECOVERY" mode, after few minutes, it display message "oninit: Fatal
error
> > in shared memory initialization".
> >
> > The following are the message recorded in the online.log:
> >
> > 13:41:32 Informix Dynamic Server Initialized -- Shared MemoryInitialized.
> > 13:41:32 Physical Recovery Started.
> > 13:45:16 Physical Recovery Complete: 84946 Pages Restored.
> > 13:45:16 Logical Recovery Started.
> > 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory,check
> > system
> > max shared memory segment size
> > 13:45:16 out of virtual shared memory
> >
> > 13:45:16 Cannot Rollforward from Checkpoint.
> > 13:45:17 Informix Dynamic Server Stopped.
> > 13:45:18 mt_shm_remove: WARNING: may not have removed all/correctsegments
> >
> > After that, we check the "onstat -", and receive message "shared memory
not
> > initialized for INFORMIXSERVER 'informix'".
> >
> > Is this the way to do it and how can I get the Informix engine up to
restore
> > from the "ontape" backup ?
> >
> > Regards,
> > KW Foo
>
> --
> Paul Watson #
> Oninit Ltd # Growing old is mandatory
> Tel: +44 1436 672201 # Growing up is optional
> Fax: +44 1436 678693 #
> Mob: +44 7818 003457 #
> www.oninit.com #
>> > The new server is using different file system - Veritas File System and
we
> only backup and restore the informix related directory ($INFORMIXDIR,
> logical dbs, physical dbs, root dbs, temp dbs & data dbs) not the OS. The
> new server contain some OS patches where it does not install in the old
> server. Does it affect the system ?
As your Informix message log suggests, and as Paul Watson suggested, you
have probably failed to configure your UNIX system as per the suggested
minima in $INFORMIXDIR/release. Check the contents of your kernel parameter
file - /etc/system on Solaris I think.
kaio is Kernel Asynchronus I/O. You can find some info about it in the
Informix FAQ at http://www.smooth1.demon.co.uk
--
Neil Truby t:01932 724027
Director m:07798 811708
Ardenta Limited e:neil.truby@ardenta.com
"KW Foo" <hovid@streamyx.com> wrote in message
news:400bb334$1_2@news.tm.net.my...
> Forgot to mentioned something
>
> The new server is using different file system - Veritas File System and we
> only backup and restore the informix related directory ($INFORMIXDIR,
> logical dbs, physical dbs, root dbs, temp dbs & data dbs) not the OS. The
> new server contain some OS patches where it does not install in the old
> server. Does it affect the system ?
>
> BTW, what is KAIO and what is the benefits of using this ?
>
> Regards,
> KW Foo
> ---
>
>
>
> "Neil Truby" <neil.truby@ardenta.com> wrote in message
> news:bug3el$gkaea$1@ID-162943.news.uni-berlin.de...
> > "KW Foo" <hovid@streamyx.com> wrote in message
> > news:400b8473$1_2@news.tm.net.my...
> > > We are trying to backup the server which includes the Informix 7.31
> > > application and the data and restore to another server.
> > the message recorded in the online.log:
> > >
> >
> > > 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory,> check
> > > system
> > > max shared memory segment size
> > > 13:45:16 out of virtual shared memory> >
> > And have you checked this?
> >
> > The foolproof way of recovering an Informix database server is through
the
> > use of an Informix utlity ontape. If all your Informix chunks are on
file
> > system and you shut down the db before the ufsdump it should work,
> although
> > this implies that you are not using KAIO, which gives significant
> > performance advantages on your platform.
> >
> >
>
>
Check the release note in $INFORMIXDIR/release/*/*/ or look in the
/etc/system on the working server
KW Foo wrote:
>
> What should I check in the /etc/system ?
>
> Regards,
> KW Foo
>
> --
> "Paul Watson" <paul@oninit.com> wrote in message
> news:400B9841.75DB2436@oninit.com...
> > Have you checked that the /etc/system on the second server is correct
> >
> > KW Foo wrote:
> > >
> > > We are trying to backup the server which includes the Informix 7.31
> > > application and the data and restore to another server.
> > >
> > > We are running the Informix in SUN Solaris 2.6, backup the server using
> > > "ufsdump" to the tape drive and restore using the "ufsrestore" to
> another
> > > server (with the same directory structure and hardware).
> > >
> > > We use "ufsdump" to backup the informix software and also all the
> Informix
> > > chunk directories after we shutdown the Informix using "onmode -ky".
> > >
> > > We also did an "ontape" level 0 backup to a tape.
> > >
> > > After we restore the application and the Informix chunk directory, when
> we
> > > try to start the Informix engine using "oninit", the server go into
> "FAST
> > > RECOVERY" mode, after few minutes, it display message "oninit: Fatal
> error
> > > in shared memory initialization".
> > >
> > > The following are the message recorded in the online.log:
> > >
> > > 13:41:32 Informix Dynamic Server Initialized -- Shared Memory> Initialized.
> > > 13:41:32 Physical Recovery Started.
> > > 13:45:16 Physical Recovery Complete: 84946 Pages Restored.
> > > 13:45:16 Logical Recovery Started.
> > > 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory,> check
> > > system
> > > max shared memory segment size
> > > 13:45:16 out of virtual shared memory
> > >
> > > 13:45:16 Cannot Rollforward from Checkpoint.
> > > 13:45:17 Informix Dynamic Server Stopped.
> > > 13:45:18 mt_shm_remove: WARNING: may not have removed all/correct> segments
> > >
> > > After that, we check the "onstat -", and receive message "shared memory
> not
> > > initialized for INFORMIXSERVER 'informix'".
> > >
> > > Is this the way to do it and how can I get the Informix engine up to
> restore
> > > from the "ontape" backup ?
> > >
> > > Regards,
> > > KW Foo
> >
> > --
> > Paul Watson #
> > Oninit Ltd # Growing old is mandatory
> > Tel: +44 1436 672201 # Growing up is optional
> > Fax: +44 1436 678693 #
> > Mob: +44 7818 003457 #
> > www.oninit.com #
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #
You may want to check you have configured the Kernel on the system you
are trying to restore too.
Looking at the online.log output you supplied, some of your shared
memeory settings are probably still set to the default
> 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory, check> system
> max shared memory segment size
so I'd look at SHMMAX etc.
Once you can brng an instance up, and provided you have the
appropriate dbspaces configured, your ontape should restore OK.
"KW Foo" <hovid@streamyx.com> wrote in message news:<400b8473$1_2@news.tm.net.my>...
> We are trying to backup the server which includes the Informix 7.31
> application and the data and restore to another server.
>
> We are running the Informix in SUN Solaris 2.6, backup the server using
> "ufsdump" to the tape drive and restore using the "ufsrestore" to another
> server (with the same directory structure and hardware).
>
> We use "ufsdump" to backup the informix software and also all the Informix
> chunk directories after we shutdown the Informix using "onmode -ky".
>
> We also did an "ontape" level 0 backup to a tape.
>
> After we restore the application and the Informix chunk directory, when we
> try to start the Informix engine using "oninit", the server go into "FAST
> RECOVERY" mode, after few minutes, it display message "oninit: Fatal error
> in shared memory initialization".
>
>
> The following are the message recorded in the online.log:
>
> 13:41:32 Informix Dynamic Server Initialized -- Shared Memory Initialized.
> 13:41:32 Physical Recovery Started.
> 13:45:16 Physical Recovery Complete: 84946 Pages Restored.
> 13:45:16 Logical Recovery Started.
> 13:45:16 shmget: [ENOMEM][12]: key 52564806: out of shared memory, check> system
> max shared memory segment size
> 13:45:16 out of virtual shared memory
>
> 13:45:16 Cannot Rollforward from Checkpoint.
> 13:45:17 Informix Dynamic Server Stopped.
> 13:45:18 mt_shm_remove: WARNING: may not have removed all/correct segments>
> After that, we check the "onstat -", and receive message "shared memory not
> initialized for INFORMIXSERVER 'informix'".
>
> Is this the way to do it and how can I get the Informix engine up to restore
> from the "ontape" backup ?
>
> Regards,
> KW Foo
Related threads
- Passport Advantage customer site
- Re: Oracle 10G
- Re: admin: can this disgusting stuff be deleted?
- RE: These crazy emails about IDS to DB2 conversion
- Re: Passport Advantage customer site