You are on page 1of 9

RMAN

ORACLE 10.2
B14193-02

target database
RMAN client RMAN

flash recovery area

Media management softwareRMAN

recovery catalog SCHMA RMAN

RMAN Repository
RMANLIST,REPORT, SHOWRMAN repository RMAN
repository
CONTROL_FILE_RECORD_KEEP_TIME

Recovery Catalog
recovery catalogRMAN repositoryrecovery catalog
RMAN

Flash Recovery Area


flash recovery area
DB_RECOVERY_FILE_DEST
DB_RECOVERY_FILE_DEST_SIZEflash recovery area

Media Managers
RMANmedia management software. media manager
loading, labeling ,unloading
SBT(system backup to tape) .

RMAN Channels
RMANRMAN
RMAN channelchanneldisk
channel, sbt channelRMAN
ALLOCATE CHANNEL channels,
CONFIGURE channels RMAN

channelsRMAN
disk channel ,RAMNdisk channel
default channel,

RMAN
RMAN (with SYSDBA privileges)
recovery catalog databaseRMANrecovery catalog databaseCONNECT
RMAN
1.RMANrecovery catalog:
% rman TARGET / CATALOG cat_usr/pwd@cat_str

2.recovery catalog:
% rman TARGET SYS/pwd@target_str

3.RMAN:
% rman

RMAN
RMAN
[ TARGET [=] connectStringSpec
| { CATALOG [=] connectStringSpec }
| LOG [=] ['] filename ['] [ APPEND ]
]...
connectStringSpec::=
['] [userid] [/ [password]] [@net_service_name] [']

RMAN$ORACLE_HOME/dbs/log/msglog.log
% rman TARGET / LOG $ORACLE_HOME/dbs/log/msglog.log APPEND
RMAN
RMAN> EXIT

RMAN
RMAN> SHOW ALL;

Channels
flash recovery areaBACKUP
flash recovery area ,
disk channelFORMAT,
CONFIGURE CHANNEL DEVICE TYPE DISK.FORMAT
RMAN/tmp
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/tmp/%U';

%U
:
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT CLEAR;

Channels
RMAN
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt PARMS='ENV=mml_env_settings';

channelsRMANsbt channels
2

RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 3;

Retention Policy

(recovery window) (), (redundancy


value) ().
RMAN7
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

RMAN3:
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
DELETE OBSOLETE (

flash recovery area,flash


recovery area )
BACKUPCHANGEKEEP

RMANRMAN repository
RMAN:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMANflash recovery areaRMAN

/mybackupdir:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
'/mybackupdir/cf%F';

%F DBID, day, month, year, sequence number


: %F

RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR;


RMAN> CONFIGURE RETENTION POLICY CLEAR;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

BACKUP AS COPYRMAN(image copies)


(bit)BACKUP AS COPY
RMAN repositoryRMAN
:
RMAN> BACKUP AS COPY DATABASE;

BACKUP AS BACKUPSETRMAN(backup sets)


backup set(backup pieces),
RMAN(Backup sets)RMAN
channels
RMAN> BACKUP DEVICE TYPE sbt DATABASE PLUS ARCHIVELOG;

: RMAN
BACKUP BACKUPSET
3


RMANSPFILE:
RMAN> BACKUP ARCHIVELOG COMPLETION TIME BETWEEN 'SYSDATE-31' AND 'SYSDATE-7';
RMAN> BACKUP TABLESPACE system, users, tools;
RMAN> BACKUP AS BACKUPSET DATAFILE'ORACLE_HOME/oradata/trgt/users01.dbf',
'ORACLE_HOME/oradata/trgt/tools01.dbf';
RMAN> BACKUP DATAFILE 1,3,5;
RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/curr_cf.copy';
RMAN> BACKUP SPFILE;
RMAN> BACKUP BACKUPSET ALL;

FORMATFORMAT '/tmp/%U'backup piecescopies

TAGTAG 'monday_bak' RMAN

RMAN> BACKUP FORMAT='AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';


RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;
RMAN> BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;

Incremental Backups()
RMAN(incremental backups)
0
(level 0 incremental backup)
1(Level 1)
(cumulative)(0)(differential)(
01)
(redo logs).RMAN

