Add-On Tool for Domino Restore
Daniel Nashed – 30 November 2015 13:58:43
Most backup solutions are still not really flexible when it comes to restore operations.
I am currently involved into some backup projects and build a tool that can be used on top of a Domino aware backup solution.
Some software can disable replication when restoring a NSF file. Other applications can change the replica when restoring a database.
But I have not seen application that can do both at the same time. And there are also other operations that could make sense.
I would wish backup vendors would support more options.
What backup vendor do you use beside TDP and EMC Networker?
What are your experiences with backup and specially with restore?
Which other restore operations would you wish to have?
Here is what I would expect from a restore operation and what I currently added to my add-on tool that can be used after restoring a database
Disable Replication
Disabling replication is needed in many restore operations when you restore into a different location.
If replication is still enabled, deletion stubs might replicate back to the temporary restored database.
In most of the cases the restore is needed because of deleted documents.
Assign a new Replica-ID
In many cases it makes sense to assign a new replica-id to avoid conflicts with the existing database.
In that case the database cannot replicate and also operations that find the database by replica-id will not find this temporary restored database.
We have seen applications which locate the database by replica and would possibly find the restored database.
In that case a restore with a different replica-id makes sense.
Also when you assigning a new replica the icon on the desktop is never stacked over the current database.
That can be helpful when you want to provide a link to a database to the user.
Disable all agents
If you restore a database you usually don't want that agents are executed in the temporary restored database.
There is a database option that no background agends are allowed in the database, which presents agents to run.
In most cases this makes a lot of sense to avoid conflicts with the existing database
Mark a databases out of service
Marking a databases out of service in a cluster helps to avoid access to this database for normal users.
Admins can still access the database. This can be helpful for the restored database but more often this is important for the existing database which you might want to troubleshoot.
Take a database off-line / Bring a database on-line
Taking a database online of offline is part of the backup API and can be helpful to force a database to be online after a restore operation.
Or it can be useful to avoid access to a database before deleting the database.
Best is to combine both operations. Take a database off-line before deleting it and having the program wait a certain time.
This provides you with the best chance to delete a database
Delete a database
Sometimes you have to delete a database from command-line.
While the server is running it is not a good idea at all to physically delete the database on OS level!
You have to use the Domino API to delete the database in a save way and have Domino aware of the delete.
It is completely unsupported to delete a database on OS-level on all platforms when the server is running!
Change Database Title
Change a database title or add a prefix can be very helpful if you want to send a link to the user with this new database to indicate it's a restore of his mailfile.
Rename a database
There are different use-cases where you want to rename a database.
You cannot rename a database on OS level while the server is running. This can only be done from Domino server side using the API.
Additional Ideas that might be interesting
I have a couple of additional ideas that could be interesting.
One of the most often requested features I could think of would be to copy folders including documents to the current database.
-- Create a folder from the current inbox design of the target database
-- Check if documents already exist in the database and only add the document to the folder if the document exists already --> check by UNID
-- Copy documents from the restore database to the target database
-- Different options to find a database. The best would be probably to find target database by mailfile owner if not specified manually
What do you think?
I am wondering that those type of operations are not already implemented in backup applications.
And I would be interested in your feedback.
-- Daniel
nshrestore: Syntax: dbname.nsf [Options]
-v Verbose Logging
-d Disable Replication
-n Assign New Replica-ID
-a Disable Agents
-o Mark Out Of Service
-i Mark in Service
-b Bring DB Online
-f Take DB Offline
-x Delete DB
-w
-t
-p
-r
- Comments [0]