Sie sind auf Seite 1von 51

module16b-recovery_manager.

htm; Updated July 10, 2013

Module 16b Recovery Manager (RMAN)

Objectives

Learn basic concepts related the use of Recovery Manager (RMAN).

RMAN Features and Components


RMAN Components
Recovery Manager (RMAN) is an Oracle Database client - it performs
backup and recovery tasks and helps automate backup strategy
administration.

Target database:
o An Oracle database to which RMAN connects with TARGET as
the keyword.
o The target is the database on which RMAN is performing
backup/recovery operations.

RMAN Repository - the RMAN metadata.

The RMAN client:


o Named rman.
o Located at $ORACLE_HOME/bin and is installed by default
with both Oracle Standard and Enterprise editions.

It is invoked from a command line argument as shown below.


o The target parameter defaults to the value of the ORACLE_SID
for the session.
o The forward slash "/" indicates connection without connecting to
a recovery catalog.
o RMAN> is the prompt for recovery manager commands.
o exit is the command to leave recovery manager.

/u01/student/dbockstd
dbockstd/@sobora2.isg.siue.edu=>rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on


Wed Jul 10 12:06:48 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.
All rights reserved.
connected to target database: USER350 (DBID=164841282)

RMAN> exit

Recovery Catalog: One or more target databases can be cataloged


in the recovery catalog.
o Use of a recovery catalog (a tablespace stored in another
database--not the target) is optional.
o Stores RMAN metadata to enable recovery if control files are
lost.

The authoritative RMAN repository is always stored in the


database control file.
o The repository contents can also be stored in a recovery catalog
database, as an adjunct to the information stored in the control
file.
o While RMAN is designed to work without a recovery catalog, if
you choose not to use a recovery catalog, you must perform
some additional administrative tasks.

Initialization Parameters
A number of PFILE initialization parameters are important for controlling
backups.

CONTROL_FILE_RECORD_KEEP_TIME specifies number of


days RMAN will attempt to keep a record of backups in the target
control file.

DB_RECOVERY_FILE_DEST parameter specifies the location of


the Fast Recovery Area.
o Locate it on a file system different from any database datafiles,
control files, or redo log files (online or archived).

o This mitigates loss of any datafiles that might inadvertently be


stored on the same disk as the Fast Recovery Area file.

DB_RECOVERY_FILE_DEST_SIZE parameter specifies the upper


limit on the amount of space used by the Fast Recovery Area.

These are the PFILE settings for the USER350 database.

db_name='USER350'
db_recovery_file_dest='/u01/app/oracle/fast_recovery_ar
ea'
db_recovery_file_dest_size=1G

Fast Recovery Area This is a location on disk to store all RMAN


backups. For the USER350 database, this is located at:
/u01/app/oracle/fast_recovery_area

RMAN Features
Major features of RMAN not available with traditional backup methods
(operating system) or that improve significantly on traditional backup
methods include:

Skip unused blocks Blocks that have never been written to in a


table are not backed up by RMAN when the backup is to a RMAN
backupset.

Backup compression RMAN provides a binary compression


mode that optimizes compression for the typical kind of data found in

Oracle data blocks. This slightly increases the CPU time required for
backup and recovery.

Open database backups Tablespace backups with RMAN can be


done without using BEGIN/END BACKUP clause still must be in
ARCHIVELOG mode.

True incremental backups RMAN does not write unchanged


blocks since the last backup.

Block-level recovery RMAN supports block-level recovery to


enable restoring or repairing a small number of blocks identified as
being corrupt during the backup operation keeps the rest of the
tablespace online.

Multiple I/O Channels RMAN supports multi-threaded operations


for backup and recovery.

Platform independence Backups written with RMAN commands


are syntactically identical regardless of the operating system or
hardware platform.

Tape manager support all major enterprise backup systems from


3rd parties support RMAN.

Cataloging a record of all RMAN backups are recorded in the


target database control files or optionally to a recovery catalog
stored in a different database.

Scripting capabilities RMAN scripts can be saved in a recovery


catalog for retrieval during backup sessions.

Backup Types

Consistent and Inconsistent Backups a physical backup is


consistent when all datafiles have the same SCN this only results
when all changes in redo log files have committed to datafiles. An

inconsistent backup results when the database is open and system


users are using the database.

Full backup includes all blocks of every datafile essentially a bitfor-bit copy.

