Products Resources Support About Us

Creating an Application Consistent Snapshots for Unidata


#1

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.


#2

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


#3

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.


#4

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
dbpause_status 2>&1 | grep "ON"
if [ $? == 0 ];
then
   echo "The database is paused"
   sync; sync
   echo "replace this line with the command to take the snapshot"
   dbresume
else
   echo "alert someone"
fi

#5

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?

thanks,
Mouis


#6

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.
http://www.rocketsoftware.com/trials

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.


#7

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?


#8

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.

dbpause
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.