Incrementally Updated Backups


(incrementally updated backups)
00

Validating Backups

RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;

(Restoring)(Recovery)
4

SCN

RESTORE DATABASERECOVER DATABASE


RMAN> STARTUP FORCE MOUNT;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;

(open)

RESTORE TABLESPACERECOVER TABLESPACE


(offline)(restorerecover)
users:
RMAN> SQL 'ALTER TABLESPACE users OFFLINE';
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
RMAN> SQL 'ALTER TABLESPACE users ONLINE';

RESTORE DATAFILEheRECOVER DATAFILE


(restorerecover)
7:
RMAN> SQL 'ALTER DATABASE DATAFILE 7 OFFLINE';
RMAN> RESTORE DATAFILE 7;
RMAN> RECOVER DATAFILE 7;
RMAN> SQL 'ALTER DATABASE DATAFILE 7 ONLINE';

RMANRMAN
V$DATABASE_BLOCK_CORRUPTION
(alert logs)SQL
BLOCKRECOVER:
RMAN> BLOCKRECOVER CORRUPTION LIST;

RMAN> BLOCKRECOVER DATAFILE 7 BLOCK 233, 235 DATAFILE 4 BLOCK 101;

Validating Restores
RESTORE... VALIDATE(restore)
RMAN> RESTORE DATABASE VALIDATE;

RMAN
RMANLISTREPORTRMAN repository
5

Backups
LIST BACKUPLIST COPYrepository
RMAN> LIST BACKUP OF DATABASE;
RMAN> LIST COPY OF DATAFILE 1, 2, 3;
RMAN> LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 1437;
RMAN> LIST CONTROLFILECOPY "/tmp/cf.cpy";
RMAN> LIST BACKUPSET OF DATAFILE 1;

LIST
BY BACKUP:(backup set .)
BY FILE:()
SUMMARY:(VERBOSE.)

EXPIRED:
LIST EXPIRED COPY;(RMAN repositoryCROSSCHECK
RMAN)
RECOVERABLE:
LIST BACKUP RECOVERABLE;(
(restored and recovered))

REPORTLIST
NEED BACKUP:
REPORT NEED BACKUP DATABASE;(.)
OBSOLETE:
REPORT OBSOLETE;( . )
UNRECOVERABLE:
REPORT UNRECOVERABLE;((unrecoverable)
.)
SCHEMA:
REPORT SCHEMA;(().)

V$ Views RMAN
RMANV$RMAN_STATUS. V$RMAN_OUTPUTRMAN

RMANsqlchannel:
SQL> SELECT s.SID, p.SPID, s.CLIENT_INFO
FROM V$PROCESS p, V$SESSION s
WHERE p.ADDR = s.PADDR AND CLIENT_INFO LIKE 'rman%';

RMAN
SQL> SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
ROUND(SOFAR/TOTALWORK*100,2) "% COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%' AND OPNAME NOT LIKE '%aggregate%'
6

AND TOTALWORK != 0 AND SOFAR <> TOTALWORK;

RMAN Repository
RMAN repository (metadata)
recovery catalogRMAN

Control File
CONTROL_FILE_RECORD_KEEP_TIME = number_of_days_to_keep

(Crosschecking Backups)
CROSSCHECKrepositoryRMAN
RMAN> CROSSCHECK BACKUP; # RMAN
RMAN> CROSSCHECK COPY; # RMAN

CROSSCHECKDELETE

RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;


RMAN> CROSSCHECK BACKUP;

RMAN
DELETERMAN
recovery catalog(catalog)
RMAN> DELETE BACKUPSET 101, 102, 103;
RMAN> DELETE CONTROLFILECOPY '/tmp/cf.cpy';
RMAN> DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 7300;
RMAN> DELETE BACKUP OF SPFILE TABLESPACE users DEVICE TYPE sbt;
RMAN> DELETE BACKUP OF DATABASE LIKE '/tmp%'; # pattern match
RMAN> DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt;

DELETE:
EXPIRED:
DELETE EXPIRED;(CROSSCHECK (EXPIRED))
OBSOLETE:
DELETE OBSOLETE;(.)
NOPROMPT:
DELETE NOPROMPT OBSOLETE;()

(Cataloging and Uncataloging Backups and Copies)


