You are on page 1of 16

BACKUP AND RECOVERY Media Failure and Recovery: Database in NOARCHIVELOG Mode Failure: loss of disk, data file,

or corruption Recovery: Restore all Oracle files: - Data files - Control files - Redo log files - Password file (optional) - Parameter file (optional) Advantage Easy to perform with low risk of error Recovery time is the time it takes to restore all files. Disadvantage backup Data is lost and must be reapplied manually The entire database is restored to the point of the last whole closed

Recovery > shutdown Restore all files using operating system > startup Restoring to a Different Location > startup mount > alter database rename file /clover/oradata/user_01.dbf to /clover/oradata/user_01.dbf; > alter database open; Media Failure and Recovery: ARCHIVELOG Mode Failure : loss of disk,data file,or corruption Recovery - Data files for restore must be offline. - Restore only lost or damaged data files - Do not restore the control files, redo log files, password files, or parameter files - Recover the data files. Advantages Only need to restore lost files Recovers all data to the time of failure Recovery time is the time it takes to restore lost files and apply all archived log files Disadvantages Must have all archived log files since the backup from which you are restoring Complete recovery

Closed database recovery for - System data files - Rollback segment data files - Whole database Opened database recovery, with database initially opened : for file loss Opened database recovery with database initially closed : for hardware failure Data file recovery with no data file backup Incomplete recovery Time based Cancel based Using control file Change based

Closed database backup No archive log mode Data files, Control files, Redolog files, Parameter file, Password file > SHUTDOWN IMMEDIATE cp<files> /backup > STARTUP OPEN; Open database backup Archive log mode Data files, Control files, Parameter file, Password file Arch process must be enabled > alter tablespace TEST begin backup; cp /clover/data/test.dbf /clover/backup/test.dbf > alter tablespace TEST end backup; Creating a binary image; > alter database backup controlfile to controll.bk Creating a text trace file: alter database backup controlfile to trace; Case Study for Backup and recovery To check database mode > archive log list To bring database in archive log mode > startup mount > alter database archivelog; To start ARCN process log_archive_start=true log_archive-max_process=2(max 10) > ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3; > ALTER SYSTEM ARCHIVE LOG START | STOP

To define archive format log_archive_format=TS%S.ARC Data Dictionary Format V$ARCHIVED_LOG V$LOG_HISTORY V$ARCHIVE_DEST V$ARCHIVE_PROCESSES

To define archive destination : Up to 4 destination can be defined log_archive_dest=/clover/archive log_archive_duplex_dest=/clover/archive OR log_archive_dest_1=LOCATION=/clover/arch Mandatory Reopen=500(Default 300) Optional log_archive_min_succeed_dest=2 log_archive_dest_state_3=DEFER / ENABLE > ALTER SYSTEM SET log_archive_dest_state_3=ENABLE; log_archive_dest_state_2=SERVICE=standby To defining archive destination in open database > ALTER SYSTEM ARCHIVE LOG START TO /clover/arch; Selectively Archiving > ALTER SYSTEM ARCHIVE LOG SEQUENCE 052; Backups I. Closed database backup Note : To keep backup, create one subfolder in your main folder Every day before shutdown delete all your backups. Database may in no archive/archive log mode Take backup of all files Data files, Control files, Redolog files, Parameter file, Password file (optional ) > SHUTDOWN IMMEDIATE; Copy all files to backup location using operating system. cp <files> /clover/backup/ > STARTUP OPEN; II Open database backup Database must be in archive log made ARCN process must be enabled Take backup of Data files, Control files Password file and Parameter file is optional > alter tablespace test begin backup; Copy datafile of test tablespace to backup location using operating system. cp /oracle/db01/data/test.dbf /oracle/backup/test.dbf

> alter tablespace test end backup; Note : Perform open database backup for all tablespaces Creating a binary image of control file > alter database backup controlfile to controll.bkp; Creating a text trace file > alter database backup controlfile to trace; path should be specified

path should be specified

Recovery Recovery in No Archive log mode : Advantage : Disadvantage : Easy to perform with minimum risk Recovery time is time taken for restore the files from backup Data lost must be reapplied manually Database is recovered to time of last backup.

Possible media failure : Loss of disk, datafile or corruption of datafile. Requirement : Last valid closed database backup. Recovery : Restore all datafiles, control files, redolog files. Recover the database.

Note : if log sequence no is not changed after taking the backup no need restore all file. Recovery in Archive log mode : ( Complete Recovery ) Advantage : Restore damaged datafile Recover all data to the time of failure Recovery time is time taken to restore datafile and apllying the archive logs. Disadvantage : Require all archive logs since the backup from which are restored Possible media failure : Loss of disk , datafile or corruption of datafile. Requirement : Last valid backup after seting database in archive log mode. All archive logs and online redologs which are not yet archived Recovery : Startup the database in mount/open stage Restore damaged datafile from backup using operating system recover Recover the datafile. Recovery syntax Recovering in mount stage > Recover database

