Den 2012-01-03 21:11 skrev Dimitry Sibiryakov såhär: > 03.01.2012 21:04, Kjell Rilbe wrote: >> What's needed is, in principle, a task that reads through ALL record >> versions, and for each one with transaction id< OIT, change it to OIT - >> 1. When it has done that for the entire database, it can move the max >> useable transaction id to OIT - 2. > It means to fetch/read every page with exclusive lock, modify it, mark it > as a dirty > and write it back to the disk (when?). Crazy i/o load and long lock waits are > guaranteed. > Yes, but perhaps it's more tolerable to have a somewhat slower system for two days than to have 1 day of downtime? Assuming the cluster/replication solution is not used...
And I would assume that it would only need to lock a single page at a time, and that it would take very short time to do the job on that single page. So, while it would incur a lot of write locks on a lot of pages, there will only be a single page lock at a time, and the lock will be very short lived. So, no long waits, but a whole lot of very short waits. Still, I am not really arguing that this is the best solution. Seems to me you're right Dimitry, that a replication/cluster solution is better. But could that perhaps be made a bit easier? I consider myself to be pretty good at SQL and at high level system development, but I've never setup a cluster, nor FB replication. So, for me this is a real stumbling block. On top of all other things I need to do yesterday, I would also have to learn how to set this up. I'm sure I'm not the only one... So, what could be done with FB to make the process easier of backing up and restoring a live database and the syncing the new copy with all updates since the start of backup, and dfinally bringing the copy live instead of the old one? Perhaps this is what would be "best spent devel resources" to solve the issue? Kjell -- -------------------------------------- Kjell Rilbe DataDIA AB E-post: kj...@datadia.se Telefon: 08-761 06 55 Mobil: 0733-44 24 64 ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel