understanding BCV -- timefinder

Posted on 2009-12-30
Last Modified: 2012-05-08
i got this high level doc -- i am trying to understand timefinder , how does it work, how can it be used in my data warehouse env


A simple oracle backup scenario using BCVs would be something like.

0) demount the BCVs from alternate mount points (if so mounted)
1) resilver the BCVs
2) put the database in hot backup mode
3) switch logfile
4) quiesce database writing
5) split the BCVs
6) un-quiesce database writing
7) take the database out of hot backup mode
8) switch logfile
9) backup the control file to a named file -- not to trace , init.ora file, and password file (if used).
a) backup the archived redo logs.
b) mount the BCVs to alternate volume names or to a different server
c) backup the BCVs to tape or ...

what does resilvering mean?

what does quiesce database writing mean ? unquiesce database writing ??

does spliting BCV mean unmounting??

does anybody have any video or webcast regarding timefinder? any help is appreciated.
Question by:ramavenkatesa
    LVL 40

    Accepted Solution

    >>what does resilvering mean?

    To merge a BCV back into synch with its primary volume, to prepare for another snapshot / split.

    >>what does quiesce database writing mean ? unquiesce database writing ??

    To halt updates to the database. I don't know why your list includes this, because if you are using TimeFinder with Oracle, the whole point is not provide 24x7 availablility. In my TimeFinder / Oracle setups, I did not quiesce. It is enough simply to put the tablespaces into hot backup mode prior to the split.

    >>does spliting BCV mean unmounting??

    The BCV is really not mounted. Splitting means to break out of synchronization with the primary volume.

    Remember, a BCV is simply a background mirror of a primary volume. Splitting freezes the BCV at that point in time. You may mount it on another host to recover it, but not required. You may roll the backups to tape from an unmounted filesystem as well. It all depends on your tape backup method.

    Remember, a BCV image of a live Oracle database must be recovered as it is inconsistent.


    Author Comment


    -- how much time shd i expect the oracle database to be down ?? can time finder be used in 24 * 7 environment?

    if timefinder can not provide 24 * 7 -- what are the other alternatives to take backup for VLDB's?

    can u please share ur TimeFinder / Oracle steps or scripts??

    once splitting has been done, what are the various methods I can write to tape ?

    Also, if my prod database crashes -- can u please tell how can i recover from the backup already taken ??

    -- i will attach the bcv volume to the prod server. as it is in inconsistent -- i shd apply archive logs from the point i splitted. am i right?

    Author Comment

    can u please see my other questions too?? Thanks a lot for ur help

    Author Comment

    can timefinder be used ONLY on symetrix storage server??
    LVL 40

    Expert Comment

    TimeFinder, as far as I know, is available for several EMC storage units. I think it is available for Clariion too, but you need to check with EMC. I only used it for Symmetrix but I recall a sales rep telling me it worked for the smaller SANs.

    >>-- how much time shd i expect the oracle database to be down ?? can time finder be used in 24 * 7 environment?
    >>if timefinder can not provide 24 * 7 -- what are the other alternatives to take backup for VLDB's?

    TimeFinder / BCVs are especially for 24x7. Otherwise, noone would waste the money. This is specifically why we use BCVs, so as never to take down the system.

    It allows backups of arbitrarily large databases with a short backup window.

    >>Also, if my prod database crashes -- can u please tell how can i recover from the backup already taken ??

    What sort of crash? It all depends on what you have to start with. If your prod database crashes, but you have the live redo logs / control files, then you can do a complete user managed recovery.

    What I advise is what I did when first working with BCVs, have your sys-admin copy the BCVs or mount them on a test box, then recover the BCV. This will give you a chance to work out any problems with your backup script.

    So you have 2 major scenarios, and then small variations:

    1) Total loss of primary (disaster), so recovery is based 100% on the BCV. You cannot do complete recovery.
    a) Copy the backup controlfile onto all controlfile locations, same with the backup spfile
    b) Startup mount
    c) SQL> recover database until cancel using backup controlfile;
    d) SQL> alter database open resetlogs;

    1) Partil loss of primary, so recovery is based on BOTH primary and the BCV. You CAN do complete recovery if you have both the live redo logs and the archive logs. If you lost all your live controlfiles, you'll need to create a new controlfile instead of using the backup controlfile, or else you'll need to open with resetlogs (new incarnation). A new incarnation is a minor issue as long as you can completely recover all the redo.
    a) Determin which controlfile you have to start with, preferably the current one, otherwise create one with the trace file from your backup that you should include in your backup script (backup controlfile to trace).
    b) Startup mount
    c) SQL> recover database until cancel ...; -- Here you will also manually feed the live redo logs to the recovery as well. If you can get to "Media recovery complete" then you can open database noresetlogs (d) otherwise (e).
    d) SQL> alter database open noresetlogs;
    e) SQL> alter database open resetlogs;

    There are a lot of scenarios, so I advise you to work with the BCVs on a test system. Never wait until a disaster to learn how to recover or you will surely be unprepared and possibly mess up.

    LVL 4

    Assisted Solution

    Hi ramavenkatesa,

    BCV is a secondary volume .
    BCV will be in syncronied/split/sync in progress states with Standard/Primary Volume.
    Primary volume is mounted on Production Server.

    BCV can be mounted on DR/secondary host when it is in split state.
    BCV will not be visible to any host whenit is in sync with STD/Primary volume.This state is Not Ready(NR) state on BCV.

    Irrespective of BCV volume status the STD/primary volume will always be available to production host.

    Hope its clear now. Let me know if any more doubts....
    LVL 4

    Expert Comment

    I want to make you claer that BCV- STD is EMC concept and the SYMAPI (Properitary for EMC, only work for symmetrix)

    You will find time finder operations in IBM/HP/Hitachi but they need diff sw to operate same as symAPI

    Author Comment

    do u have scripts so that i can see what BCV does on an oracle production server?
    LVL 4

    Assisted Solution

    scripts , i do not know what all you look for but here are the basic time finder operational commands.

    Prepare EMC structures
    Create a Symmetrix disk group

    symdg -t [ Regular | RDF1 | RDF2 ] create ${group}

    Add devices to the disk group

    symld -g ${group} add pd /dev/dsk/c#t#d#
    symld -g ${group} add dev 01a

    Associate BCV devices to the disk group

    symbcv -g ${group} associate pd ${bcv_ctd}
    symbcv -g ${group} associate dev ${bcv_dev}

    Establish BCV mirrors
    ID the logical device names: Timefinder defaults to using the logical device names. You can id the logical device names by:

    symmir -g ${group} query

    First time establish, execute a full establish:

    symmir -g ${group} -full establish ${std_log_dev} bcv ${bcv_log_dev}

    Use symmir query to monitor progress.

    symmir -g ${group} query

    Break BCV mirrors
    Types of splits:
    Instant split: Split is performed in the background after the completion of the split I/O request.
    Force split: Splits the pair during establish or restore operations; invalid tracks may exist.
    Reverse split: Resyncs the BCV with the full data copy from its local or remote mirror.
    Reverse differential split: Enables a copy of only out-of-sync tracks to the BCV from its mirror.
    Differential split: Enables a copy of only the updated tracks to the BCV's mirror.


    symmir -g ${group} split
    symmir -g ${group} split -instant
    symmir -g ${group} split -differential
    symmir -g ${group} reverse split -differential

    Reestablish or restore BCV mirrors
    Restore copies data from BCV back to standard pair. >Reestablish, on the other hand, does a differential update of the BCV from the standard device.
    symmir -g ${group} establish  Differential reestablish from standard device to BCV  
    symmir -g ${group} -full restore  Full restore of all tracks on BCV to standard device.  
    symmir -g ${group} restore  Differential restore of BCV data to standard device.  

    So, that's the Timefinder tactics - how to do the various operations. What about the Timefinder Strategies? There are basically two options:

    Maintain BCV mirrors with the standard device; break the mirrors when you want to backup, test, or develop on a copy of the original.

    This is probably the most common way of running Timefinder. The advantage is that the split operation will happen almost instantly as the mirrors are fully synced all the time. The disadvantage is that anything untowards that happens to the standard device will be reflected in the BCV mirror.

    Maintain the BCV as a split device to keep an online backup of the original data.
    This is an intriguing idea that I got from a coworker, Tom Bonnevier. Basically, it provides the ability to have online backups as mounted filesystems. In case someone accidentally aliases clear to "rm -fr ${mp}", you can restore the data with a simple cp command. The disadvantage is that the BCVs will have to be resynced periodically. The time to do this is obviously dependent on the amount of data that's changed. If it's a fairly static filesystem, it could be pretty quick. On the other hand, if everything's changed, then it's going to take a bit.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Looking for New Ways to Advertise?

    Engage with tech pros in our community with native advertising, as a Vendor Expert, and more.

    Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
    This post first appeared at Oracleinaction  ( Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
    Video by: Steve
    Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
    This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    15 Experts available now in Live!

    Get 1:1 Help Now