Incremental backup RMAN supports incremental backups as level


0 or level 1.
o Level 0 a full backup of all blocks.
o Level 1 backup of only changed blocks.

Image Copies these are full backups done with operating system
commands such as the LINUX/UNIX cp command, or the RMAN
backup as copy commands.

Backupsets and Backup Pieces in contrast to Image Copies,


backupsets can be created and restored only with RMAN.
o A backupset is an RMAN backup of part or all of a database
consisting of one or more backup pieces.
o Each backup piece belongs to only one backupset and can
contain backups of one or more datafiles in the database.

Compressed Backups Compressed backups are only usable by


RMAN and require no special processing in a recovery operation
compression is automatic with RMAN.

Overview of RMAN Commands/Options


Frequently Used Commands

This table gives a list of common RMAN commands see the Oracle
Database Recovery Manager Reference for a complete listing.

Command

Description

Runs an RMAN script at the pathname specified after


@. Default is current path.

BACKUP

Performs an RMAN backup with or without archived


redo log files. Backs up datafiles, datafile copies, or
performs incremental level 0 or level 1 backup. Also
validates blocks to backed up with the VALIDATE
clause.

CHANGE

Changes status of backup in RMAN repository used


to exclude a backup from a restore/recovery operation.
Also used to notify RMAN that a backup file was
removed by an operating system command outside of
RMAN.

CONFIGURE

Configures RMAN persistent parameters. These


parameters are available for subsequent sessions
unless explicitly cleared/modified.

CREATE
CATALOG

Creates a repository catalog with RMAN metadata for


one (or more) target databases.

CROSSCHEC
K

Checks records of RMAN repository against actual disk


or tape files.

DELETE

Deletes backup files or copies removes the record of


the backup file from the repository.

FLASHBACK

Performs a Flashback Database operation such as


restoration to a point in time by SCN or log sequence.

LIST

Displays information about backupsets and image


copies.

RECOVER

Performs complete or incomplete recovery on a datafile,


tablespace, or entire database. Can apply incremental
backups to roll forward.

REGISTER
DATABASE

Registers a target database in the RMAN repository.

REPORT

Provides a detailed analysis of the RMAN repository.

RESTORE

Restores files from image copies or backupsets to disk


usually after a media failure. Can also be used to
validate a restore operation without actually performing
the restore by specifying the PREVIEW option.

RUN

Runs sequence of RMAN statements as a group


between { and } allows overriding RMAN parameters
for the group of statements executed.

SET

Sets RMAN configuration settings for the duration of a


RMAN session not the same as CONFIGURE.

SHOW

Shows all or individual RMAN configured settings.

SHUTDOWN

Shuts down the target database with RMAN same as


SHUTDOWN within SQLPlus.

STARTUP

Starts up the target database with RMAN same as


STARTUP within SQLPlus.

SQL

Runs SQL commands example: sql 'ALTER


TABLESPACE data01 OFFLINE IMMEDIATE'; -- before
a restore/recover operation.

Starting RMAN and Connecting to a Database


Use the command rman to connect to the client.

dbockstd/@sobora2.isg.siue.edu=>rman

Recovery Manager: Release 11.2.0.3.0 - Production on


Wed Jul 10 12:30:05 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.


All rights reserved.

RMAN>

Use the CONNECT TARGET command to connect to a target database.

RMAN connections to a database are specified and authenticated the


same way SQL*Plus is.

RMAN connections require SYSDBA privilege.

This connects to the target (current ORACLE_SID value) by using


operating system authentication - this doesn't require a separate password
file that would otherwise be required.

RMAN> connect target /

connected to target database: USER350 (DBID=3391980809)

RMAN>

How to Persist an RMAN Setting


The SHOW ALL command displays default RMAN settings.

Notice the target database control file is being used instead of a recovery
catalog.

Parameters set to default display a # default at the end of the


configuration setting.

Execute a CONFIGURE command to change any setting.

RMAN> show all;

using target database control file instead of recovery


catalog
RMAN configuration parameters for database with
db_unique_name DBORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE
DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO
BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK
TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK
TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE
'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO


'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_DBO
RCL.f'; # default

RMAN>

Retention Policy
Backups can be retained by either recovery window or by redundancy.

Recovery window RMAN will remain as many backups as


