Recover Standby Database

Posted on 2011-04-25
Last Modified: 2012-05-11
A couple days ago i ran out of archived log space on the standby.  Since that time, i've not been able to recover past that time.  
I go into SQLPlus and issue a recover standby database until cancel.  

SQL> recover standby database until cancel;

ORA-00279: change 3390948827767 generated at 04/23/2011 05:35:03 needed for
thread 1
ORA-00289: suggestion : /u03/archived_logs/1_101461_665266938.arc
ORA-00280: change 3390948827767 for thread 1 is in sequence #101461

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00326: log begins at change 3390949430369, need earlier change
ORA-00334: archived log: '/u03/archived_logs/1_101461_665266938.arc'

When I present the suggested log, i get the 'need earlier change' message.

Change 3390948827767 is in the 1_101461_665266938.arc.
How do I get this standby back to recovering???
Question by:xoxomos
    LVL 7

    Assisted Solution


    Just go backwards in the logs the recovery process asks for. Suggested is not necessary the good one...

    LVL 76

    Accepted Solution

    I would contact Oracle Support on this one.

    There appears to be a few bugs on this.  The bug reference numbers are talked about in:
    LVL 16

    Assisted Solution

    by:Swadhin Ray
    Run this :

    alter database recovery automatic until cancel;

    After issuing this need to copy and past in the recovery directory path it is specifying archived needed for recovery

    Author Closing Comment

    All of you had most parts of the problem.  Oracle support gave me a query that returned unrecoverable_change# in both the primary and standby.  In cases where the unrecoverable_change# on primary was greater than standby i needed to copy from primary to standby.  The big mistake i was making was transferring from primary to the archive_log_dest directory on standby and the managed recovery process was just writing over it.  What I needed to do was transfer to some other directory then issue a SQL command to:
    alter database register or replace logfile '/tmp/1_101461_665266938.arc';, then let it recover as much as it would and start the process all over each time i got the 'need earlier/later' number.
    Thanks all.

    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.

    Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
    Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
    This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…
    Via a live example, show how to take different types of Oracle backups using RMAN.

    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

    11 Experts available now in Live!

    Get 1:1 Help Now