> Recover datafile <datafile path/name or file no.>; > Alter database recover database; Manual recovery If archive log destination is not defined in the parameter file Oracle server has to be informed about the location of the file archive logs. > Alter system archive log start to <location>; To recover also you have to define the archive log location > recover from < location > database; Automatic recovery Before recover set auto recovery on. > set auto recovery on; > recover datafile <datafile path/name or file no.>; Enter auto when prompted for a redolog file. > Auto Or > recover automatic datafile <datailepath/name or file no.> Check V$recover_file - which file need recovery V$recovery_log - archive log need for recovery

Incomplete Recovery In incomplete recovery database will be recovered before the time of failure. Possible Failures : A failed complete recovery operation, Important table in the Database is dropped, A control file is lost, Loss of redolog files Rquirement : Recovery : Valid online or offline backup of all the database files. Need all archived logs ,Back up of control file. Shutdown and backup the database. Restore all data files. Do not restore the control file, redo logs, password files, or Parameter files. Mount the database and recover the data file before time of failure. Perform a closed database backup.

Recovery Guidelines : Follow all steps: Most errors occur during this type of recovery. Whole-database backup before and after recovery assist future recovery. Always verify that the recovery is successful. Back up the control file regularly. Back up and remove archived logs. Database are brought forward in time, not bake in time. Backup & Recovery Scenarios

1. 2.

How you will identify that the database was clean shutdown last time? Recover a lost datafile in Noarchive Mode - data is present in Redolog i. Restore damaged datafile ii. Recover it Recover a lost datafile in Noarchive Mode - data is not present in redologfile (Incomplete Recovery) i. Restore cold backup Recover System Datafile in Archive Mode (Databae was Closed initially) i. Startup mount ii. Restore damaged datafile iii. Recover datafile iv. Alter databse open; Recover Non-System Datafile in Archive Mode (Database was closed initially) Recover Non-system datafile to new location (Databae was closed initially) i. Startup mount ii. alter tablespace .. offline iii. alter databse open iv. restore datafile (to new location) alter databse rename datafile ... to ... v. recover tabclespace vi. alter tabclespace ... online Recover a datafile in Begin Backup mode (While taking backup of tablespace Power goes off. how to recover it) i. Startup ii. check v$Backup & V$recover_file iii. recover datafile iv. alter database open Recover a datafile, no backup exists but controlfile contains the name of datafile. (Controlfile should be older than datafile otherwise you cannot recover the datafile) (Scenario 5) Recover a Datafile belong to temporary tablespace. I am trying to take hot backup for all the table spaces to have a full backup of database with 9i...I took backup of all table spaces went ok....but for the temp it doesnt work and i dont think theres any diffrent cammand for that i used the following command and getting the ERROR massage: >Alter tablespace temp begin backup; ORA-03217: Invalid option for alter temporary tablespace (Don't back up TEMP, it cannot be recovered anyway. If you have to do a restore, just recreate the TEMP tablespace as part of the restore process)

3.

4.

5.

6.

7.

8. 9.

There is no need to backup the temporary locally manged tablespaces because: 1. Locally managed tempfiles are always set to NOLOGGING mode. So thus will have no undo. 2. Extents are managed by bitmap in each datafile to keep track of free or used status of blocks in that datafile. 3. The data dictionary does not manage the tablespace. 4. Rollback information is not generated because there is no update on the data dictionary. 5. Media recovery does not recognize tempfiles. 10. 11. Recovering from a lost datafile in a UNDO Tablespace - ID 1013221.6 Recover databse after disk loss 230829.1 29430.1]

12. How to Recover a Database Having Added a Datafile Since Last Backup [ID
13. Took a Cold Backup. Created a tablespace. How to recover i. If controlfile exists ii. If controlfile is also lost Recover Inactive Redologfile (Scenario 7) Lost Active Redolog File in Archive Mode & in NoArchive Mode Lost Current Redolog files in Archive & NOArchive Mode Lost all redolog files (Scenario 9) Lost one of the Multiplexed Redolog Files Recover Controlfile - No Multiplex Exists (SCenario 14) Performing Incomplete Recovery [ID 114199.1] How to recover the database if Archive files are missing - ID 163434.1 Recover a dropped table - ID 96197.1] (Scenario 8) - INCOMPLETE RECOVERY Recover Datafile after resetlogs (Scenario 10) Recover dropped tablespace (Scenario 11) Recovering READONLY tablespace backups made before a RESETLOGS Open [ID 266991.1] Recover a tablespace, Control file does not contain the tablespace info. (Scenario 12) A table test was created at 10am and dropped at 10.30 am, another table test1was created at 10.45 was dropped at 11.45am. Recover the tables without losing any records in both the table. (Scenario 13) Recover new information that was not in the backup and was only stored in the archivelog files. (Scenario 16)