necessary to bring a database to a point in time within a recovery
window:
o Example: a recovery window of 7 days will cause RMAN to
maintain image copies, incremental backups, and archived redo
log files to restore/recover a database to any point in the last 7
days.
o Backups not needed for the recovery window are marked
OBSOLETE and automatically removed by RMAN if a Fast
Recovery Area is used and disk space is required for additional
newer backups.

Redundancy RMAN retains a specified number of backups.


o Extra copies beyond the redundancy number are marked
OBSOLETE.
o Obsolete backups are automatically removed if a Fast Recovery
Area is used and disk space is required.
o The DELETE OBSOLETE command can also be used to
remove obsolete backups.

None this setting causes no backups or copies to ever be


considered obsolete. The DBA must manually remove old backups.

Example: This sets the retention policy window to 28 days (4 weeks of


retention).

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF


28 DAYS;

using target database control file instead of recovery


catalog
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 28
DAYS;
new RMAN configuration parameters are successfully
stored

RMAN>

Device Type
If the default device is DISK and no pathname is specified, RMAN uses the
Fast Recovery Area for all backups.

Keeping all backups on disk can become inefficient. This example shows
configuring a tape device the actual specification for the configuration is
specific to each installation depending on the tape backup software and
hardware.

RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt


PARMS='ENV=(<vendor specific arguments>)';

Sbt is the device type for any tape backup system for any vendor.

Backup Compression
This command demonstrates how to compress backups to save disk
space.

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO


compressed backupset;

new RMAN configuration parameters:


CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED
BACKUPSET PARALLELISM 1;
new RMAN configuration parameters are successfully
stored

RMAN>

Backup Operations
Full Database Backup - ARCHIVELOG Mode
In ARCHIVELOG mode, you can backup a database while it is open.

Termed an inconsistent backup - because redo is required during


recovery.

With archived redo logs, this approach is as effective as a consistent


backup.

With the database open, use these steps:


1. Start RMAN
2. Connect to a target database (the one to be backed up).
3. Run the BACKUP DATABASE command.

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

Full Database Backup - NOARCHIVELOG Mode

In NOARCHIVELOG mode, only a consistent backup is valid.

Database must be in MOUNT mode after a consistent shutdown.

No recovery is required after restoring a backup.

Use these steps:


1. Start RMAN.
2. Connect to a target database (the one to be backed up).
3. Shutdown the database, and then mount it.

RMAN> SHUTDOWN IMMEDIATE;


RMAN> STARTUP FORCE DBA;
OR
RMAN> STARTUP FORCE pfile=$HOME/init.ora;
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT pfile=$HOME/init.ora;

4. Run the BACKUP DATABASE command. This example backs up the


database to the default backup device (hard disk for our databases).
RMAN> BACKUP DATABASE;
This variation on the BACKUP command will create image copy backups of
all data files.
RMAN> BACKUP AS COPY DATABASE;
5. Open the database - resume normal operations.
RMAN> ALTER DATABASE OPEN;

=========================================================
========================================

EXAMPLE:
Here is the sequence of commands for a consistent backup
(NOARCHIVELOG mode) of the USER350 database owned by dbockstd.

First, confirm the database is in NOARCHIVELOG mode by issuing this


SQL*Plus command.

SQL> select archiver from v$instance;

ARCHIVE
------STOPPED

Exit SQL*Plus and start RMAN.

dbockstd/@sobora2.isg.siue.edu=>rman

Recovery Manager: Release 11.2.0.3.0 - Production on


Wed Jul 10 13:04:52 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.


All rights reserved.

Connect to the target.

RMAN> connect target /

connected to target database: USER350 (DBID=164841282)

Shutdown the database immediate, restart it with FORCE option, and then
shutdown immediate again to ensure it is shut down in a consistent state.
Now mount the database.

First shutdown.

RMAN> shutdown immediate;

using target database control file instead of recovery


catalog
database closed
database dismounted
Oracle instance shut down

RMAN> connect target /

connected to target database (not started)

Startup FORCE option.

RMAN> startup force pfile=$HOME/initUSER350.ora

Oracle instance started


database mounted
database opened

Total System Global Area

Fixed Size

1068937216 bytes

2235208 bytes

Variable Size

616563896 bytes

Database Buffers

444596224 bytes

Redo Buffers

Second shutdown.

RMAN> shutdown immediate;

5541888 bytes

using target database control file instead of recovery


catalog
database closed
database dismounted
Oracle instance shut down

