HP3000-L Archives

August 2001, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Gavin Scott <[log in to unmask]>
Reply To:
Gavin Scott <[log in to unmask]>
Date:
Mon, 6 Aug 2001 19:12:29 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (44 lines)
Steve writes:
> You may be thinking of the memo records stored in the "00" file of the
> database, which are automatically recovered the first time that database
> is opened after a system or IMAGE failure.

That sounds right.  I believe though that the individual "00" files may be
created as a side effect of the first open to *any* database.

During normal XM (system level) recovery the higher level transaction data
that describes Image transactions that were in progress at the time the
system failed are collected and written somewhere (the XM Residual Log? (I
know there is such a thing but not if this is what it's for)).

The first time *any* database (on that volume set?) is opened is the first
opportunity that Image has to run on the machine and thus this first call to
Image notices the residual log and invokes code that goes through the log
and separates the data out by database, producing a "00" file for each
database that had a transaction in progress at the time of the failure.

Later when each database with a "00" file is opened, Image performs the
appropriate recovery for that database.

Now, I just made most of that up based on vague recollections of this
subject, so very possibly it's wrong in at least one major respect.

I don't know if the contents of the "00" file relate only to logical
integrity issues (undoing partial DBX transactions perhaps) or whether they
are needed to ensure the structural integrity (chain pointers, etc.) as
well.

If it actually works anything like what I described above then it raises
interesting questions about what happens if you :STORE a database to tape
before opening *any* database, or if you :STORE it with the "00" file (and
does :STORE know that this is part of a normal database) and then :RESTORE
it on a system with an older version of Image and dbopen it, etc.

But I'll wait for someone who actually knows how this works to explain it
:-)

G.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2