14.

15. 16. 17. 18. 19. 20. 21. 22. 23.

24.

25. 26. 27. 28. 29. 30. 31.

How to recover a database having added a datafile since the last backup. (Scenario 17) If the database crashes during a hot backup. (Scenario 18) Re-creating controlfiles from a trace script where Read-Only Offlined tablespaces are present. (What will happen) Recover a datafile containing Index segments. Clonig using cold backup to same node / to another node How to Manually Clone a Database to Another Node [ID 562556.1] Cloning using hot backup (Same as 31) Database is in Archive mode. You have a Cold backup (Consistent) & Archive Files. You lost everything i.e. Redologs, Controlfile and Datafiles. Hoe to Recover. Machine [ID 224274.1] 77643.1]

32. How To Make A Copy Of An Open Database For Duplication To A Different 33. Doing Incomplete Recovery and Moving Redo Logs From Corrupted Disk [ID 34. One of the databases crashed. After some investigation it was found that only

data files and initialization file intact. All other files i.e. control files and redo log files were lost. The control files and log files were not multiplexed (First mistake). With only data files, how would you recover a database with minimal loss? 35. We even did not have consistent backup for the database (Second mistake). After doing some research, we finally decided to give a go to recover the database with available data files and initialization file. Up the instance using pfile recreate controlfile from trace alter database open resetlogs Extra: 36. Database Startup Fails with ORA-01113, ORA-01110 [ID 146039.1] 37. HOW TO RECOVER OFFLINE DROPPED DATAFILE IN ARCHIVELOG MODE [ID 286355.1] 38. ORA-600 [3668] "Media Recovery Required After CREATE CONTROLFILE" [ID 93665.1] 39. How to clone/duplicate a database with added datafile with no backup. [ID 292947.1] 40. Can I restore or duplicate my previous version database using a later version of Oracle? Y Can I restore or duplicate between two different patchset levels? Y Can I restore or duplicate between two different versions of the same operating system? Y Is it possible to restore or duplicate when the bit level (32 bit or 64 bit) of Oracle

does not match? OS Specific Can I restore or duplicate my RMAN backup between two different platforms such as Solaris to Linux? N

(Old) Scenario 1 Shutdown the database. > shutdown copy all datafiles, control files, redolog files to backup folder using operating system. Delete one datafile using operating system. > startup ( Database will go to mount stage giving an error ) Recovery Restore damaged datafile from backup using operating system and recover cp /oracle/backup /oracle/db01/data > alter database open ;

Scenerio 2 Force the log switch to change the log seq no. > alter system switch logfile; > alter system switch logfile; > alter system switch logfile; Shutdown the database. > shutdown Delete one datafile using operating system. > startup ( Database will go to mount stage giving an error ) Recovery Restore all files. > alter database open ;

Recovery in Archive log mode : ( Complete Recovery ) Scenario 3 ( In mount stage ) Force the log switch to change the log seq no. > alter system switch logfile ; > alter system switch logfile; > alter system switch logfile ; shutdown the database. > shutdown immediate ; Delete system datafile using operating system. > startup ( Database will go to mount stage giving an error ) ORA-01157 : cannot identify/lock data file 1 see DBWR trace file ORA-01110 : data file 1 : /clover/system01.dbf' Restore system datafile from backup using oprating system and recover the

datafile > Recover datafile /clover/data/sys.dbf ; > Alter database open ;

Scenario 4 ( Initially closed, open stage ) Shutdown the database. > shutdown immediate ; Delete non system datafile using operating systm. > startup ( Database will go to mount stage giving an error ) ORA-01157 : cannot Identify/lock data file 3 see DBWR trade file ORA-01110 : data file 3 : /clover/test.dbf Check V$ datafile header Take the lost datafile offline > Alter database datafile /clover/test.dbf offline; Restore the lost datafile from backup and recover the datafile. > Recover datafile /clover/test.dbf ; Bring the datafile online. > Alter database datafile /clover/test.dbf online; Note : if you want to restore the damaged datafile to different location oracle must Be informed about new location by renaming recovery > Alter database rename file /clover/test.dbf to /new/test.dbf ; Backup Recovery Recovery in Archive log mode : ( Complete Recovery )

Scenario 5 ( without backup ) Shutdown the database. > shutdown immediate ; Delete non system datafile using operating system. > startup ( Database will go to mount stage giving an error ) ORA-01157 : cannot identify/lock data file 3 see DBWR trace file ORA-01110 : data file 3 : /clover/test.dbf

Take the lost datafile oflinne > Alter database datafile /clover/test.dbf ofline; open the database > Alter database open; Take database offile immediate to avoid check point trying to write to datafile. > Alter tablespace test offline immediate; Since you do not have backup operate create the datafile > Alter database create datafile /clover/test.dbf as /clover/test.dbf; Recover the Database > Recover datafile /clover/test.dbf; > Alter tablespace test online ; Scenerio 6 Recovery of file in backup mode Startup online backup > Alter tablespace test begin backup ; switch off the system and restart . startup the database if it is already starting shut it down then startup. It will ask for media recovery ORA-01113 : file 3 needs media recovery ORA-01110 : data file 3 : /clover/test.dbf Check V$Backup > Recover datafile '/clover/test.dbf; OR > Alter database datafile 3 end backup ; check V$Backup Since the datafile header was frozen the database files were not synchronized. Scenario 7 Check V$Logfile for current logfile and delete one fo the redlog file which is not current. Using operating system. Force the log switch > Alter system switch logfile; it will give an eror ORA- 00313 : open failed for members of log group of thread 1 Scenario 8 : A table is dropped at 10 am at 11 am user comes to know that the table view or table does not exist Create a table test. > Create table test ( n number ); Insert values > Insert into test values (11111);

> Commit ; > Alter system switch logfile ; Note down the commit timing. Give some time gap and drop the table > Drop table test ; Shutdown the database > Shutdown Mount the databse > Startup mount ; Restore all datafile from backup (most recent ) using operating system. And recover the database until time (Specify time before droping the table ) > Recover database until time 2001-11-12:09:30:00; > Alter database open resetlogs ; After incomplete recovery take new backup of database. Select * from nls_database_parameter;

Cancel based recovery Scenario 9: Lost a redolog file Shutdown the database. Take back up of all logfiles, datafiles, controlfiles Delete one log file using operating system. Mount the database > startup mount ; Restore all datafile from backup using system. > recover database until cancel ; > Alter database open resetlogs ; Check for log file in v$ logfile

Change based recovery Scenerio 10: No back up was taken after reset logs, need is to use cold backup Backup the data file and control file. ( cold backup ) Perform incomplete recovery ( To bring database in new incarnation you can recover by time based or cancel based ) Create a table insert some records commit. Shutdown the database. > Shutdown Restore cold data file and control file ( from cold backup) Startup the database. ( You will get an error ) > Startup Check V$Log for change seq #) Recover until Change > recover database until change < change seq#>; > Alter database open resetlog : Check for table created.

Scenerio 11: Recovery using backup controlfile Tablespace was created at 10am and backup was taken and dropped at 2pm Create a tablespace and create one table insert records into the table. Take backup of all datafile and controlfile ( closed/open if you are taking open database backup first take backup of controlfile than datafile ) Drop the tablespace. > Drop tablespace test including contents ; Shutdown the database take backup of existing controlfile first than restore controlfile and datafile. Startup the database it will give an error after taking the database in mount stage. Make sure that all datafiles are online before recovery by checking v$recover_file Perform recovery using backup controlfile > recover database until time 2001-11-11:13:10:00 using backup controlfile; > Alter database open resetlogs ; Check for the table. Scenario 12: Backup was taken of both controlfile and datafile at 10 am. At 11 am Tablespace was created and at 1pm tablespace was dropped. Recover the tablespace using cold backup. Scenario 13: A table test was created at 10am and dropped at 10.30 am, another table test1was created at 10.45 was dropped at 11.45am. Recover the tables without losing any records in both the table. Scenario 14: Recover the lost current control file, or the current control file is inconsistent with files that you need to recover Scenario 15: Recover lost online redo logs. Scenario 16: Recover new information that was not in the backup and was only stored in the archivelog files. Scenario 17 How to recover a database having added a datafile since the last backup. Scenario 18 If the database crashes during a hot backup.

The RESETLOGS option is always required after incomplete media recovery or recovery using a backup control file. Resetting the redo log does the following: Archives the current online redo logs (if they are accessible) and then erases the contents of the online redo logs and resets the log sequence number to 1. For example, if the current online redo logs are sequence 1000 and 1001 when you open RESETLOGS, then the database archives logs 1000 and 1001 and then resets the online logs to sequence 1 and 2. Creates the online redo log files if they do not currently exist. Reinitializes the control file metadata about online redo logs and redo threads. Updates all current datafiles and online redo logs and all subsequent archived redo logs with a new RESETLOGS SCN and time stamp. Because the database will not apply an archived log to a datafile unless the RESETLOGS SCN and time stamps match, the RESETLOGS prevents you from corrupting datafiles with archived logs that are not from direct parent incarnations of the current incarnation.