RE: cloning a terabyte database

  • From: Carel-Jan Engel <careljan@xxxxxxxxxx>
  • To: mwf@xxxxxxxx
  • Date: Thu, 20 Dec 2007 20:52:09 +0100

On Thu, 2007-12-20 at 14:26 -0500, Mark W. Farnham wrote:
> Second, you wrote “damanged.” Now if many of the files are okay,
> remember that Oracle supports heterochronous recovery just fine, so
> you can just send new copies of the damaged files as long as you have
> the redo logs available back through the oldest file from “test” that
> you want to recover.

When:

      * bandwidth is limited
      * the data is not too volatile
      * (much of) the old database is still available
      * the time between the last 'refresh' and this one isn't too long 

(all variables that have to be determined on site and judged regarding
their net effect)
the I've used rsync as an alternative to copy/restore/reinstantiate with
quite some success.
I've experienced cloning operations to e.g. an e=invalidated standby
database where the 'speedup factor' reported by rsync was 2000 - 3000!

rsync will, when used with the proper options (see below) compare files
at both ends block by block. This is done by checksumming the blocks.
Local processes at both ends will do this. Then the checksums are send
from the recipient to the sender, and copmared. Only changed bloccks
will be transferred. 

This will result in a byte-identical copy at the receiving end, just as
good old vanilla hot backup would yield. So, if you put a tablespace in
backup mode, and use the rsync command to 'copy' its datafiles, rsync
will speed up your backup operation significantly if much of the data is
there already. It doesn't matter whether the datafiles have been used
for testing, or only some of them were destroyed. All unchanged data
will remain uncopied, saving precious bandwidth.  The rest will be
overwritted, filled in, whatever is needed. 

For a local network this yields increased copy rates very rarely, just
because simply copying the data through a 100Mb or 1Gb LAN is faster
than reading all data at both ends, transfer the checksums and compare
them.

The rsync command I use (for a database blocksize of 8k) is:

rsync -vcptSz --block-size=8192 

Look the rsync man pages of your OS for local flavours of the
optionlist.

Best regards,

Carel-Jan Engel

===
If you think education is expensive, try ignorance. (Derek Bok)
===

> 
>  
> 
> Regards,
> 
>  
> 
> mwf
> 
>  
> 
> 
>                                    
> ______________________________________________________________________
> 
> From: oracle-l-bounce@xxxxxxxxxxxxx
> [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Sanjay Mishra
> Sent: Thursday, December 20, 2007 10:03 AM
> To: oracle-l@xxxxxxxxxxxxx
> Subject: cloning a terabyte database
> 
> 
> 
>  
> 
> 
> Hi
> 
> 
>  
> 
> 
> I had to copy a Terbayte Prod database and its test box is damanaged
> and has to recreate with Prod. What are the fastest method. Both Prod
> and Test server are at different location and so I cannot restore the
> Tape backup directly.
> 
> 
>  
> 
> 
> TIA
> 
> 
> Sanjay
> 
> 
> 
>  
> 
> 
>                                    
> ______________________________________________________________________
> 
> Looking for last minute shopping deals? Find them fast with Yahoo!
> Search.
> 
> 
> 
> 
> -- 
> This message has been scanned for viruses and 
> dangerous content by MailScanner, and is 
> believed to be clean.


Other related posts: