We have an DB2 mainframe application database that is designed to be a multi client database. Up to now this has not been an issue as there has only been one client in this database.
However, with a new client now coming on board this may present us with a potential problem.
The situation we have will be:
The tables will all contain data for both clients. To distinguish between each client’s data there will be a code unique to each client within the table.
Full image copies are taken for this database daily.
The problem we have:
If there is corruption of one client’s data we may need to recover the data for that client. How do we do this without impacting the data for the other client which must remain unchanged?
Ideally there should be a facility to do selective image copies for data within a table which is client specific. However I don’t think this is available. Also any recovery of one client’s data would mean that the data for that client would be overwritten in the table while the data for the other client is left alone. And would doing a recovery effectively lock the table for the recovery period thus preventing the other client from accessing their data in the table?
Unloading from image copies will not provide the solution as the unload is from the full image copy dataset and cannot be client specific.
We are looking for ways to avoid potential issues with this new client coming on board.
I think possibly the safest way is to unload data for each client to flat files on a daily basis. Then when data is corrupted it can be restored for the affected client by doing the following:
1) Take an image copy for the table & unload the data to flat files for both clients
2) deleting all rows currently in that table for the affected client
3) a load resume for the client concerned to add data to the table without impacting data for the other client
How could we incorporate this within the Disaster Recovery process?