database recovery

31
8 Copyright © 2004, Oracle. All rights reserved. Database Recovery

Upload: abla

Post on 04-Jan-2016

47 views

Category:

Documents


0 download

DESCRIPTION

Database Recovery. Objectives. After completing this lesson, you should be able to: Recover the control file Explain reasons for incomplete recovery Describe incomplete recovery methodology Recover the database to a specific point in time using: User-managed backups RMAN-managed backups - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Database Recovery

8Copyright © 2004, Oracle. All rights reserved.

Database Recovery

Page 2: Database Recovery

8-2 Copyright © 2004, Oracle. All rights reserved.

Objectives

After completing this lesson, you should be able to:

• Recover the control file

• Explain reasons for incomplete recovery

• Describe incomplete recovery methodology

• Recover the database to a specific point in time using: – User-managed backups– RMAN-managed backups– Enterprise Manager Database Control Console

Page 3: Database Recovery

8-3 Copyright © 2004, Oracle. All rights reserved.

Recovery Steps

Restored datafiles

Data files containingcommitted and uncommitted

transactions

Recovered datafiles

Changes applied Undo applied

5

4

3

2

1

ArchivedlogArchived

log OnlineRedo log

Page 4: Database Recovery

8-4 Copyright © 2004, Oracle. All rights reserved.

Server Managed Recovery:RESTORE and RECOVER Commands

run{

sql "ALTER TABLESPACE indx_tbs OFFLINE IMMEDIATE";

RESTORE TABLESPACE indx_tbs;

RECOVER TABLESPACE indx_tbs DELETE ARCHIVELOG;

sql "ALTER TABLESPACE indx_tbs ONLINE";

}

Page 5: Database Recovery

8-5 Copyright © 2004, Oracle. All rights reserved.

User-Managed Recovery Procedures:RECOVER Command

• Restore all database files from backup and recover the database:

• Restore the damaged data files from a backup and recover the data files:

Or

SQL> RECOVER DATABASE

SQL> RECOVER TABLESPACE index_tbs

SQL> RECOVER DATAFILE 2> '/oradata/indx01.dbf'

Page 6: Database Recovery

8-6 Copyright © 2004, Oracle. All rights reserved.

Recovering a Control File Autobackup

RecoveryManager(RMAN) Flash Recovery

Area

Database

ControlFile

RECOVER DATABASE;

ALTER DATABASE OPEN RESETLOGS;

ALTER TABLESPACE temp ADD TEMPFILE...;

RMAN> RESTORE SPFILE TO 2> '/oradata/spfile.bak' FROM AUTOBACKUP;

Page 7: Database Recovery

8-8 Copyright © 2004, Oracle. All rights reserved.

Creating a New Control File

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

PasswordFile

Parameter File

SYSTEM

SYSAUX

UNDO TEMP

USERS

INDEX

Redo logfile 1B

Redo logfile 1A

Redo logfile 2B

Redo logfile 2A

Controlfiles

Page 8: Database Recovery

8-9 Copyright © 2004, Oracle. All rights reserved.

Creating a New Control File

Page 9: Database Recovery

8-10 Copyright © 2004, Oracle. All rights reserved.

Incomplete Recovery Overview

Instance

SGA

Redo log buffer

Databuffer

Large PoolLocks

Shared pool

Data dict.cache

Shared SQLand PL/SQL

PMON DBWnSMON LGWRCKPT ARCnUser

processServer

processPGA

Userprocess

Serverprocess

PGA

Parameterfile

Passwordfile

Archivedlog files

Database

1Data file 1

1Data file 2

1Data file 3

1Control

files

1Redo log

file 10

Redo logfile 2

Page 10: Database Recovery

8-11 Copyright © 2004, Oracle. All rights reserved.

Situations Requiring Incomplete Recovery

• Complete recovery fails because of a missing archived log file

• One or more unarchived redo log files and a data file are lost

• A backup of the control file is used to open or recover the database

Page 11: Database Recovery

8-12 Copyright © 2004, Oracle. All rights reserved.

Types of Incomplete Recovery

There are four types of incomplete recovery:

• Time-based recovery

• Cancel-based recovery

• Change-based recovery

• Log sequence recovery

Page 12: Database Recovery

8-14 Copyright © 2004, Oracle. All rights reserved.

Incomplete Recovery Best Practices

• Follow all steps carefully.

• Take whole database backups before and after recovery.

• Always verify that the recovery was successful.

• Back up and remove archived logs.

Page 13: Database Recovery

8-16 Copyright © 2004, Oracle. All rights reserved.

Using RECOVER for Incomplete Recovery

• Recover a database until time:

• Recover a database until cancel:

• Recover using backup control file:

SQL> RECOVER DATABASE UNTIL CANCEL;

SQL> RECOVER DATABASE UNTIL

2 TIME '2003-12-14:12:10:03';

SQL> RECOVER DATABASE 2 UNTIL TIME '2003-12-14:12:10:03' 3 USING BACKUP CONTROLFILE;

Page 14: Database Recovery

8-17 Copyright © 2004, Oracle. All rights reserved.

Shut down and back up1

Mount the database

2

UNTIL TIME Recovery Example

Restore all data files

3

Open with Resetlogs5

Back up the database6

Database

146Data file 1

146Data file 2

146Data file 3

146Control

files

146Redo log

file 1145

Redo logfile 2

OE.ORDERS

Recovered Database

1Data file 1

1Data file 2

1Data file 3

1Control

files

1Redo log

file 10

Redo logfile 2

OE.ORDERS

Restored Database

144Data file 1

144Data file 2

144Data file 3

146Control

files

146Redo log

file 1145

