Re: SE + machine crash
Posted in 1991
> > Greg Bryan (gbryan@ssf-sys.dhl.com) writes: > > > More sophisticated relational database managers ( such as Informix > > Online - but NOT Informix Standard Engine ) guarantee that logical > > groups of physical disk operations are handled in an all or nothing > > fashion. This is done by means of logs (like the Online Physical > > Log) automatic checkpoint procedures and automatic recovery procedures > > (like the Online Fast Recovery) that are invoked whenever the database The netnet of OnLine, like many other current DBMS systems is that: 1) Random I/O is turned into sequential I/O. Random I/O is deferred to a rate which the I/O system can cope with while dealing with read I/O. 2) You can recover from the sequential log if the power goes off. There's still no substitute for a sound operations plan. > > Tony Heskett: > > Okay, so if it goes all the way thru, the checks on status are > perfectly satisfactory, but if I flick the juice off half way thru > one of the DELETEs the DB's trashed ? > > At that point, can one restore the backup and do a rollforward, or > does one lose the log as well ? > > My understanding is the log isn't written synchronously. So it looks > like the SE is totally vulnerable to machine interruptions. You would > need to write your own log synchronously & figure out how to use it. > Even if a transaction completed, if the disk hasn't been flushed by > the system & the machine crashes, you're sunk. I would vote for > having the SE write the log synchronously, but I hear Informix has > told us that the transaction logs aren't for data security. > > Bill Ross > Unless you use synchronous UNIX I/O, which updates both the block containing the page containing the record AND the inode (which means that concurrency is right out the window) there is no guarantee that you can logically recover an ISAM DBMS. Synchronous I/O is not supported by C-ISAM, near as I can tell, so the logging functions are more for history than operability. To support transactions within C-ISAM, you would need to open a file with fcntl O_SYNC (synchronous write, not necessarily atomic write) and do your own logging system with semas or some other contention mechanism. -- David A. Fuller | Think of this as the hypersignature. Sequent Computer Systems | It means all things to all people. Beaverton, OR |