RE: VMWARE Snapshots to backup Oracle

  • From: D'Hooge Freek <Freek.DHooge@xxxxxxxxx>
  • To: "Bobak, Mark" <Mark.Bobak@xxxxxxxxxxxx>, "big.dave.roberts@xxxxxxxxxxxxxx" <big.dave.roberts@xxxxxxxxxxxxxx>, oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 7 Jul 2010 11:49:06 +0200

Mark,

I'm not a vmware expert, but can't you use a backup of the vmdk in combination 
with the snapshot to make a backup (to disk / tape) of your vmware guest?

Anyway, I would recommend to not using the vmware snapshotting but instead to 
use an rman backup to a remote share or to tape.

Regards,
 
Freek D'Hooge
Uptime
Oracle Database Administrator
email: freek.dhooge@xxxxxxxxx
tel +32(0)3 451 23 82
http://www.uptime.be
disclaimer: www.uptime.be/disclaimer
-----Original Message-----
From: Bobak, Mark [mailto:Mark.Bobak@xxxxxxxxxxxx] 
Sent: woensdag 7 juli 2010 11:17
To: D'Hooge Freek; big.dave.roberts@xxxxxxxxxxxxxx; oracle-l
Subject: RE: VMWARE Snapshots to backup Oracle

Hi Freek,

I was going to argue that it depends on how you intend to use the snapshots.  
As I alluded to in my previous mail, you can use snapshots for taking 
restartable snapshots.  This is where snapshots really excel.  If you want to 
"rollback" the entire database to point in time, put everything (datafiles, 
online redo, and controlfiles) in the snapshot group, and take a snapshot.  
Now, you can do what you need to do, be destructive, etc.  When you want to get 
back to where you were when the snapshot was taken, restore the snapshot, 
startup the database, and all those changes disappear, and poof!, you're back 
where you started from.

Then, I *was* going to argue, if you want to do "recoverable" snapshots, then 
you'd need to set up the snapshot group w/ only the datafiles, and backup the 
controlfiles and archived redo separately, and not backup the online redo, like 
you'd do with a conventional backup.  That's all true, and in principle, should 
work.  BUT, then I realized a flaw in my thinking.  A snapshot is *not* a 
backup!  It's a set of pointers to a point-in-time version of your datafiles.  
If you suffer from a media failure, there's no place to recover that data from. 
 The data isn't being backed up.  A snapshot is simply a set of pointers to 
some data and a copy-on-write mechanism to manage the blocks that have changed 
since the backup.  Because the snapshot relies on the "live" set of datafiles, 
it cannot be relied upon, in the event of a media failure.

So, if you want to restore your database to a point in time, using snapshots on 
the entire database (redo,data,control) will work well.  But, if you want a 
recoverable set of datafiles, that can be relied upon in the event of a media 
failure, then you should *not* be doing snapshots that rely on the primary copy 
of the datafiles.

So, I'm significantly changing my position on this, but mainly for different 
reason than what you pointed out. :-)

If you want to be able to quickly restore your database to a specific point in 
time, you can snapshot the entire database (redo, control, data), and that will 
give you a way to get back to the snapshot point in time.  But it does not 
allow for point in time recovery of any kind.

If you want a full recoverable backup, that you can do an incomplete, 
point-in-time recovery, do *not* use snapshots!  They are a bad idea!  They do 
not do a full media backup, so, in the event of media failure (which is what 
backups are meant to protect you against), you don't have any way to recover.

I stand corrected.

Hope that fixes and/or clarifies my previous comments,

--
//www.freelists.org/webpage/oracle-l


Other related posts: