Hi Kris,
Chip has this right but now you mention mirrors etc there is more to it.
Rollforwarddb already permits you to rollforward the journals without
recovering the checkpoint by specifying the -c flag. However it is essential
that the database is a state that is consistent with the journals that are
going to be applied. In other words new rows do not exist already, updates
will find the old row in the correct state and deletes will find a row to
delete.
What you seem to be suggesting is that the database files themselves will be
saved using some sort of split mirroring technique and the mirror is mounted
on the standby machine and sync'd up. This is perfectly feasible but
requires bespoke scripting to invoke the utilities that split the mirror and
remount it.
You are likely to get the most reliable results by using an OFFLINE
checkpoint to split the mirror. This is most easily done by writing your
bespoke script and calling it from the ESDD line of the template file. You
would set the WSDD line to : (colon, assuming unix) so that nothing happened
at the location backup stage. ckpdb would be called with +l.
On the rollforward side you can mount the mirror and sync up outside of the
actual rollforwarddb call. You must copy across the journals and the current
config file (aaaaaaaa.cnf) before calling rollforwarddb -c. No changes will
be needed to the template file for that.
If you need to use online checkpoints this gets a little trickier. On the
checkpoint side you can do the same as for an OFFLINE checkpoint. To restore
the checkpoint on the standby machine you will need to copy over the dump
files (as well as the config and journal files). Now you will need to modify
the template file so that the WRDD line does nothing (: colon again) and in
the ERDD line or BRDD line you can mount and sync the mirror. rollfowarddb
is then simply called with the database name parameter and after the sync of
the mirror (mimicking the checkpoint restore) the dump files will be
applied, followed by the journals.
VERY IMPORTANT:
1. Don't modify cktmpl.def directly. Create a copy, change that and use
II_CKPTMP_FILE to point to it.
2. Test, re-test and double re-test this until you have totally validated
that you can recover before you deploy this into live. Remember that you are
changing the backup system for the production database here so you may one
day need to use it for the 'real' database, not just the standby.
3. Document the whole thing thoroughly.
4. Thoroughly re-test this at each new patch and release of Ingres.
Finally the mirroring system you use may demand all sorts of tweaks and
fancy bits to make this works. The odd pause here and there to let things
complete is common place.
Hope that helps.
--
Peter Gale
Comprehensive Solutions International
T: +44 (0)1398 341777 M: +44 (0)7831 513181
PGale (AT) Comp-Soln (DOT) co.uk www.Comp-Soln.co.uk
"Business Savvy. IT Smart" R
-----Original Message-----
From: info-ingres-admin (AT) cariboulake (DOT) com
[mailto:info-ingres-admin (AT) cariboulake (DOT) com] On Behalf Of K A Rickard
Sent: 10 March 2006 16:45
To: Chip Nickolett; info-ingres (AT) cariboulake (DOT) com
Subject: Re: [Info-ingres] Re: dummy checkpoints, rollforwarddb
Thanks Chip,
I guess what I'm more interested in is rolling forward and simply applying
the journal files - not using a checkpoint in it's usual sense. More DR
than hot swap of a backup machine. Basically modifying the cktmpl.def file
so Ingres thinks it has a checkpoint and then restoring from a mirrored
backup , then applying just the journal files.
Any real world experience would be appreciated!
Thanks
Kris
At 01:05 PM 3/9/2006 -0800, Chip Nickolett wrote:
Quote:
Kris,
You really don't need to do anything special to your template file if
you've done the basic setup properly. To do what you want the best
thing is to have Ingres configured identically on both machines. From
there it is a simple matter of syncing config files and manually
ensuring that everything is replicated (without loss or gaps). A
little bit oversimplified, but if the environments are properly
configured the rest is very easy.
Chip
_______________________________________________
Info-ingres mailing list
Info-ingres (AT) cariboulake (DOT) com
http://mailman.cariboulake.com/mailm...py/info-ingres |
_______________________________________________
Info-ingres mailing list
Info-ingres (AT) cariboulake (DOT) com
http://mailman.cariboulake.com/mailm...py/info-ingres