Startup in MOUNT stage.

RMAN> startup mount pfile=$HOME/initUSER350.ora

connected to target database (not started)


Oracle instance started
database mounted

Total System Global Area

Fixed Size

1068937216 bytes

2235208 bytes

Variable Size

616563896 bytes

Database Buffers

444596224 bytes

Redo Buffers

5541888 bytes

Now run the BACKUP DATABASE command.

RMAN> BACKUP DATABASE;

Starting backup at 10-JUL-13


allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=63 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup
set
input datafile file number=00001
name=/u01/student/dbockstd/oradata/USER350system01.dbf
input datafile file number=00005
name=/u02/student/dbockstd/oradata/USER350data01.dbf
input datafile file number=00004
name=/u02/student/dbockstd/oradata/USER350users01.dbf
input datafile file number=00007
name=/u02/student/dbockstd/oradata/USER350comp_data.dbf
input datafile file number=00006
name=/u03/student/dbockstd/oradata/USER350index01.dbf
input datafile file number=00002
name=/u01/student/dbockstd/oradata/USER350sysaux01.dbf
input datafile file number=00008
name=/u01/student/dbockstd/oradata/USER350undo02.dbf
channel ORA_DISK_1: starting piece 1 at 10-JUL-13
channel ORA_DISK_1: finished piece 1 at 10-JUL-13

piece
handle=/u01/app/oracle/fast_recovery_area/USER350/backu
pset/2013_07_10/o1_mf_nnndf_TAG20130710T132207_8xv9lj60
_.bkp tag=TAG20130710T132207 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time:
00:00:07
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup
set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 10-JUL-13
channel ORA_DISK_1: finished piece 1 at 10-JUL-13
piece
handle=/u01/app/oracle/fast_recovery_area/USER350/backu
pset/2013_07_10/o1_mf_ncnnf_TAG20130710T132207_8xv9lr94
_.bkp tag=TAG20130710T132207 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time:
00:00:01
Finished backup at 10-JUL-13

Now open the database for normal operations.

RMAN> alter database open;

database opened

RMAN> exit

Recovery Manager complete.

The complete backup took less than one minute for this small student
database.

Where is the backup?

Changed directory to the fast recovery area directory.

Inside was a directory for USER350 database. Changed to this directory.

Listed the directories - see the backupset directory?

The backup set contains a directory for the current backup (2013_07_10)
and the backup set pieces are in that directory.

$ cd /u01/app/oracle/fast_recovery_area
$ ls
USER302
USER350

USER303

$ cd USER350
$ ls
backupset
$ ls -al
total 12

USER304

USER305

USER310

USER312

drwxr-x---

3 oracle dba 4096 Jul 10 13:22 .

drwxrwxr-x

9 oracle dba 4096 Jul 10 13:22 ..

drwxr-x---

3 oracle dba 4096 Jul 10 13:22 backupset

$ cd backupset
$ ls -al
total 12
drwxr-x---

3 oracle dba 4096 Jul 10 13:22 .

drwxr-x---

3 oracle dba 4096 Jul 10 13:22 ..

drwxr-x---

2 oracle dba 4096 Jul 10 13:22 2013_07_10

$ cd 2013_07_10
$ ls -al
total 363164
drwxr-x---

2 oracle dba

4096 Jul 10 13:22 .

drwxr-x---

3 oracle dba

4096 Jul 10 13:22 ..

-rw-r----- 1 oracle dba


7667712 Jul 10 13:22
o1_mf_ncnnf_TAG20130710T132207_8xv9lr94_.bkp
-rw-r----- 1 oracle dba 363831296 Jul 10 13:22
o1_mf_nnndf_TAG20130710T132207_8xv9lj60_.bkp

=========================================================
======================================

This statement does a full database backup using backupsets to copy all
database files to the Fast Recovery Area. If the database was started with
an SPFILE, then the second command shown below would also backup the
SPFILE; otherwise, it produces an error message.

RMAN> BACKUP AS BACKUPSET DATABASE;

RMAN> BACKUP AS BACKUPSET DATABASE SPFILE;

The next statement ensures that all transactions are represented in


an archive log including any that occurred during the backup. This
enables media recovery after restoring this backup.

RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';

sql statement: ALTER SYSTEM ARCHIVE LOG CURRENT

RMAN>

The LIST command for RMAN will show backups cataloged within
the target database control file and the RMAN repository.

