Consultor Eletrônico



Kbase P124620: How to determine if a full database backup or incremental database backup has completed successfully
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/30/2008
Status: Verified

GOAL:

How to determine if a full database backup or incremental database backup has completed successfully ?

GOAL:

How to determine if a full database backup or incremental database backup has completed successfully using VSTs ?

GOAL:

How to determine if a full database backup or incremental database backup has completed successfully using promon ?

GOAL:

How to determine if a database backup has completed when the database lg files are no longer available ?

GOAL:

How to determine when the last successful backup completed?

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Versions

FIX:

Apart from parsing the database.lg file for the version relevant probkup messages, the database log file may no longer be accessible or have been truncated with the prolog utility (good practice to keep together with the successful backup) so other more reliable methods are:

A. VST Tables (online databases only)

Two fields within the _dbstatus VST (_dbstatus-fbDate and _dbstatus-ibDate) exist which will be updated with the date / time stamp upon successful completion of either a full backup or an incremental backup, respectively.

For example:
FIND FIRST _DbStatus NO-LOCK.
DISPLAY _DbStatus._dbStatus-fbDate /*completion time of the last full backup*/
_DbStatus-ibdate /*completion time of the last incremental backup*/
_DbStatus-IbSeq /*sequence of the last incremental backup */
_dbstatus-lasttran /* last completed transaction */
WITH SIDE-LABELS.

NOTE: The _MstrBlk VST table has similar fields that can be queried to this end, but _DbStatus is specifically created for these type of queries.

eg: _MstrBlk-Fbdate for full probkups, _MstrBlk-Ibdate and _MstrBlk-Ibseq for incremental probkups.


B. Command line utilities (since OpenEdge 101B++)

$ proutil dbname -C describe

- can be run online or offline and amongst other useful information describing the database provides successful probkup completion times

Example:

Backup Information
Last Full Backup Date : Thu Oct 02 10:57:41 2008
Last Incremental Backup : Thu Oct 02 12:07:53 2008
C. PROMON > R&D > 2. Backup

- online only

Example:

Most recent full backup: 10/02/08 10:57
Most recent incremental backup: 10/02/08 12:07
Database changed since backup: Yes
Sequence of last incremental: 1
Lastly, one should not overlook the -vp and -vf parameters post probkup to verify the backup on the PHYSICAL backup itself.
------------------------------------------------------------------------------------
The above methods only directly allow you to determine WHEN the last SUCCESSFUL backup was done, but don't by themselves allow you to determine IF the last ATTEMPTED backup was successful. In other words, these methods don't report if the last attempted backup failed, but do provide confirmation of the successful backup, if you know when the last backup was supposed to have taken place.
There is currently no way to determine if the last attempted backup was successful except by further coding. Cf. MstrBlk._MstrBlk-Tainted and _DbStatus._DbStatus-Tainted fields do not return value. One workaround would involve parsing the lg file for the presence of a (1553) message -
The last backup was not completed successfully. (1553)
- occurring after the timestamp returned by the methods above. If the lg file is not available, then you must have some further independent record of when backups were run, such as Windows Event Viewer or logs that you create yourself in your backup scripts.