Temporary Restore of 1 dbspace
Posted in 2008
Jacques needed to recover one column of one table from an onbar/Networker backup of IDS 9.21 on Solaris, without touching production. Since table-level restore via archecker only exists from IDS 10, the advice was to build a separate small instance on another machine: copy INFORMIXDIR, keep ROOTDBS/disk layout matching (chunk paths can be symlinks to zero-length cooked files), change INFORMIXDIR/SERVERNUM/DBSERVERNAME freely, trim ixbar.0 to point at the older archive, then cold-restore rootdbs (onbar -r rootdbs) and warm-restore the target dbspace — plus the dbspace holding the database's system catalog if it lives elsewhere — and unload the table. Art confirmed the plan; no follow-up report of the outcome.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Installation, Setup & Upgrades, Storage & Space Management, Logging & Checkpoints
Hi guys, anyone available who can help me out ? Is there a possibility to restore 1 single dbspace (backup done with networker) in a different location without interfering with production ? (If necessary in a new instance) In fact we need to recover the info of 1 column in 1 specific table. Due to the installation of a new release of an application, the structure of the table has changed, and now it seems that the customer used an "old, unused" field to store other information. After the reorgisation of the table, this info is lost. Can I create a new instance, only consisting of rootdbs, tempspace and the dbspace involved and restore this dbspace (logical logs are not necessary) ? If yes what's the command to use ? Any help would be appreciated !! Thanks Jacques Lapeire
What version of the engine? If 10 or above you can restore just the table ... "JACQUES LAPEIRE" <jacques.lapeire@siemens.com> Sent by: ids-bounces@iiug.org 01/02/2008 09:47 AM Please respond to ids@iiug.org To ids@iiug.org cc Subject Temporary Restore of 1 dbspace [10824] Hi guys, anyone available who can help me out ? Is there a possibility to restore 1 single dbspace (backup done with networker) in a different location without interfering with production ? (If necessary in a new instance) In fact we need to recover the info of 1 column in 1 specific table. Due to the installation of a new release of an application, the structure of the table has changed, and now it seems that the customer used an "old, unused" field to store other information. After the reorgisation of the table, this info is lost. Can I create a new instance, only consisting of rootdbs, tempspace and the dbspace involved and restore this dbspace (logical logs are not necessary) ? If yes what's the command to use ? Any help would be appreciated !! Thanks Jacques Lapeire ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum. See you at the IIUG Informix 2008 Conference The Power Conference for Informix Professionals April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas http://www.iiug.org/conf Registration Now Open!!
Still running 9.21 UC7 on Solaris platform Jacques -----Original Message----- From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of Peter_Logan@spartanstores.com Sent: woensdag 2 januari 2008 16:05 To: ids@iiug.org Subject: Re: Temporary Restore of 1 dbspace [10825] What version of the engine? If 10 or above you can restore just the table .... "JACQUES LAPEIRE" <jacques.lapeire@siemens.com> Sent by: ids-bounces@iiug.org 01/02/2008 09:47 AM Please respond to ids@iiug.org To ids@iiug.org cc Subject Temporary Restore of 1 dbspace [10824] Hi guys, anyone available who can help me out ? Is there a possibility to restore 1 single dbspace (backup done with networker) in a different location without interfering with production ? (If necessary in a new instance) In fact we need to recover the info of 1 column in 1 specific table. Due to the installation of a new release of an application, the structure of the table has changed, and now it seems that the customer used an "old, unused" field to store other information. After the reorgisation of the table, this info is lost. Can I create a new instance, only consisting of rootdbs, tempspace and the dbspace involved and restore this dbspace (logical logs are not necessary) ? If yes what's the command to use ? Any help would be appreciated !! Thanks Jacques Lapeire ************************************************************************ ******* Forum Note: Use "Reply" to post a response in the discussion forum. See you at the IIUG Informix 2008 Conference The Power Conference for Informix Professionals April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas http://www.iiug.org/conf Registration Now Open!! ************************************************************************ ******* Forum Note: Use "Reply" to post a response in the discussion forum. See you at the IIUG Informix 2008 Conference The Power Conference for Informix Professionals April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas http://www.iiug.org/conf Registration Now Open!!
JACQUES LAPEIRE wrote:
> Hi guys,
>
> anyone available who can help me out ?
>
> Is there a possibility to restore 1 single dbspace (backup done with
> networker) in a different location without interfering with production ?
> (If necessary in a new instance)
>
You COULD restore the rootdbs only as a cold restore then perform a warm
restore of the single dbspace. You'd need to do this on another machine
since, unless you are using IDS 11.10 (you should always specify version
and platform at least when you post), you'll have to restore to the same
chunkpaths as the original instance. But there is a better way if you
have at least IDS 10.00 or later!
> In fact we need to recover the info of 1 column in 1 specific table.
>
Since version 10.00 you can, with the archecker utility, do almost
EXACTLY that. Create a table with just the key columns and the one lost
column. Then you can use archecker to restore the data from just those
columns in the table from the archive and insert the data into the new
table. The archecker in 10.00 or 11.10 MAY permit reading archives from
earlier releases, I don't know if it has the version checks that ontape
and onbar insist on. If not you may be able to use the archecker from
the IIUG download version of IDS 11.10 for this restore.
> Due to the installation of a new release of an application, the structure of
> the table has changed, and now it seems that the customer used an "old,
> unused" field to store other information.
> After the reorgisation of the table, this info is lost.
>
Ouch! Good thing that they have an archive.
> Can I create a new instance, only consisting of rootdbs, tempspace and the
> dbspace involved and restore this dbspace (logical logs are not necessary) ?
>
> If yes what's the command to use ?
>
> Any help would be appreciated !!
>
> Thanks
> Jacques Lapeire
>
Art S. Kagel
The only way I know is to set up a similar server and do a remote restore .... but you will have to restore the entire instance ... "Lapeire, Jacques" <jacques.lapeire@siemens.com> Sent by: ids-bounces@iiug.org 01/02/2008 10:18 AM Please respond to ids@iiug.org To ids@iiug.org cc Subject RE: Temporary Restore of 1 dbspace [10826] Still running 9.21 UC7 on Solaris platform Jacques -----Original Message----- From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of Peter_Logan@spartanstores.com Sent: woensdag 2 januari 2008 16:05 To: ids@iiug.org Subject: Re: Temporary Restore of 1 dbspace [10825] What version of the engine? If 10 or above you can restore just the table ..... "JACQUES LAPEIRE" <jacques.lapeire@siemens.com> Sent by: ids-bounces@iiug.org 01/02/2008 09:47 AM Please respond to ids@iiug.org To ids@iiug.org cc Subject Temporary Restore of 1 dbspace [10824] Hi guys, anyone available who can help me out ? Is there a possibility to restore 1 single dbspace (backup done with networker) in a different location without interfering with production ? (If necessary in a new instance) In fact we need to recover the info of 1 column in 1 specific table. Due to the installation of a new release of an application, the structure of the table has changed, and now it seems that the customer used an "old, unused" field to store other information. After the reorgisation of the table, this info is lost. Can I create a new instance, only consisting of rootdbs, tempspace and the dbspace involved and restore this dbspace (logical logs are not necessary) ? If yes what's the command to use ? Any help would be appreciated !! Thanks Jacques Lapeire ************************************************************************ ******* Forum Note: Use "Reply" to post a response in the discussion forum. See you at the IIUG Informix 2008 Conference The Power Conference for Informix Professionals April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas http://www.iiug.org/conf Registration Now Open!! ************************************************************************ ******* Forum Note: Use "Reply" to post a response in the discussion forum. See you at the IIUG Informix 2008 Conference The Power Conference for Informix Professionals April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas http://www.iiug.org/conf Registration Now Open!! ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum. See you at the IIUG Informix 2008 Conference The Power Conference for Informix Professionals April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas http://www.iiug.org/conf Registration Now Open!!
> Jacques wrote:
>Is there a possibility to restore 1 single dbspace (backup done
> with networker) in a different location without interfering
> with production ? .........
> running 9.21 UC7 on Solaris platform
I am not familiar with networker, are you doing your IDS backups with
ONTAPE or ONBAR? I agree, restore to a different location (do you have
a test server, doesn't have to be as big as production server (space or
power)). I agree with Art, look at cold restoring only rootdbs, then
warm restore of just the dbspace you want. Then bring IDS up. No, you
won't have a complete copy of production, but you only wanted one
dbspace to go after one table...
I was IDS 9.4 FCx on Solaris 8 & 9 a long time with onbar & netbackup.
Norma Jean
.
.
.
============================================================
The information contained in this message may be privileged
and confidential and protected from disclosure. If the reader
of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the
intended recipient, you are hereby notified that any reproduction,
dissemination or distribution of this communication is strictly
prohibited. If you have received this communication in error,
please notify us immediately by replying to the message and
deleting it from your computer. Thank you. Tellabs
============================================================
Sebastian, Norma J. wrote:
>> Jacques wrote:
>> Is there a possibility to restore 1 single dbspace (backup done
>> with networker) in a different location without interfering
>> with production ? .........
>> running 9.21 UC7 on Solaris platform
>>
>
>
Just one additional thought, if the system catalog of the database
containing the table which you want to restore is not in the dbspace
containing the table, you'll also have to restore the dbspace containing
the database catalog.
Art S. Kagel
Oninit
> I am not familiar with networker, are you doing your IDS backups with
> ONTAPE or ONBAR? I agree, restore to a different location (do you have
> a test server, doesn't have to be as big as production server (space or
> power)). I agree with Art, look at cold restoring only rootdbs, then
> warm restore of just the dbspace you want. Then bring IDS up. No, you
> won't have a complete copy of production, but you only wanted one
> dbspace to go after one table...
> I was IDS 9.4 FCx on Solaris 8 & 9 a long time with onbar & netbackup.
> Norma Jean
> ..
>
>
Here's what I am thinking Art,
Jacques could tar up his informixdir, lay it down on test system (or do
a fresh/simple install on test server), bring up a tiny engine (little
onconfig settings), cook the file space for all we care... Create a
little DB and a little table just to make sure little engine is
fine...And try the restore (again, I don't know "networker" or if onbar
or ontape are being used).
He might have to restore a few times if there are things missing like
system catalog (if not in root).... But in the end getting that dbspace
restored shouldn't be too troubling....
Yes, I realize, having said that.. I probably jinxed us...
NJ
.
.
.
============================================================
The information contained in this message may be privileged
and confidential and protected from disclosure. If the reader
of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the
intended recipient, you are hereby notified that any reproduction,
dissemination or distribution of this communication is strictly
prohibited. If you have received this communication in error,
please notify us immediately by replying to the message and
deleting it from your computer. Thank you. Tellabs
============================================================
Actually, if Jacques has a test system with IDS running and hooked to
"networker", he could create another IDS on this test server, otherwise
if on a new test server, he'd have to deal with "networker" setup as
well. I am not real knowledgable about the "rename" features available
in ontape backup/restores so he might be able to use that and restore
the dbspace into the test system, but I'd stick with a less complicated
approach (cuz I'm simple)... New tiny test instance, only restore what u
need....
.
.
.
============================================================
The information contained in this message may be privileged
and confidential and protected from disclosure. If the reader
of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the
intended recipient, you are hereby notified that any reproduction,
dissemination or distribution of this communication is strictly
prohibited. If you have received this communication in error,
please notify us immediately by replying to the message and
deleting it from your computer. Thank you. Tellabs
============================================================
Sebastian, Norma J. wrote:
> Here's what I am thinking Art,
> Jacques could tar up his informixdir, lay it down on test system (or do
> a fresh/simple install on test server), bring up a tiny engine (little
> onconfig settings), cook the file space for all we care... Create a
> little DB and a little table just to make sure little engine is
>
Workable... Only he can know where the database catalog resides just:
SELECT dbinfo('dbspace', (SELECTpartnum FROM systables WHERE tabid = 1))
FROM systables
WHERE tabid = 1;
> fine...And try the restore (again, I don't know "networker" or if onbar
> or ontape are being used).
>
Networker is a storage manager, so Jacque's using onbar for archive and
restore (or letting Networker schedule them, but it's still onbar that's
performing the archive).
> He might have to restore a few times if there are things missing like
> system catalog (if not in root).... But in the end getting that dbspace
> restored shouldn't be too troubling....
> Yes, I realize, having said that.. I probably jinxed us...
> NJ
> ..
> ..
> ..
>
Art S. Kagel
Oninit
Thanks guys for the respons so far.
I took a look at the possibilities and I'm thinking to proceed as
follows :
I have a system which has no physical connection to the productive disks
and this system has access to networker.
I can copy my complete INFORMIXDIR on this system (in an other location)
I can create a new instance on this system
I make my symbolic links for the dbspaces rootdbs and urg1 so they point
to an other physical location.
(I use cooked files here instead of the original raw-devices)
I edit the file ixbar.0 to "mislead" onbar , by deleting all lines more
recent than the
last backup containing the old table.
Some questions left :
- Do I have to use the same values for the variables ONCONFIG and
INFORMIXSERVER ?
- Can I change parameters in the onconfig-file ?
(such as SERVERNUM, DBSERVERNAME DBSERVERALIASES
- I definitely have to change all occurences of the INFORMIXDIR in the
onconfig-file.
After that I do an "onbar -r rootdbs" while informix is down (cold
restore)
Followed by an "onbar -r urg1" while informix is up (warm restore)
Finally I unload the table concerned.
That's the theory, any comments ?
Best regards,
Jacques Lapeire
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
Art S. Kagel (Oninit LLC)
Sent: woensdag 2 januari 2008 18:54
To: ids@iiug.org
Subject: Re: Temporary Restore of 1 dbspace [10835]
Sebastian, Norma J. wrote:
> Here's what I am thinking Art,
> Jacques could tar up his informixdir, lay it down on test system (or
do
> a fresh/simple install on test server), bring up a tiny engine (little
> onconfig settings), cook the file space for all we care... Create a
> little DB and a little table just to make sure little engine is
>
Workable... Only he can know where the database catalog resides just:
SELECT dbinfo('dbspace', (SELECTpartnum FROM systables WHERE tabid = 1))
FROM systables
WHERE tabid = 1;
> fine...And try the restore (again, I don't know "networker" or if
onbar> or ontape are being used).
>
Networker is a storage manager, so Jacque's using onbar for archive and
restore (or letting Networker schedule them, but it's still onbar that's
performing the archive).
> He might have to restore a few times if there are things missing like
> system catalog (if not in root).... But in the end getting that
dbspace
> restored shouldn't be too troubling....
> Yes, I realize, having said that.. I probably jinxed us...
> NJ
> ..
> ..
> ..
>
Art S. Kagel
Oninit
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
See you at the IIUG Informix 2008 Conference
The Power Conference for Informix Professionals
April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas
http://www.iiug.org/conf
Registration Now Open!!
Lapeire, Jacques wrote:
> Thanks guys for the respons so far.
>
> I took a look at the possibilities and I'm thinking to proceed as
> follows :
>
> I have a system which has no physical connection to the productive disks
> and this system has access to networker.
>
> I can copy my complete INFORMIXDIR on this system (in an other location)
> I can create a new instance on this system
> I make my symbolic links for the dbspaces rootdbs and urg1 so they point
> to an other physical location.
>
You'll have to make the links to real files for all of the chunks, but
they can all be zero length.
> (I use cooked files here instead of the original raw-devices)
>
That's fine.
> I edit the file ixbar.0 to "mislead" onbar , by deleting all lines more
> recent than the
> last backup containing the old table.
>
> Some questions left :
>
> - Do I have to use the same values for the variables ONCONFIG and
> INFORMIXSERVER ?
>
Only disk parameters need to be the same. So ROOTDB is pretty much it.
You can even leave DBSPACETEMP empty.
> - Can I change parameters in the onconfig-file ?
> (such as SERVERNUM, DBSERVERNAME DBSERVERALIASES
> - I definitely have to change all occurences of the INFORMIXDIR in the
> onconfig-file.
>
Correct to both.
> After that I do an "onbar -r rootdbs" while informix is down (cold
> restore)
> Followed by an "onbar -r urg1" while informix is up (warm restore)
> Finally I unload the table concerned.
>
Yup, and if the table's database catalog lives in a dbspace other than
urg1 or rootdbs you'll need to restore that dbspace as well.
> That's the theory, any comments ?
>
No.
> Best regards,
> Jacques Lapeire
>
Art S. Kagel
Oninit
Thank you very much Art,
Your comments are VERY helpful (as always)
Jacques
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
Art S. Kagel (Oninit LLC)
Sent: vrijdag 4 januari 2008 15:11
To: ids@iiug.org
Subject: Re: Temporary Restore of 1 dbspace [10847]
Lapeire, Jacques wrote:
> Thanks guys for the respons so far.
>
> I took a look at the possibilities and I'm thinking to proceed as
> follows :
>
> I have a system which has no physical connection to the productive
disks
> and this system has access to networker.
>
> I can copy my complete INFORMIXDIR on this system (in an other
location)
> I can create a new instance on this system
> I make my symbolic links for the dbspaces rootdbs and urg1 so they
point
> to an other physical location.
>
You'll have to make the links to real files for all of the chunks, but
they can all be zero length.
> (I use cooked files here instead of the original raw-devices)
>
That's fine.
> I edit the file ixbar.0 to "mislead" onbar , by deleting all lines
more
> recent than the
> last backup containing the old table.
>
> Some questions left :
>
> - Do I have to use the same values for the variables ONCONFIG and
> INFORMIXSERVER ?
>
Only disk parameters need to be the same. So ROOTDB is pretty much it.
You can even leave DBSPACETEMP empty.
> - Can I change parameters in the onconfig-file ?
> (such as SERVERNUM, DBSERVERNAME DBSERVERALIASES
> - I definitely have to change all occurences of the INFORMIXDIR in the
> onconfig-file.
>
Correct to both.
> After that I do an "onbar -r rootdbs" while informix is down (cold
> restore)
> Followed by an "onbar -r urg1" while informix is up (warm restore)
> Finally I unload the table concerned.
>
Yup, and if the table's database catalog lives in a dbspace other than
urg1 or rootdbs you'll need to restore that dbspace as well.
> That's the theory, any comments ?
>
No.
> Best regards,
> Jacques Lapeire
>
Art S. Kagel
Oninit
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
See you at the IIUG Informix 2008 Conference
The Power Conference for Informix Professionals
April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas
http://www.iiug.org/conf
Registration Now Open!!
Hi Jacques,
Please be sure to post back and let us know how it goes.
I have nothing further to add after Art's info....
Just good luck, have fun.
Norma Jean
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
Lapeire, Jacques
Sent: Friday, January 04, 2008 8:19 AM
To: ids@iiug.org
Subject: RE: Temporary Restore of 1 dbspace [10848]
Thank you very much Art,
Your comments are VERY helpful (as always)
Jacques
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
Art S. Kagel (Oninit LLC)
Sent: vrijdag 4 januari 2008 15:11
To: ids@iiug.org
Subject: Re: Temporary Restore of 1 dbspace [10847]
Lapeire, Jacques wrote:
> Thanks guys for the respons so far.
>
> I took a look at the possibilities and I'm thinking to proceed as
> follows :
>
> I have a system which has no physical connection to the productive
disks
> and this system has access to networker.
>
> I can copy my complete INFORMIXDIR on this system (in an other
location)
> I can create a new instance on this system
> I make my symbolic links for the dbspaces rootdbs and urg1 so they
point
> to an other physical location.
>
You'll have to make the links to real files for all of the chunks, but
they can all be zero length.
> (I use cooked files here instead of the original raw-devices)
>
That's fine.
> I edit the file ixbar.0 to "mislead" onbar , by deleting all lines
more
> recent than the
> last backup containing the old table.
>
> Some questions left :
>
> - Do I have to use the same values for the variables ONCONFIG and
> INFORMIXSERVER ?
>
Only disk parameters need to be the same. So ROOTDB is pretty much it.
You can even leave DBSPACETEMP empty.
> - Can I change parameters in the onconfig-file ?
> (such as SERVERNUM, DBSERVERNAME DBSERVERALIASES
> - I definitely have to change all occurences of the INFORMIXDIR in the
> onconfig-file.
>
Correct to both.
> After that I do an "onbar -r rootdbs" while informix is down (cold
> restore)
> Followed by an "onbar -r urg1" while informix is up (warm restore)
> Finally I unload the table concerned.
>
Yup, and if the table's database catalog lives in a dbspace other than
urg1 or rootdbs you'll need to restore that dbspace as well.
> That's the theory, any comments ?
>
No.
> Best regards,
> Jacques Lapeire
>
Art S. Kagel
Oninit
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
See you at the IIUG Informix 2008 Conference
The Power Conference for Informix Professionals
April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas
http://www.iiug.org/conf
Registration Now Open!!
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
See you at the IIUG Informix 2008 Conference
The Power Conference for Informix Professionals
April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas
http://www.iiug.org/conf
Registration Now Open!!
============================================================
The information contained in this message may be privileged
and confidential and protected from disclosure. If the reader
of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the
intended recipient, you are hereby notified that any reproduction,
dissemination or distribution of this communication is strictly
prohibited. If you have received this communication in error,
please notify us immediately by replying to the message and
deleting it from your computer. Thank you. Tellabs
============================================================