RMAN> list backup by backup;

List of Backup Sets


===================

BS Key Type LV Size


Completion Time

Device Type Elapsed Time

------- ---- -- ---------- ----------- -------------------------1


JUL-13

Full

346.97M

DISK

00:00:05

BP Key: 1
Status: AVAILABLE
Tag: TAG20130710T132207

10-

Compressed: NO

Piece Name:
/u01/app/oracle/fast_recovery_area/USER350/backupset/20
13_07_10/o1_mf_nnndf_TAG20130710T132207_8xv9lj60_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN

Ckp Time

Name

---- -- ---- ---------- --------- ---1


Full 620734
10-JUL-13
/u01/student/dbockstd/oradata/USER350system01.dbf
2
Full 620734
10-JUL-13
/u01/student/dbockstd/oradata/USER350sysaux01.dbf
4
Full 620734
10-JUL-13
/u02/student/dbockstd/oradata/USER350users01.dbf

5
Full 620734
10-JUL-13
/u02/student/dbockstd/oradata/USER350data01.dbf
6
Full 620734
10-JUL-13
/u03/student/dbockstd/oradata/USER350index01.dbf
7
Full 620734
10-JUL-13
/u02/student/dbockstd/oradata/USER350comp_data.dbf
8
Full 620734
10-JUL-13
/u01/student/dbockstd/oradata/USER350undo02.dbf

BS Key Type LV Size


Completion Time

Device Type Elapsed Time

------- ---- -- ---------- ----------- -------------------------2


JUL-13

Full

7.30M

DISK

BP Key: 2
Status: AVAILABLE
Tag: TAG20130710T132207

00:00:01

10-

Compressed: NO

Piece Name:
/u01/app/oracle/fast_recovery_area/USER350/backupset/20
13_07_10/o1_mf_ncnnf_TAG20130710T132207_8xv9lr94_.bkp
Control File Included: Ckp SCN: 620734
time: 10-JUL-13

Validating Backups
It is important to know if a backup is valid.

Ckp

VALIDATE command -- confirm that all database files exist, are in their
correct location, and are free of physical corruption.

CHECK LOGICAL option also checks for logical block corruption.

This command shows the use of the BACKUP VALIDATE DATABASE


command to validate an entire database including the archived redo log
files.

RMAN> BACKUP VALIDATE CHECK LOGICAL database ARCHIVELOG


all;

Starting backup at 10-JUL-13


using channel ORA_DISK_1
specification does not match any archived log in the
repository
channel ORA_DISK_1: starting compressed full datafile
backup set
channel ORA_DISK_1: specifying datafile(s) in backup
set
input datafile file number=00001
name=/u01/student/dbockstd/oradata/USER350system01.dbf
input datafile file number=00005
name=/u02/student/dbockstd/oradata/USER350data01.dbf
input datafile file number=00004
name=/u02/student/dbockstd/oradata/USER350users01.dbf
input datafile file number=00007
name=/u02/student/dbockstd/oradata/USER350comp_data.dbf

input datafile file number=00006


name=/u03/student/dbockstd/oradata/USER350index01.dbf
input datafile file number=00002
name=/u01/student/dbockstd/oradata/USER350sysaux01.dbf
input datafile file number=00008
name=/u01/student/dbockstd/oradata/USER350undo02.dbf
channel ORA_DISK_1: backup set complete, elapsed time:
00:00:03
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined
High SCN
---- ------ -------------- ------------ -----------------------1
OK
620830

19396

41600

File Name:
/u01/student/dbockstd/oradata/USER350system01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ---------------Data

14806

Index

4807

Other

2591

File Status Marked Corrupt Empty Blocks Blocks Examined


High SCN

---- ------ -------------- ------------ -----------------------2


OK
620959

22661

41600

File Name:
/u01/student/dbockstd/oradata/USER350sysaux01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ---------------Data

7680

Index

6456

Other

4803

File Status Marked Corrupt Empty Blocks Blocks Examined


High SCN
---- ------ -------------- ------------ -----------------------4
OK
242283

513

640

File Name:
/u02/student/dbockstd/oradata/USER350users01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ---------------Data

Index

Other

127

File Status Marked Corrupt Empty Blocks Blocks Examined


High SCN
---- ------ -------------- ------------ -----------------------5
OK
561103

7436

7680

File Name:
/u02/student/dbockstd/oradata/USER350data01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ---------------Data

