Incomplete Recovery   «Prev  Next»

Lesson 12

Performing Incomplete Recovery Conclusion

This module discussed some basic concepts about performing incomplete recovery to an ARCHIVELOG database. You learned about different situations in which incomplete recovery must be applied, different types of incomplete recovery, and how to handle recovery in different situations. Having completed this module, you should be able to
  1. Identify an incomplete recovery situation
  2. List incomplete database recovery steps
  3. Monitor recovery progress information using the alert log
  4. Perform a time-based recovery
  5. Perform a cancel-based recovery
  6. Use a backup control file to recover
  7. Recover without the current redo log
  8. Handle recovery through RESETLOGS
  9. Perform tablespace point-in-time recovery

Performing Cancel-Based Recovery

The steps in the simulation are as follows:
  1. Before you start the recovery process, you decide to perform a whole closed database backup. At the prompt, type SHUTDOWN IMMEDIATE to shutdown the database. When you finish, press Enter.
  2. To perform a backup using the operating system, type HOST at the prompt. After you finish, press Enter.
  3. Suppose you have a batch file, do_backup.bat, that will perform the backup. This file is stored at the present directory. To have the file perform the backup, type DO_BACKUP at the prompt. After you finish, press Enter.
  4. Now you are going to restore all the datafiles. Remember all the database files must be older than the lost archived log #448, but the control file must be current. Suppose you have another batch file to restore all the datafiles for you. This file is called do_dbf_restore.bat. To perform this operation, type DO_DBF_RESTORE at the prompt. After you finish, press Enter.
  5. Now you want to make sure the restoring of the datafiles has been done correctly. Type DIR at the prompt. After you finish, press Enter.
  6. After reading the timestamp for each datafile (see the highlighted text) you are sure that you have restored the correct datafiles since these are older than the lost archived log #448. To go back to Server Manager, type SVMGR30 at the prompt. After you finish, press Enter.
  7. Now you have to perform the recovery of the database in the mount mode. To mount the database, type STARTUP MOUNT at the prompt. After you finish, press Enter.
  8. The database is mounted and you are ready to perform a cancel-based recovery. Type
    RECOVER DATABASE UNTIL CANCEL
    
    at the prompt. After you finish, press Enter.
  9. When Oracle prompts you with the suggestion to apply a certain archived log, you must press enter in order to continue. This step is repeated for each archived log that needs to be applied. This Simulation will skip all these repetitions and move right to the archived log you want to apply. Press Enter when you are ready to move on.
  10. Now you have reached archived log #448. Since this log is lost, the recovery cannot pass this log. To move on to the next step in the recovery process, type CANCEL at the prompt. After you finish, press Enter.
  11. To synchronize the recovered datafiles with the control file and redo log files and open the database, type ALTER DATABASE OPEN RESET LOGS; at the prompt. After you finish, press Enter.
  12. You have successfully recovered the database using the cancel-based recovery. Do not forget to make another whole database backup to avoid this type of recovery. This is the end of the Simulation.

Performing Cancel-Based Incomplete Recovery

In cancel-based recovery, recovery proceeds by prompting you with the suggested file names of archived redo log files. Recovery stops when you specify CANCEL instead of a file name or when all redo has been applied to the data files. To perform cancel-based recovery:
  1. Follow Step1 through Step 8 in "Performing Closed Database Recovery"
  2. Begin cancel-based recovery by issuing the following command in SQL*Plus:
    RECOVER DATABASE UNTIL CANCEL
    

    Note: If you fail to specify the UNTIL clause on the RECOVER command, then the database assumes a complete recovery and does not open until all redo is applied.
    The database applies the necessary redo log files to reconstruct the restored data files. The database supplies the name it expects to find from LOG_ARCHIVE_DEST_1 and requests you to stop or proceed with applying the log file. If the control file is a backup, then you must supply the names of the online redo logs if you want to apply the changes in these logs.
  3. Continue applying redo log files until the last log has been applied to the restored data files, then cancel recovery by executing the following command:
    CANCEL
    
    The database indicates whether recovery is successful. If you cancel before all the data files have been recovered to a consistent SCN and then try to open the database, then you get an ORA-1113 error if more recovery is necessary. You can query V$RECOVER_FILE to determine whether more recovery is needed, or if a backup of a data file was not restored before starting incomplete recovery.
  4. Open the database with the RESETLOGS option. You must always reset the logs after incomplete recovery or recovery with a backup control file. For example:
    ALTER DATABASE OPEN RESETLOGS; 
    
    If you attempt to use OPEN RESETLOGS when you should not, or if you neglect to reset the log when you should, then the database returns an error and does not open the database. Correct the problem and try again.
  5. After opening the database with the RESETLOGS option, check the alert log.
    Note: The easiest way to locate trace files and the alert log is to run the following SQL query:
    SELECT NAME, VALUE FROM V$DIAG_INFO.
    
    When you open with the RESETLOGS option, the database returns different messages depending on whether recovery was complete or incomplete. If the recovery was complete, then the following message appears in the alert log:
    RESETLOGS after complete recovery through change scn
    
    If the recovery was incomplete, then this message is reported in the alert log, where scn refers to the end point of incomplete recovery:
    RESETLOGS after incomplete recovery UNTIL CHANGE scn
    
The next module shows you how to maintain redo log files and introduces recovery situations that occur only infrequently.

Glossary

This module introduced you to the following terms:
  1. Incomplete recovery: Incomplete recovery reconstructs the database as it was at a specified time before the media failure.
  2. Mirror online redo logs: Make frequent backups and duplex the archived log files.
  3. Time-based recovery: To perform a time-based recovery, you must specify a point-in-time in the process. The recovery is complete when that specified point-in-time is reached.
  4. Cancel-based recovery: A cancel-based recovery is performed by entering CANCEL (instead of a log file name or AUTO) at the recovery prompt.
  5. Change-based recovery: To perform a change-based recovery, you terminate the recovery at a specified system change number (SCN). This approach is often applied when you recover a database in a distributed environment.
  6. Alert log file: The alert log file is a special trace file for a database. It chronologically records messages and errors about database operations, such as internal errors, block corruption errors, and information about administration operations, including database recovery.
  7. Tablespace point-in-time recovery (TSPITR): Tablespace point-in-time recovery (frequently abbreviated as TSPITR) refers to a recovery of all datafiles in a tablespace to a specific time.

The following section discuss how to perform a cancel-based recovery.

Incomplete Recovery - Quiz

Click the Quiz link below to review your understanding of incomplete recovery.
Incomplete Recovery - Quiz


SEMrush Software