CATALOGRMANRMAN repositoryRMAN

RMANRMAN repositoryRMAN

RMAN> CATALOG DATAFILECOPY '/backup/users01.bak'; # CP


RMAN> CATALOG LIKE '/backup';

CHANGE ... UNCATALOG


RMAN repository
RMAN> CHANGE CONTROLFILECOPY '/tmp/cf.cpy' UNCATALOG;
RMAN> CHANGE BACKUPSET 121,122,127,203,300 UNCATALOG;
7

: RMAN
RMANRMAN RUN

RMAN
RMAN> @/my_dir/my_command_file.txt # runs specified command file

RMAN
% rman @/my_dir/my_command_file.txt

RUN
RUNRMAN

RUN {
BACKUP ARCHIVELOG ALL DELETE ALL INPUT;
BACKUP INCREMENTAL LEVEL 0 TAG mon_bkup DATABASE;
}

RMAN
BACKUPBACKUP ARCHIVELOGBACKUP
INCREMENTALSET, SWITCH DATAFILE,ALLOCATE CHANNEL
RUN CONFIGURE

RMAN repository
V$ Recovery Catalog RC_

1.V$ARCHIVED_LOG(RC_ARCHIVED_LOG):Archived and unarchived redo logs


2.V$BACKUP_DATAFILE(RC_BACKUP_CONTROLFILE):Control files in backup sets
3.V$BACKUP_CORRUPTION(RC_BACKUP_CORRUPTION):Corrupt block ranges in datafile
backups
4.V$BACKUP_DATAFILE(RC_BACKUP_DATAFILE):Datafiles in backup sets
5.V$BACKUP_FILES(RC_BACKUP_FILES):RMAN backups and copies in the repository.
6.V$BACKUP_PIECE(RC_BACKUP_PIECE):Backup pieces
7.V$BACKUP_REDOLOG(RC_BACKUP_REDOLOG):Archived logs in backups
8.V$BACKUP_SET(RC_BACKUP_SET):Backup sets
9.V$BACKUP_SPFILE(RC_BACKUP_SPFILE):Server parameter files in backup sets
10.V$DATAFILE_COPY(RC_CONTROLFILE_COPY):Control file copies on disk
11.V$COPY_CORRUPTION(RC_COPY_CORRUPTION):Information about datafile copy corruptions
12.V$DATABASE(RC_DATABASE):Databases registered in the recovery catalog (RC_DATABASE)
or information about the currently mounted database( V$DATABASE)
13.V$DATABASE_BLOCK_CORRUPTION(RC_DATABASE_BLOCK_CORRUPTION):Database blocks
marked as corrupt in the most recent RMAN backup or copy
14.V$DATABASE_INCARNATION(RC_DATABASE_INCARNATION):All database incarnations
registered in the catalog
15.V$DATAFILE(RC_DATAFILE):All datafiles registered in the recovery catalog
8

16.V$DATAFILE_COPY(RC_DATAFILE_COPY):Datafile image copies


17.V$LOG_HISTORY(RC_LOG_HISTORY)Historical information about online redo logs
18.V$OFFLINE_RANGE(RC_OFFLINE_RANGE):Offline ranges for datafiles
19.V$PROXY_ARCHIVEDLOG(RC_PROXY_ARCHIVEDLOG):Archived log backups created by proxy
copy
20.V$PROXY_CONTROLFILE(RC_PROXY_CONTROLFILE):Control file backups created by proxy
copy
21.V$PROXY_DATAFILE(RC_PROXY_DATAFILE):Datafile backups created by proxy copy
22.V$LOG and V$LOGFILE(RC_REDO_LOG):Online redo logs for all incarnations of the
database since the last catalog resynchronization
23.V$THREAD(RC_REDO_THREAD):All redo threads for all incarnations of the database since
the last catalog resynchronization
24.n/a(RC_RESYNC):Recovery catalog resynchronizations
25.V$RMAN_CONFIGURATION(RC_RMAN_CONFIGURATION):RMAN persistent configuration
settings
26.V$TABLESPACE(RC_TABLESPACE):All tablespaces registered in the recovery catalog, all
dropped tablespaces, and tablespaces that belong to old incarnations

You might also like