63

Index

28

Other

153

File Status Marked Corrupt Empty Blocks Blocks Examined


High SCN
---- ------ -------------- ------------ -----------------------6
OK
476861

74

256

File Name:
/u03/student/dbockstd/oradata/USER350index01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------

Data

Index

13

Other

169

File Status Marked Corrupt Empty Blocks Blocks Examined


High SCN
---- ------ -------------- ------------ -----------------------7
OK
243029

121

128

File Name:
/u02/student/dbockstd/oradata/USER350comp_data.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ---------------Data

Index

Other

File Status Marked Corrupt Empty Blocks Blocks Examined


High SCN
---- ------ -------------- ------------ -----------------------8
OK
620959

106

4432

File Name:
/u01/student/dbockstd/oradata/USER350undo02.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ---------------Data

Index

Other

4326

channel ORA_DISK_1: starting compressed full datafile


backup set
channel ORA_DISK_1: specifying datafile(s) in backup
set
including current control file in backup set
channel ORA_DISK_1: backup set complete, elapsed time:
00:00:01
List of Control File and SPFILE
===============================
File Type

Status Blocks Failing Blocks Examined

------------ ------ -------------- --------------Control File OK

Finished backup at 10-JUL-13

This example validates individual data blocks.

464

RMAN> VALIDATE DATAFILE 4 BLOCK 10 TO 13;

This example validates backup sets.

RMAN> VALIDATE BACKUPSET 3;

Deleting Obsolete Backups


The DELETE command removes obsolete backups.

Physically removes RMAN backup copies from disk (and tape).

Updates file status to DELETED in the control file repository.

Removes records from a recovery catalog (if a catalog is used).

DELETE lists files and prompts for confirmation before deleting when
running RMAN interactively.

The steps to follow are:


1. Connect to RMAN.
2. Run DELETE OBSOLETE command. Note here there were no obsolete
backups.

RMAN> DELETE OBSOLETE;

RMAN retention policy will be applied to the command


RMAN retention policy is set to recovery window of 28
days
using channel ORA_DISK_1
no obsolete backups found

Other Backup Operations

Tablespace Backup
A tablespace backup should be made as soon as a tablespace is added to
a database this will reduce the time required for restoring the tablespace
if media failure occurs.

This uses the BACKUP command to create a backupset for the


DATA01 tablespace.

RMAN> BACKUP AS BACKUPSET TABLESPACE data01;

Starting backup at 20-JUL-13

allocated channel: ORA_DISK_1


channel ORA_DISK_1: sid=252 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00005
name=/u01/student/dbockstd/oradata/application_data/dbo
ckstdDATA01.dbf
channel ORA_DISK_1: starting piece 1 at 20-JUL-13
channel ORA_DISK_1: finished piece 1 at 20-JUL-13
piece
handle=/u01/app/oracle/fast_recovery_area/USER350/backu
pset/2013_07_20/o1_mf_nnndf_TAG20050720T170718_1fxlrp9f
_.bkp comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time:
00:00:01
Finished backup at 20-JUL-13

RMAN>

Datafile Backup
Individual datafiles may be backed up when it is impractical to backup an
entire tablespace within a single RMAN session.

This backs up a datafile for the INDEX01 tablespace.

RMAN> BACKUP AS BACKUPSET DATAFILE


'/u01/student/dbockstd/oradata/dbockstdINDEX01.dbf';

Image Copy
Backup of copies of the database that are bit-for-bit are automatically
recorded in the RMAN repository this is an advantage over using the O/S
commands.

This creates an image copy of the INDEX01 tablespace.

RMAN> BACKUP AS COPY TABLESPACE index01;

Incremental Backup
The initial incremental backup is a level 0 incremental backup.

Each backup after the initial incremental backup (known as a level 1


backup) contains only changed blocks and take less time.

A cumulative level 1 incremental backup records all changed blocks


since the last initial incremental backup.

A differential level 1 incremental backup records all changes since


the last incremental backup (level 0 or 1).

RMAN will choose the best combination of backups when restoring a


database.

RMAN> BACKUP INCREMENTAL LEVEL 0 database;

This example shows a level 1 cumulative incremental backup.

RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE database;

This example shows a level 1 differential incremental backup - no


keyword for differential is needed as it is the default.

RMAN> BACKUP INCREMENTAL LEVEL 1 database;

