« Oracle Backup: Which Snapshot is best? (Part 3) | Main | Why thin provision does not work for Oracle data »

August 16, 2007



Hi Jeff,

Excellent piece of a very insightful information on both EMC's and NetApp's snapshot technology. I must say that it is straight talking,and hits the nail on the spot.

I was impressed with your no-BS style when I first met you at one of the Fall Classics in NetApp. I probably met you once or twice. Now that I am at EMC, I am glad to see you dishing out good and honest stuff on both NetApp and EMC.

Keep it up!


Mr. Browning-

All of this is Greek to me so this post is not going to have any relevant comments regarding your subject matter. (And actually, I'd prefer that you not authorize this)

I followed you here from LinkedIn after I read your comments about fear, and I'm writing to let you know I've put your blog in circulation thru Stumbleupon so that other tech-savvy people may come across it. Your testimonials show you know what you're talking about, and I---well, I'm hoping to help you get more exposure.

That's all :)

Best regards,

il Tinus

Your considerations are valid although a bit biased from an Oracle point of view. Fortunately not all the IT shops run on Oracle and for unstructured data NetApp filers are somehow reversing your long dissertions and considerations. But of course, admittedly, this is the wrong blog for not Oracle data! Cheers


Fantastic series. We have both EMC and NetApp. The SAP databases are using EMC with FC but, unfortunately, all my Oracle databases are using NetApp with NFS. However unfortunate it is, I do love it and have not encountered major performance issues and it makes failovers to other machines simple and in seconds. I support databases from 10gb in size to above 1TB. For most Oracle databases I have turned off the snapshot facility, and I depend on exports and traditional hot backups. For some small databases (less than 1TB in size), I allocate the entire database files, including control files and redo log files, on the same qtree. I then use snapshots of "open" database files. Although these are "dirty" snapshots, I can still restore from these -- Oracle does its own automatic crash recovery. However, since the Storage Group does not want to give me qtrees nor volumes bigger than 1TB, I'm forced to split a large database into two or more qtrees or volumes. Now, I cannot trust the "dirty" snapshots for restoring/recovering a database. I want to use snapshots with the Oracle "hot" backup technology for these large databases, but cannot find precise syntax on how to do this. I did find an example but, it was using SnapVault ... and we are only licensed to use SnapShot and SnapRestore. Can you help me on this? Thanks for your postings. Following is the NetApp extract for backing up a database (taken from NetApp Best Practices document):
Step 4: Create Oracle hot backup script enabled by SnapVault.
Here is the sample script defined in “/home/oracle/snapvault/sv-dohot-daily.sh”:
#!/bin/csh -f
# Place all of the critical tablespaces in hot backup mode.
$ORACLE_HOME/bin/sqlplus system/oracle @begin.sql
# Create a new SnapVault Snapshot copy of the database volume on the primary
rsh -l root descent snapvault snap create oracle sv_daily
# Simultaneously 'push' the primary filer Snapshot copy to the secondary
NearStore system
rsh -l root rook snapvault snap create vault sv_daily
# Remove all affected tablespaces from hot backup mode.
$ORACLE_HOME/bin/sqlplus system/oracle @end.sql
Note that the “@begin.sql” and “@end.sql” scripts contain sql commands to put the database’s tablespaces
into hot backup mode (begin.sql) and then to take them out of hot backup mode (end.sql).




Thanks for your kind comments on the blog. The issue you are pointing out has to do with the lack of consistency technology (sometimes referred to as consistency groups) on NetApp's arrays. EMC provides this on all array types other than Celerra at this point. (I will not comment on the record about whether Celerra will have consistency groups in a future release. You can come to your own conclusions on that. :0) Consistency groups have been discussed in my blog. With this feature, you can take dirty snaps, clones or such across multiple volumes. That way, you do not have to store all of your datafiles, tempfiles, controlfiles and online redo logfiles in the same volume, which is not in any way best practices compliant.

In terms of going into hot backup mode, I have written many white papers on combining this feature of Oracle with snaps in the past, including many at NetApp. My current program publishes these as well, and the latest version can be found here:


This requires Powerlink access, though. However, you state that you have EMC equipment, so that should not present an issue, I think.



It is interesting that the true Oracle experts, Oracle themselves, still love and use so much NetApp storage for even their own enterprise applications.



Oracle Corporation's EBS instance is on Symmetrix. Has been for many years. I don't think that is changing anytime soon.


"Note that the additional blocks required by the snapshot are invading the free space in the active file system. It is actually the light-colored blocks (the “before” images of the blocks) which are held by the snapshot. At NetApp, we used to have debates over whether the snapshot occupied the space, or whether it was the active file system that did so. Whatever. The effect is exactly the same."

The effect is not the same. NetApp provides a means for reserving snapshot area or not reserving snapshot area and allowing it to expand into data area.

"Because space reservations destroy the one primary benefit of snapshots: Space efficiency."

The primary benefit of snapshots is quick recovery.

"BCVs have lots and lots of advantages. They have absolutely no performance penalty."

BCV's suffer performance hits that snapshots do not. BCV's requires write's of data to 2 locations. Snapshots do not.

If you correct the perception of the goals of snapshots, they still have the advantage.




BCVs provide read performance advantages: You have double the disks to read from. Further, obviously BCVs also provide instantaneous recovery. In the context of the sentence, the advantage of snapshots over BCVs is space efficiency. If you take away that advantage, BCVs win in my book.


"But, as Bruce Gordon said, “No customer will ever have an ENOSPACE error on my watch.” Bruce attempted to establish a principle that space would always be reserved such that a snapshot could never exhaust the active file system free space."

"Further, you decide how much space you want to allocate to the snapshot. Unlike WAFL-based snapshots, you are not writing a blank check for snapshot overhead, up to the full amount of data in the active file system. Rather, you can decide that the snapshot will only be allowed to take up 10% of that space if you want to. This adds discipline to the whole proposition of snapshot space overhead."

NetApp space reservations are a selectable option. In fact, reserved space can be reserved by % and does not have to be all or nothing like with BCV's. Snapshots do not suffer the multiple I/O's of BCV's. That is why NetApp confidently allows up to 256 snapshots where EMC best practice does not allow that many BCV snapshots due to performance degradation.




True, but misleading. EMC has been moving in the direction of snaps and away from BCVs for a long time. Certainly, we are doing so in the context of my program. My comments are limited to a comparison of which snapshot technology is best: metadata-based, or reserve LUN pool-based. BCVs are beyond the scope of the discussion.

The comments to this entry are closed.

Powered by TypePad
View Jeff Browning's profile on LinkedIn

disclaimer: The opinions expressed here are my personal opinions. I am a blogger who works at EMC, not an EMC blogger. This is my blog, and not EMC's. Content published here is not read or approved in advance by EMC and does not necessarily reflect the views and opinions of EMC.