Redo logfile 2

144Archivedlog file

4OE.ORDERS

Page 15: Database Recovery

8-18 Copyright © 2004, Oracle. All rights reserved.

UNTIL TIME Recovery Steps

1. Shutdown database

2. Restore data files

3. Mount the database

4. Recover the database

5. Open database with RESETLOGS option

6. Backup the databaseSQL> shutdown immediate$ cp /BACKUP/* /u01/db01/ORADATASQL> startup mountSQL> recover database until time '2004-05-28:11:44:00';SQL> alter database open resetlogs;SQL> shutdown;$ cp /u01/db01/ORADATA/* /BACKUP

Page 16: Database Recovery

8-20 Copyright © 2004, Oracle. All rights reserved.

Cancel-Based Recovery: Example

Scenario:

• The current time is 12:00 p.m. on May 28, 2004.

• The ORDERS table was dropped while someone was trying to fix corrupted data blocks.

• Log files exist on the same disk as the data files.

• The table was dropped at approximately 11:45 a.m.

• Staff are currently in a meeting.

Page 17: Database Recovery

8-21 Copyright © 2004, Oracle. All rights reserved.

Cancel-Based Recovery: Example

Findings:

• Redo logs are not multiplexed.

• One of the online redo logs is missing.

• The missing redo log is not archived.

• The redo log contained information from 11:34 a.m.

• Twenty-six minutes of data will be lost.

• Users can recover their data.

Page 18: Database Recovery

8-22 Copyright © 2004, Oracle. All rights reserved.

Incomplete Recovery and the Alert Log

• Check the alert log before and after recovery

• Look for error information, hints, and SCNs

• Confirm steps in the recovery process were successful

Page 19: Database Recovery

8-23 Copyright © 2004, Oracle. All rights reserved.

Incomplete Recovery of a DatabaseUsing RMAN

1. Mount the database.

2. Allocate multiple channels for parallelization.

3. Restore all data files.

4. Recover the database by using UNTIL TIME, UNTIL SEQUENCE, or UNTIL SCN.

5. Open the database by using RESETLOGS.

6. Perform a whole database backup.

Page 20: Database Recovery

8-24 Copyright © 2004, Oracle. All rights reserved.

RMAN Incomplete Recovery UNTIL TIME: Example

RMAN> RUN {

2> SET UNTIL TIME = '2004-05-28:11:44:00';

3> RESTORE DATABASE;

4> RECOVER DATABASE;

5> ALTER DATABASE OPEN RESETLOGS; }

Page 21: Database Recovery

8-26 Copyright © 2004, Oracle. All rights reserved.

RMAN Incomplete Recovery UNTIL SEQUENCE: Example

RMAN> RUN { 2> SET UNTIL SEQUENCE 120 THREAD 1; 3> ALTER DATABASE MOUNT; 4> RESTORE DATABASE; 5> RECOVER DATABASE; # recovers through log 119 6> ALTER DATABASE OPEN RESESTLOGS; 7> }

Page 22: Database Recovery

8-27 Copyright © 2004, Oracle. All rights reserved.

Recovery Using Enterprise Manager

Log in as a user with the SYSDBA privilege.

Page 23: Database Recovery

8-28 Copyright © 2004, Oracle. All rights reserved.

Recovery Using Enterprise Manager

Click on the Maintenance tab.

Page 24: Database Recovery

8-29 Copyright © 2004, Oracle. All rights reserved.

Recovery Using Enterprise Manager

Select Perform Recovery.

Page 25: Database Recovery

8-30 Copyright © 2004, Oracle. All rights reserved.

Recovery Using Enterprise Manager

Select Whole Database and enter OS login credentials.

Page 26: Database Recovery

8-31 Copyright © 2004, Oracle. All rights reserved.

Recovery Using Enterprise Manager

Select data files.

Page 27: Database Recovery

8-32 Copyright © 2004, Oracle. All rights reserved.

Recovery Using Enterprise Manager

Final review

Page 28: Database Recovery

8-33 Copyright © 2004, Oracle. All rights reserved.

Simplified Recovery Through RESETLOGS

• The database can be opened immediately after RESETLOGS. (No longer need to take a full backup)

• No changes are required to existing scripts.

• Recovery through RESETLOGS can be used for:– Incomplete recovery– Recovery using a backup control file

Backup taken

Open with RESETLOGS

Incomplete recovery

performedRecovery neededFull backup

t1 t2 t3 t4 t5

Page 29: Database Recovery

8-34 Copyright © 2004, Oracle. All rights reserved.

Recovery Through RESETLOGS: Changes

LOG_ARCHIVE_FORMAT="LOG%t_%s_%r.arc"

SQL> SELECT recid, thread#, sequence#, 2 resetlogs_change#, resetlogs_time 3 FROM v$log_history;

SQL> SELECT recid, file#, 2 resetlogs_change#, resetlogs_time 3 FROM v$offline_range;

SQL> SELECT incarnation#, resetlogs_id, 2 prior_incarnation#, status 3 FROM v$database_incarnation;

Page 30: Database Recovery

8-36 Copyright © 2004, Oracle. All rights reserved.

Summary

In this lesson, you should have learned how to:

• Recognize a situation that requires incomplete recovery

• Describe the incomplete recovery methodology

• Recover the database to a specific point in time using: – User-managed backups– RMAN-managed backups– Enterprise Manager Database Control Console

Page 31: Database Recovery

8-37 Copyright © 2004, Oracle. All rights reserved.

Practice 8 Overview: Incomplete Recovery

This practice covers the following topics:

• Point-in-time recovery using RMAN

• Database recovery using the EM Database Control Console