Recovery Operations
RMAN can perform recovery at various levels including recovering
individual blocks, tablespaces, datafiles, or an entire database.

RESTORE - restores data files by retrieving them from backups.

RECOVER - media recover applies changes from redo logs and


incremental backups to restored data files to bring the database forward to
a desired SCN or point in time.

Preparing to Restore/Recover Database Files


Recovery from media failure requires the backups to be available.

Use these steps to preview a database restore and recovery.


1. Start RMAN and connect to the target database.
2. Optionally, list the current tablespaces and data files, as shown in the
following command:

RMAN> REPORT SCHEMA;

Report of database schema for database with


db_unique_name USER350

List of Permanent Datafiles


===========================
File Size(MB) Tablespace
Name

RB segs Datafile

---- -------- -------------------- -----------------------------1


325
SYSTEM
***
/u01/student/dbockstd/oradata/USER350system01.dbf

2
325
SYSAUX
***
/u01/student/dbockstd/oradata/USER350sysaux01.dbf
4
5
USERS
***
/u02/student/dbockstd/oradata/USER350users01.dbf
5
60
DATA01
***
/u02/student/dbockstd/oradata/USER350data01.dbf
6
2
INDEX01
***
/u03/student/dbockstd/oradata/USER350index01.dbf
7
1
COMP_DATA
***
/u02/student/dbockstd/oradata/USER350comp_data.dbf
8
34
UNDO02
***
/u01/student/dbockstd/oradata/USER350undo02.dbf

List of Temporary Files


=======================
File Size(MB) Tablespace
Tempfile Name

Maxsize(MB)

---- -------- -------------------- -----------------------------1


50
TEMP
50
/u01/student/dbockstd/oradata/USER350temp01.dbf

3. Run the RESTORE DATABASE command with the PREVIEW option. This
will provide a summary .

RMAN> RESTORE DATABASE PREVIEW SUMMARY;

List of Backups
===============
Key
TY LV S Device Type Completion Time #Pieces
#Copies Compressed Tag
------- -- -- - ----------- --------------- ------------- ---------- --1
NO

F A DISK
10-JUL-13
TAG20130710T132207

Media recovery start SCN is 620734


Recovery must be done beyond SCN 620734 to clear
datafile fuzziness
Finished restore at 10-JUL-13

Recovering a Whole Database


In this scenario, the datafiles have been lost, but the control file and online
redo log files are on different disk sets and are available. This assumes
you can restore the datafiles to their original locations.

Follow these steps.


1. Connect to RMAN.
2. Connect to the target database to be restored.

3. Startup in MOUNT state. If necessary terminate the database instance


(use SHUTDOWN ABORT) if it is started and FORCE MOUNT.

RMAN> STARTUP FORCE MOUNT


PFILE=$HOME/initUSER350.ora;
<feedback messages about the startup in MOUNT stage
are displayed)

4. Restore the database.

RMAN> RESTORE DATABASE;


<feedback messages about the restore operation are
displayed>

5. Recover the database.

RMAN> RECOVER DATABASE;


<feedback messages about the recovery operation are
displayed>

6. Open the database.

RMAN> ALTER DATABASE OPEN;

Block Media Recovery


The block media recovery is used to recover a small number of database
blocks that may have become corrupted this is preferable to recovering
an entire database.

Minimizes redo log application time.

Reduces I/O to recover.

Affected datafiles remain online and available to users (except for the
corrupt database blocks).

Block corruption is often detected during a read or write (INSERT or


SELECT) operation when Oracle writes to a trace file and aborts a
transaction.

Use the V$DATABASE_BLOCK_CORRUPTION view to identify


records of corrupt blocks.

RMAN must know the datafile number and block number within a
datafile that is corrupt.

RMAN> BLOCKRECOVER DATAFILE 4 BLOCK 208;

Restoring a Control File

Control files can be restored from backups if you lose all copies of the
control files an unlikely event if you have multiple disk drives.

RMAN> RESTORE CONTROLFILE;

If you are not using a recovery catalog, use the FROM filename clause.

RMAN> RESTORE CONTROLFILE FROM


'/u01/student/dbockstd/oradata/backup.ctl';

After recovering a control file, you must perform media recover of the
database and open the database with RESETLOGS option see the
media recover documentation on the Oracle web site.

Restoring a Tablespace
To restore/recover a tablespace, the tablespace must be forced offline,
restored and recovered, then brought back online.

