Kbase P115048: How to use offline OS backup with after imaging enabled - post Progress 9.1E?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  13/11/2008 |
|
Status: Verified
GOAL:
How to use offline OS backup with after imaging enabled?
GOAL:
When to use rfutil -C mark backedup when AI is already enabled on the database?
GOAL:
Where to rfutil -C aimage new for offline OS backup baseline ?
GOAL:
How to avoid "Expected ai file number 1 but file specified is n+1 in sequence. (8019)"
GOAL:
How to rollforward against an OS copy 9.1E
GOAL:
How to rollforward against an OS copy 10.0B
GOAL:
How to rollforward against an OS copy 10.1x
FACT(s) (Environment):
All Supported Operating Systems
Progress 9.1E
OpenEdge 10.0B
OpenEdge 10.1x
FIX:
The use of 3rd Party database file copy, although possible, is error prone in our experience - simply because there are so many points of potential failure in the OS copy part (eg incomplete file copy, ftp failure, database being accessed during copy routine) and when used with after-imaging, there is the additional requirement to ensure that the ai switch is exactly paired to the OS copy and does not span OS copy.
The preferred Progress Solution is to use the probkup [(online | offline) or (full | incremental)] utility which automatically pairs the backup with ai file switching and keeps the expected AI sequence and current AI sequence counters aligned in the database master block. It is exactly the misalignment of these counters that leads to the 8019 error during 'rfutil -C roll forward' against non-Progress database copies.
The following procedure is fitted to best practice from the Progress perspective from Progress 9.1E and OpenEdge 10.0B01 onwards, assuming that the necessary checks are inplace, it will work. For previous versions please refer to: Progress Solution P2862, "How to use offline OS backup with after imaging enabled - pre Progress 9.1E?"
Although not ALL steps are entirely necessary, they are considered best practice. As with any Disaster Recovery Plan, it should be fully tested and documented before rolling out to Live.
STEPS:
# OFFLINE_db_OS_backup:
1.) shutdown the database gracefully, should you need to FORCE shutdown, the sucess of step 2 serves as a sanity checkpoint.
$ proshut <db> -by
2.) Truncate the database before-image file
$ proutil <db> -C truncate bi
3.) Ensure that all cron jobs running against the database have stopped
4.) Switch to a new aimage extent
$ rfutil <db> -C aimage new
5.) Take the 3rd party copy of all the database files (including necessary ai files) and verify completion.
6.) Mark the database as backed up - this step is only absoultely necessary after "rfutil -C aimage begin"
$ rfutil <db> -C mark backedup
7.) Restart the database server
$ proserve <db> <parameters>
# ONLINE_db_OS_backup
1.) Issue a quiet point
$ proquiet <db> enable, this Progress utility automatically forces a "rfutil -C aimage new" switch
(once the proquiet command has indicated that the quiet point has been enabled)
2.) use operating system commands to split mirrors, then/or
3.) Take the 3rd party OS copy of all the database files (including necessary ai files) and verify completion.
4.) proquiet <db> disable
# roll_forward_OS_backup:
1.) restore the OS backup # ensuring that dbname.st contains FULL paths
$ prostrct repair <db> dbname.st
2.) re-set the expected AI sequence to the current AI sequence counters aligned in the database master block.
$ rfutil <db> -C sequence
3.) roll-forward the AI extents numbered from step 3 above, this will automatically disable after-imaging.
$ rfutil <db> -C roll forward -a <name>
NOTE: once after-imaging is disabled on the database, the rfutil -C sequence command cannot be run.
FIX:
References to Written Documentation:
Progress Solutions:
A very similar procedure is used when taking an ONLINE copy of the database during a PROQUIET database state. This is discussed in Progress Solution P102501, "When to use rfutil -C sequence?" .
Progress Solution P2862, "How to use offline OS backup with after imaging enabled - pre Progress 9.1E?" CAN still be used in versions post 9.1E as long as the limitations of this method are acceptable
P121756, "Why is it necessary to run rfutil -C aimage sequence on an OS copy ?"