Michal, > > The OAT moves freely, it's really just the OIT that is blocked. I still > don't understand why it stops just because of database restore (only > through nbackup, gbak is ok), but if it's not going to cause a performance > penalty, it's not an important issue. > > As Sean said, gbak and nbackup are completely different.
Gbak dumps the current state of data on backup and creates an entirely new database without old versions on restore. As a result, there are no "interesting" old versions in a gbak-restored database. You'll also note that the transaction numbers are reset, so the next transaction is something less than 20 - depends slightly on options you take on restore. Nbackup takes physical snapshots of pages as they change. It wouldn't recognize a record or a transaction if it fell over one. So a database restored from nbackup is physically identical to the database it reproduces. Transaction numbers stay the same, old versions stay in place, and any "interesting" old versions stay too. Old versions of records are removed in the normal course of running the database, either by a garbage collect thread, or by cooperative garbage collection, or by gbak (without the -g), or by sweep. Only sweep resets the OIT because it knows for certain that it has checked every record in the database and removed anything left by a rolled-back transaction. Good luck, Ann [Non-text portions of this message have been removed]