First a SQL command is executed from within RMAN to take the


tablespace offline.

RMAN> SQL 'ALTER TABLESPACE data01 OFFLINE


immediate';
sql statement: ALTER TABLESPACE data01 OFFLINE
immediate

Next the RESTORE TABLESPACE command is executed.

RMAN> RESTORE TABLESPACE data01;

The RECOVER command recovers the restored tablespace.

RMAN> RECOVER TABLESPACE data01;

The tablespace is now brought online through an SQL command.

RMAN> SQL 'ALTER TABLESPACE data01 ONLINE';


sql statement: ALTER TABLESPACE data01 ONLINE

Restoring a Datafile
Restoring a datafile is similar to restoring a tablespace.

Take the tablespace for the datafile offline, restore and recover the
datafile, and bring the tablespace back online.

The command to restore and recover the datafile requires knowing


the file number assigned within the database to the datafile.

RMAN> RESTORE DATAFILE 4;


RMAN> RECOVER DATAFILE 4;

Repository In Another Database


Establishing a Repository
We will not do this in class. This option involves creating a tablespace in
another database, such as DBORCL, and using the tablespace to store the
recovery manager repository.

If a DBA elects to use a repository:

The repository only needs to be created once it can serve


hundreds of databases.

It should not be located in one of the target databases as this would


make that database unrecoverable in the event of failure.

Keep in mind that this is OPTIONAL the target database control


files can store RMAN metadata.

This sequence requires a tablespace and user to maintain metadata in a


repository database. This uses the DBORCL database.

Logon to SQLPlus as a DBA to the database that will store the


repository information. Create the tablespace RMAN that will store
repository information.

CREATE TABLESPACE rman


DATAFILE '/u02/oradata/DBORCL/rman01.dbf'
SIZE 10M AUTOEXTEND ON NEXT 5M;

Tablespace created.

Create a user named RMAN that will handle backup and recovery
operations and allocate privileges to this user.

CREATE USER rman IDENTIFIED BY rman001


DEFAULT TABLESPACE rman;

User created.

GRANT resource, connect, recovery_catalog_owner TO


rman;

Grant succeeded.

Logoff from SQLPlus or start a second connect session.

Start the RMAN software with a connection to the catalog. Note the
error message that the recovery catalog is not yet installed.

dbock/@DBORCL=>rman catalog
rman/rman001@DBORCL.siue.edu

Recovery Manager: Release 11.2.0.3.0 - Production on


Wed Jul 10 12:30:05 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.


All rights reserved.

connected to recovery catalog database


recovery catalog is not installed

The repository is created initially with the CREATE CATALOG


command. This command takes a minute or two to create the objects
in the repository catalog.

RMAN> CREATE CATALOG;


recovery catalog created

At this point, the repository can be used by specifying the


username/password on the RMAN command line with the CATALOG

parameter or by using the CONNECT CATALOG command in a RMAN


session.

Example: This example shows starting up the RMAN utility for the
dbockstd database while specifying that the catalog repository is in the
DBORCL database and the name of the repository owner is the rman user
account (rman@DBORCL). The system prompts for the password of the
rman user account. At this point the utility is ready for the DBA to enter a
command.

dbockstd/@DBORCL=>rman target / catalog rman@DBORCL

Recovery Manager: Release 11.2.0.3.0 - Production on


Wed Jul 10 12:30:05 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.


All rights reserved.

connected to target database: USER350 (DBID=2717979554)


recovery catalog database Password:
connected to recovery catalog database

RMAN>

Registering a Database
Each database for RMAN backup/recovery must be registered in the
RMAN repository if the repository is used.

Records target database schema.

Records database ID.

Target database need only be registered once.

In this example the database ORACLE_SID is USER350. This


registers the database named dbockstd within the RMAN repository
that is stored in the database named DBORCL.

RMAN> REGISTER DATABASE;

database registered in recovery catalog


starting full resync of recovery catalog
full resync complete

RMAN>

If you try to register the database twice, this results in an error


message stack as shown.

RMAN> REGISTER DATABASE;

RMAN-00571:
=======================================================
====
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS
===============
RMAN-00571:
=======================================================
====
RMAN-03009: failure of register command on default
channel at 07/10/2013 11:01:06
RMAN-20002: target database already registered in
recovery catalog

END OF NOTES

Das könnte Ihnen auch gefallen