I would like to know any recommendations / best practices for setting up a database backup and recovery in DB2 UBD V8.2 or V9.1 Distributed database scenario, escpecially to perform a consistent point-in-time recovery across all databases in the distributed setup. By distributed setup I mean multi site update or updating 4 or more DB2 UDB databases in a single transaction or Unit of Work and not DPF environment.
I just want to make sure I understand your environment.
-- You have 4+ databases spread over more than one server.
-- You did not mention whether you are using Federation or not, so I will assume that you are not.
-- You have an application that is connecting to all the databases and performing (to it) logical Units of Work (UOW) that spread across the databases. This will actually be separate UOWs for each DB (from their point of view) accessed in the app's UOW.
If this is true, then you need to be using some sort of mechanism to be doing two-phase commits. This is the only way that you can guarantee that the databases will be in sync. Otherwise when you commit on the first database you are out of sync until the commits on all the databases are complete. So if your point-in-time is somewhere during the commit phase of the application, you will get data in the first DB that was committed but maybe not the second or third, etc.. This is obviously not what you want.
If you are using Federation and the application has only one connection to a DB and through Federation access to the other DBs, then DB2 will do the two-phase commit for you and you should not have a problem.
Otherwise you will need to find some way to be able to do the two-phase commit to get what you want.