This discussion is archived
10 Replies Latest reply: Oct 7, 2013 6:53 PM by Hemant K Chitale RSS

Restore DB from RAC (two nodes) DB to single node

Mody82 Newbie
Currently Being Moderated

Hi guys,

 

     Environment:

          DB on RAC (2 nodes)

          OS Windows 2008R2

          Oracle 11gR2

          Backup : EMC Networker.

 

     Requirements :

          Need to do restore for this DB on another machine (one node) , for testing and updating purpose.

 

     Issue :

     Recovery is not succeeded , but restore of Controlfiles and DataFiles is done successfully to the new machine with new directory structures.

 

     Error:

ORA-10879: error signaled in parallel recovery slave

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below

ORA-01152: file 1 was not restored from a sufficiently old backup

ORA-01110: data file 1: 'D:\APP\DATA\SYSTEM01.DBF'

 

     Now, wants to open the DB after recovery, How can I do that ? (need a scripts ...)

 

 

FYI , Scripts using ##

--------------------

run

{

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'

parms 'ENV=(NSR_SERVER=bkpsrv,NSR_CLIENT=dbsrv)';

ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE'

parms 'ENV=(NSR_SERVER=bkpsrv,NSR_CLIENT=dbsrv)';

SET NEWNAME FOR DATAFILE '+DBDATA/SYSTEM.256.777377935' TO 'D:\app\data\SYSTEM01.DBF';

SET NEWNAME FOR DATAFILE '+DBDATA/sysaux.257.777377935' to 'D:\app\data\sysaux.dbf';

SET NEWNAME FOR DATAFILE '+DBDATA/undotbs1.258.777377935' to 'D:\app\data\undotbs01.dbf';

SET NEWNAME FOR DATAFILE '+DBDATA/users.259.777377935' to 'D:\app\data\users01.dbf';

SET NEWNAME FOR DATAFILE '+DBDATA/undotbs2.264.777378113' to 'D:\app\data\undotbs02.dbf';

set until sequence 16510;

restore database;

recover database;

RELEASE CHANNEL ch00;

RELEASE CHANNEL ch01;

}

---------------------------------------------------------

  • 1. Re: Restore DB from RAC (two nodes) DB to single node
    JavierFranciscoRuiz Explorer
    Currently Being Moderated

    Are you sure you used the correct sequence number?

  • 2. Re: Restore DB from RAC (two nodes) DB to single node
    DK2010 Guru
    Currently Being Moderated

    Hi,

     

    You are changing the datafile name here, you have to  use command switch datafile as well.

    What backup you are using COLD or Hot

  • 3. Re: Restore DB from RAC (two nodes) DB to single node
    Mody82 Newbie
    Currently Being Moderated

    Are you sure you used the correct sequence number?

     

    yep .. correct seq.

     

    What backup you are using COLD or Hot ?

     

    Hot backup (Online)

  • 4. Re: Restore DB from RAC (two nodes) DB to single node
    DK2010 Guru
    Currently Being Moderated

    Hi,

     

    use switch datafile all; in your restore command

    Check the Alert log for ant hint

    You can also check the link :Database Migration | Levi Pereira

     

    HTH

  • 5. Re: Restore DB from RAC (two nodes) DB to single node
    TSharma-Oracle Guru
    Currently Being Moderated

    Use 'switch datafile all' Or 'switch database to copy' command after restore database command. This command updates the control file with new file names.The switch directive tells RMAN that any further recovery options should apply to the renamed (copied) datafiles.

    Also,

    When you get this error,

    1) go to the sqlplus,

    2) open the database in the mount stage,

    3) run this following query and post the output

     

    select status,checkpoint_change#,checkpoint_time,count(*), fuzzy from v$datafile_header group by status,checkpoint_change#,checkpoint_time, fuzzy;

  • 6. Re: Restore DB from RAC (two nodes) DB to single node
    Hemant K Chitale Oracle ACE
    Currently Being Moderated

    When recovering a RAC database (2 nodes), you have 2 threads of redo to recover.  Which thread is the specified sequence 16510 from ?  What about the other thread ?  What were the sequence numbers at that time ?  Do you have the archivelogs from both threads ?  When you did the RECOVER DATABASE commands, what messages were logged to the alert.log ? -- these would show which archive log sequences being applied.

     

    Hemant K Chitale

  • 7. Re: Restore DB from RAC (two nodes) DB to single node
    Mody82 Newbie
    Currently Being Moderated

    Dear all ,

     

    I solved the issue by edit a line into my init<SID>.ora

    _allow_resetlogs_corruption=true

    [make sure it starts with the '_' [underscore] character

     

    Then :

    1. startup mount

    2. recover database until cancel using backup controlfile

    3. on return of the prompt input - cancel

    4. alter database open resetlogs

     

    it works fine and opened successfully ....

     

    But is it right way ? and it will loss any data .. or it will be corrupt my database ?

     

    Regards

  • 8. Re: Restore DB from RAC (two nodes) DB to single node
    Hemant K Chitale Oracle ACE
    Currently Being Moderated

    Yes, you very likely have lost data.  You can't guarantee that all the data that you have is consistent (not corrupt) either.

     

     

    Hemant  K Chitale

  • 9. Re: Restore DB from RAC (two nodes) DB to single node
    Mody82 Newbie
    Currently Being Moderated

    HemantKChitale wrote:

     

    When recovering a RAC database (2 nodes), you have 2 threads of redo to recover.  Which thread is the specified sequence 16510 from ?  What about the other thread ?  What were the sequence numbers at that time ?  Do you have the archivelogs from both threads ?  When you did the RECOVER DATABASE commands, what messages were logged to the alert.log ? -- these would show which archive log sequences being applied.

     

    Hemant K Chitale

    The thread number is 2  ,,,, u mean that I have to specify it like this

     

    set until sequence 16510 thread 2;

     

    and should I mention the other thread with sequence also ? like this ...

    set until sequence <seq> thread 1;

     

    HemantKChitale wrote:

     

    Yes, you very likely have lost data.  You can't guarantee that all the data that you have is consistent (not corrupt) either.

     

     

    Hemant  K Chitale

     

    So, that's mean never to use this parameter ( _allow_resetlogs... ),  if there's possibility of losing data ...

     

    Waiting your reply

     

    Regards

  • 10. Re: Restore DB from RAC (two nodes) DB to single node
    Hemant K Chitale Oracle ACE
    Currently Being Moderated

    Yes, for RAC, the SET UNTIL clause is SET UNTIL SEQUENCE n  THREAD m

     

    For example, if you specified SET UNTIL SEQUENCE 16510 THREAD 2, you must also have all the ArchiveLogs of THREAD 1 upto the same point in time as 16510 of THREAD 1.   Oracle needs *both* threads to be able to RECOVER the database because transactions occur in both threads.

     

    The _allow_resetlogs_corruption is a LAST OPTION choice only if Oracle Support tells you that you have no other options.  It can result in an inconsistent database --- e.g. an uncomitted transaction may appear as commited because the rollback information did not get applied OR a transaction that was committed by users does not get applied because the redo for it is ignored.

     

    Hemant K Chitale


Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points