1 Reply Latest reply: Oct 21, 2013 11:05 PM by Hemant K Chitale RSS

    Verifying if all necessary archivelogs are present

    greeny

      RDBMS Version: 11.2.0.3

      Platform RHEL 6.2

       

      We have a 'not so critical production database' . It is 20 TeraByte in size.

      Today is 22-October-2013 . The last time a full backup of this DB was taken on 20-August-2013.

      Ever since 20-August-2013 , only archive logs are backed up(every 6 hours). The backup goes to tape , Symantec Netbackup is the MML.

       

      Question1.

      Around 3500 archive logs were generated after the full backup.

      If something goes wrong and if I am asked to restore and recover the DB from the Tape backup , how can I verify that all archivelogs after  the full backup (20-August-2013) are actually available in the tape ?

       

       

      Question2.

      We don't have enough disk space to act as a staging area for the restored backup pieces from tape. So, we have to restore, recover directly from Tape.

      If all the archive logs are available , following is all I have to do to restore, recover from Tape . Right ?

       

      Found the following from an OTN post

       

      startup nomount pfile=/opt/app/oracle/11.2.0.3/db_home1/dbs/initBRCFS.ora ;

      set dbid 706455281;

      run {

      allocate channel c1 type 'SBT_TAPE';

      send 'NB_ORA_POLICY=adrsk172,NB_ORA_SERV=hewmgt238,NB_ORA_CLIENT=pcapdmt192';

      restore controlfile from autobackup maxdays=3;

      }

      alter database mount;

       

      run {

      allocate channel c1 type 'SBT_TAPE';

      allocate channel c2 type 'SBT_TAPE';

      allocate channel c3 type 'SBT_TAPE';

      allocate channel c4 type 'SBT_TAPE';

      send 'NB_ORA_POLICY=adrsk172,NB_ORA_SERV=hewmgt238,NB_ORA_CLIENT=pcapdmt192';

      set until time "to_date('22-10-2013 11:30:00','DD-MM-YYY HH24:MI:SS')";

      restore database;

      sql 'ALTER DATABASE DISABLE BLOCK CHANGE TRACKING';   ----> Don't know why I have to disable BCT

      recover database;

      }

      alter database open resetlogs;

        • 1. Re: Verifying if all necessary archivelogs are present
          Hemant K Chitale

          You could run CROSSCHECK ARCHIVELOG ALL   (or CROSSCHECK ARCHIVELOG FROM TIME 'date_string' UNTIL TIME 'date_string'.

           

          Since the archivelogs are on tape, you may need to define a maintenance channel.

           

          If you don't have enough disk space for all the archivelogs, the RECOVER command has a parameter MAXSIZE to specify the disk space that Oracle will use for archivelogs. It will then restore archivelogs in batches for use during the RECOVER.  This will mean that RMAN will do multi-pass reads from the MML to restore archivelogs in batches.  Which would be slow.

          Note : I haven't tried using this parameter so I don't have experience with it.

           

          Hemant K Chitale

           

          Hemant K Chitale