Restoring a deleted module from a RM project
We have a DB2 backup of the RM database from last week. Since the module was deleted after that backup was taken, the deleted module should still be present in the backup.
We would like to know whether any of the following recovery options are supported:
- Restoring the RM database from the DB2 backup.
- Recovering only the deleted module from the backup without restoring the entire database.
- Performing a point-in-time restore (PITR) to recover the deleted module.
- Recovering the deleted module from an existing baseline while preserving the original artifact IDs.
Preserving the original artifact IDs is critical for us. Recreating the module manually would generate new artifact IDs, which would impact traceability and break existing links and relationships with other lifecycle artifacts.
If there is any other supported approach to restore the project or recover the deleted module while retaining the original artifact IDs, please let us know. We are willing to reapply any changes made after the backup if restoring the database or project to a previous state is the only supported option.
This is a high-priority issue for our team, and we would greatly appreciate any guidance or recommended recovery approach.
2 answers
Unfortunately you can't easily restore deleted artefacts, even though an RM project deletion is a 'soft' delete because they remain in any baselines you've taken.
- you can absolutely restore the RM database from your backup because it's self contained. Be aware that any cross application links that you've made to project areas in other applications since the backup will be affected. You'll also need to completely reindex your data warehouse sources as they will have data since the backup
- recovering the deleted module would, in theory be possible, but would require some serious DB work as multiple tables and views would be affected. Very risky proposition
- if you have point in time in your server then that would also work but you'd be rolling everything back to that time. You'd lose any changes you made since. I have had to do this before for a client - we set up a full backup environment that I flicked between and I ran queries to figure out everything created or modified since the point in time, and manually changed the artefacts. Took about a day in total, but this will grow as the point in time gets older
- you can't recover the baseline directly. This would require DB manipulation once again
As you have backups, and baselines, that contain the module and its artefacts, I would raise a ticket with IBM Support to see if they can assist you with the necessary DB manipulation.
From 7.1 in DOORS Next you can create a baseline in the past, e.g. an hour before the module was deleted. Deselect Now in the Create Baseline dialog and choose the date-time.
Once you've got the baseline you can export a view to (say) spreadsheet and import into your stream; you won't get changes to incoming links but depending on your view you can get outgoing links.