Products Resources Support About Us

Creating an Application Consistent Snapshots for Unidata


Hello to the Rocket World,

has anyone created a set of scripts to pause unidata datbase before creating a snapshot using storage tools and then resume the database after the snapshot?

I am working with unidata 8.1.2 on Linux.


Sorry if I am miss-reading the question, but there is no need for a script to do a pause or resume. There arecommands in UniData to handle this; dbpause and dbresume commands are used at lot of sites, and the complexity of a scripts to pause, take a snapshot and resume UniData would depend on what other features they are using.

In addition to the dbpause and dbresume, I would recommend that you use the dbpause_status command in the script to determine the pause completed prior to taking the snapshot.

Mike Rajkowski
Rocket Customer Success
Technical Support Engineer


Hi Michael. Thanks for your reply. The reason for the script is for a Backup application (such as veeam) or the storage (such as Nimble) to create an application consistent backup or snapshot. It will need to be done programmatically…Any contribution is much appreciated.


The following are bash commands that should get you started, note you need to put your snapshot command in the script, and I always recommend testing prior to putting into production:

dbpause_status 2>&1 | grep "ON"
if [ $? == 0 ];
   echo "The database is paused"
   sync; sync
   echo "replace this line with the command to take the snapshot"
   echo "alert someone"


Mike, i need some education:

  1. when dbpause is used, what happens if the application does write(s)? does the application get error or are transactions get logged and applied when dbresume is used.

  2. Can i download a demo version of unidata 8.1.2 for a lab test?



When dbpause is active, the processes will continue until it hits a write, at which point it waits. When you resume, the writes start again.

As for the demo version, the trial version is the latest.

If you want the older 8.1.2, you would have to talk to your sales rep and see if they can get you an eval.


Mike, thank you for quick answer. when you say the process waits when it hits a write, do you mean that the application literally stops and does not get an acknowledgement that the write happened? the way i read this, i think the processes do not create a journal or change table while dbpause is in effect… is my understanding correct?


While I am not sure of what you mean by journal, I believe your view is correct. The process will continue as before until it attempts to write. At which point it waits until the dbresume is issued.

The reason I am not sure about journal, is that there use to be a feature in UniData called journaling.

Which was replaced by RFS with archiving. In the case of RFS, the dbpause will issue a checkpoint when the pause completes.

CheckPoint time before ForceCP: Mon May 21 13:11:21 2018
.CheckPoint time after ForceCP: Mon May 21 13:11:42 2018
.CP has been forced successfully.
DBpause successful.