Are you asking is there a way to have the Equallogic snapshot function force the database to flush all pending operations to disk before taking the snapshot?
If this is what you are asking, then out of the box, the answer is no. I’ve never done this before, but Equallogic provides some perl examples on its support site on how you can interface with the array to force a snap. All you need to do is write a perl script to tell the database to flush all pending operations to disk. Immediately after that completes have the array take a snapshot of the oracle volume.
Next, you will need to mount the snapshot and then get your backup software to backup the data in the snapshot, then destroy the snapshot after the backup completes.
I hope this answers your question.
Thank you for your answer. I went on the Equallogic site. Didn’t find the perl script but find a nice article title Backup and recovery Overview. In the article it is made mention of microsoft Volume Shadow Copy service (VSS) that seem to do exactly what I need to garantee the integrity of the snapshot made at the SAN level. Do you know if any think similar is being develop for linux?
Perl examples will be part of the Host Scripting Tools download which can be found by clicking on the link for the version of the firmware you are running on the array(s). There is an example that shows how to create a snapshot. You will need to do the additional scripting work to then mount that snapshot.
I can’t speak for Equallogic about the future of VSS and Linux. But, I do know there are some individuals within Equallogic who are trying to promote the value of VSS to the Linux community. If you really like this feature that Microsoft provides in Windows then I suggest you plead your case to the Linux community.
Your hunch is right. Before you take snapshots of online read/write Oracle database tables/volumes for backup you do need to flush the buffers and quiesce any writes to these tables/volumes to guarantee the integrity of the data in the snapshots. As you discovered (and mentioned above) VSS is a Windows only technology today. So, one way to get around this issue in Oracle 10g on Linux (RHAT 4.0) is to use an Oracle feature called “hot backup mode”.
Oracle database needs to be “put in hot backup mode” prior to taking snapshots of Oracle volumes and “taken out of hot backup mode” after taking snapshots of Oracle volumes. When the Oracle database is in the “hot backup mode” it copies the changed data buffers of an open Oracle database into the redo logs, and stops doing so after you take the Oracle database out of the “hot backup mode”. When restoring the database tables/volumes backed up from these snapshots, the database asks for the appropriate set of redo logs to apply if recovery is needed. The redo logs contain all changes required to recover the tables/volumes and make them consistent. Oracle requires database configured in ARCHIVELOG mode in order to use Oracle’s “hot backup mode” feature.
During the time Oracle database is in “hot backup mode”, Oracle continues to flush the changes data buffers into the redo logs. This slows down database performance. In EqualLogic storage snapshot of multiple volumes can be done almost instantaneously. This helps reduce performance problems while snapshots are being taken.
I hope this helps. For more information please visit the following links:
1. “PS Series Groups Backup and Recovery Overview”, a Dell EqualLogic white paper.
2. “Backup and Recovery Basics”, 10g Release 2 (10.2), B14192-03.
3. “Backup and Recovery Advanced User’s Guide”,10g Release 2 (10.2), B14191-03.
4. “Deploying Oracle Database on Dell EqualLogic PS5000XV iSCSI Storage”, a Dell EqualLogic whitepaper