> As far as I know (and have tested in excess) Informix IDS 
> does survive any power loss without leaving the db in a
> corrupted state. The basic technology is, that it only relys
> on writes to one "file" (raw device in that case), the txlog,
> which is directly written. All writes to the txlog are basically
> appends to that log. Meaning that all writes are sync writes to
> the currently active (== last) page. All other IO is not a problem,
> because a backup image "physical log" is kept for each page 
> that needs to be written. During fast recovery the content of the
> physical log is restored to the originating pages (thus all pendig
> IO is undone) before rollforward is started.

Sounds great! We can follow this way: when first after last checkpoint
update to a page being logged, XLOG code can log not AM specific update
record but entire page (creating backup "physical log"). During after
crash recovery such pages will be redone first, ensuring page consistency
for further redo ops. This means bigger log, of course.

Initdb will not be required for these code changes, so it can be
implemented in any 7.1.X, X >=1.

Thanks, Andreas!

Vadim

Tue, 5 Dec 2000 10:43:03 -0800 
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM>
RE: beta testing version 
On Tue, Dec 05, 2000 at 10:43:03AM -0800, Mikheev, Vadim wrote:
> > As far as I know (and have tested in excess) Informix IDS 
> > does survive any power loss without leaving the db in a
> > corrupted state. The basic technology is, that it only relys
> > on writes to one "file" (raw device in that case), the txlog,
> > which is directly written. All writes to the txlog are basically
> > appends to that log. Meaning that all writes are sync writes to
> > the currently active (== last) page. All other IO is not a problem,
> > because a backup image "physical log" is kept for each page 
> > that needs to be written. During fast recovery the content of the
> > physical log is restored to the originating pages (thus all pendig
> > IO is undone) before rollforward is started.
> 
> Sounds great! We can follow this way: when first after last checkpoint
> update to a page being logged, XLOG code can log not AM specific update
> record but entire page (creating backup "physical log"). During after
> crash recovery such pages will be redone first, ensuring page consistency
> for further redo ops. This means bigger log, of course.
 
Be sure to include a CRC of each part of the block that you hope
to replay individually.

Nathan Myers
ncm@zembu.com

Tue, 5 Dec 2000 13:22:26 -0800
ncm@zembu.com (Nathan Myers)
Re: beta testing version