Oracle Recovery Manager (RMAN)
Version 11.2.0.3
 
General Information
Notes: Given how large this topic deprecated syntax is not included. Be sure to review the header and code in $ORACLE_HOME/rdbms/admin/prgrmanc.sql
Encryption Algorithms col algorithm_name format a15
col algorithm_description format a25

SELECT * FROM gv$rman_encryption_algorithms;

The default encryption algorithm is 128-bit AES.
Data Dictionary Objects
DBA_HIST_INSTANCE_RECOVERY GV_$RECOVERY_STATUS
DBA_RECOVERABLE_SCRIPT V_$FLASH_RECOVERY_AREA_USAGE
DBA_RECOVERABLE_SCRIPT_BLOCKS V_$INSTANCE_RECOVERY
DBA_RECOVERABLE_SCRIPT_ERRORS V_$RECOVER_FILE
DBA_RECOVERABLE_SCRIPT_PARAMS V_$RECOVERY_FILE_DEST
GV_$INSTANCE_RECOVERY V_$RECOVERY_FILE_STATUS
GV_$RECOVER_FILE V_$RECOVERY_LOG
GV_$RECOVERY_FILE_STATUS V_$RECOVERY_PROGRESS
GV_$RECOVERY_LOG V_$RECOVERY_STATUS
GV_$RECOVERY_PROGRESS  
Format Directives
Format Description
%a Current database activation id
%A Zero-filled activation ID
%c The copy number of the backup piece within a set of duplexed backup pieces.bMaximum value is 256
%d Database name
%D Current day of the month from the Gregorian calendar in format DD
%e Archived log sequence number
%f Absolute file number
%F Combines the DBID, day, month, year, and sequence into a unique and repeatable generated name
%h Archived redo log thread number
%I DBID
%M Month in the Gregorian calendar in the format MM
%n Database name, padded on the right with x characters to a total length of eight characters
%N Tablespace name. Only valid when backing up datafiles as image copies.
%p Piece number within the backup set. This value starts at 1 for each backup set and is incremented by 1 for each backup piece created. If a PROXY is specified, the %p variable must be included in the FORMAT string either explicitly or implicitly within %U.
%r Resetlogs ID
%s Backup set number. This number is a counter in the control file that is incremented for each backup set. The counter value starts at 1 and is unique for the lifetime of the control file. If you restore a backup control file, then duplicate values can result. CREATE CONTROLFILE initializes the counter at 1.
%S Zero-filled sequence number
%t Backup set time stamp, a 4-byte value derived as the number of seconds elapsed since a fixed reference time. The combination of %s and %t can be used to form a unique name for the backup set.
%T Year, month, and day in the Gregorian calendar in the format: YYYYMMDD
%u An 8-character name constituted by compressed representations of the backup set or image copy number and the time the backup set or image copy was created
%U A system-generated unique filename (default). %U is different for image copies and backup pieces. For a backup piece, %U is a shorthand for %u_%p_%c and guarantees uniqueness in generated backup filenames. For an image copy of a datafile, %U means the following:
data-D-%d_id-%I_TS-%N_FNO-%f_%u
For an image copy of an archived redo log, %U means the following:
arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u
For an image copy of a control file, %U means the following:
cf-D_%d-id-%I_%u
%Y Year in this format: YYYY
%% Percent (%) character. For example, %%Y translates to the string %Y
Repository Initialization Parameters compatible=11.2.0
log_archive_format=RMAN_%s_%r_%d.arc
remote_login_passwordfile=SHARED
SQL> show parameter archive_format
To create a permanent NAS Mount -- as root
$ unmount /mnt

$ mkdir /u01
$ chown oracle:dba /u01
$ chmod 755 /u01

$ cd /etc

$ vi fstab

192.168.2.200:/vol/vol1/alpha1 /u01 nfs rw,bg,intr,hard,rsize=32768,wsize=32768,noac,nolock,tcp,vers=3 0 0
Create RMAN Repository and Catalog /* as Linux user oracle modify the TNSNAMES.ORA to point to the database that will host the repository catalog: Then ... */

$ sqlplus / as sysdba

-- using OMF

SQL> CREATE TABLESPACE cat_tbs;

SQL> CREATE USER repoomega
     IDENTIFIED BY oracle1
     DEFAULT TABLESPACE cat_tbs
     TEMPORARY TABLESPACE temp
     QUOTA UNLIMITED ON cat_tbs;

SQL> GRANT create session TO repoomega
SQL> GRANT recovery_catalog_owner TO repoomega;
SQL> GRANT execute ON dbms_stats TO repoomega;  -- for demos

-- in the operating system shell
$ rman target / catalog repoomega/oracle1@repos

RMAN> create catalog tablespace cat_tbs;

RMAN> register database;

RMAN> report schema;

RMAN> configure default device type to disk;
RMAN> configure device type disk parallelism 2 backup type to copy;
RMAN> configure retention policy to recovery window of 7 days;
RMAN> configure backup optimization on;
Put the database into ARCHIVELOG mode /* as Linux user oracle modify the TNSNAMES.ORA to point to the database that will host the repository catalog: Then ... */

$ sqlplus / as sysdba

col name format a30
col value format a30

SELECT name, value
FROM gv$parameter
WHERE name LIKE '%arch%';

-- alter the SPFILE as required
shutdown immediate;

startup mount;

alter database archivelog;

alter database open;

archive log list;

alter system switch logfile;

archive log list;
 
Syntax
BACKUP [(backup operand)] (backup specification) [plus archivelog [backup specification operand]]

backup operand = (backup type spec) | CHANNEL '<channel_id>' | CHECK LOGICAL
 
Commands
@
Execute a series of script of RMAN commands stored in an operating system file. Do not leave whitespace between the @ and filename. @<path_and_file_name>
rman TARGET / @backup_db.rcv

or

RMAN> RUN { @backup_db.rman }
 
@@
Execute script files located in the same directory as the file from which it has been called @@<path_and_file_name>
TBD
 
ADVISE FAILURE
Displays repair options for the specified failures. Prints a summary of the failures identified by the Data Recovery Advisor and implicitly closes all open failures that are already fixed. ADVISE FAILURE <ALL | CRITICAL | HIGH | LOW | failure_number_list>
EXCLUDE FAILURE <failure_number_list>
RMAN> LIST FAILURE;
RMAN> ADVISE FAILURE ALL;
RMAN> REPAIR FAILURE;
 
ALLOCATE CHANNEL
To manually allocate a channel, which is a connection between RMAN and a database instance. Each connection initiates an database server session on the target or auxiliary instance: this server session performs the work of backing up, restoring, or recovering RMAN backups.

Manually allocated channels (allocated by using ALLOCATE) should be distinguished from automatically allocated channels (specified by using CONFIGURE). Manually allocated channels apply only to the RUN job in which you issue the command. Automatic channels apply to any RMAN job in which you do not manually allocate channels. You can always override automatic channel configurations by manually allocating channels within a RUN command.

Each channel operates on one backup set or image copy at a time. RMAN automatically releases the channel at the end of the job.

You can control the degree of parallelism within a job by allocating the desired number of channels. Allocating multiple channels simultaneously allows a single job to read or write multiple backup sets or disk copies in parallel. If you establish multiple connections, then each connection operates on a separate backup set or disk copy.

Whether ALLOCATE CHANNEL causes operating system resources to be allocated immediately depends on the operating system. On some platforms, operating system resources are allocated at the time the command is issued. On other platforms, operating system resources are not allocated until you open a file for reading or writing.
Allocating a Single Backup Channel
Allocate a disk channel ALLOCATE [AUXILIARY] CHANNEL <channel_name> [, <channel_id>,
DEVICE TYPE <device_type_name>[allocation_operand_list]
SQL> desc gv$backup_device

SQL> SELECT * FROM gv$backup_device;

RMAN> target / catalog repoomega/oracle1
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO disk;
RMAN> RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK FORMAT '/u01/backups/%U';
  BACKUP DATABASE PLUS ARCHIVELOG;
  RELEASE CHANNEL;
}
Allocates a tape channel for a whole database and archived redo log backup RMAN> RUN {
  ALLOCATE CHANNEL tape1 DEVICE TYPE sbt
  BACKUP DATABASE PLUS ARCHIVELOG;
  RELEASE CHANNEL;
}
Spread the backup across several disk drives. Allocate one DEVICE TYPE DISK channel for ach disk drive and specify the format string so that the filenames are on different disks RMAN> RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK FORMAT '/u01/backups/%U';
  ALLOCATE CHANNEL d2 DEVICE TYPE DISK FORMAT '/u02/backups/%U';
  BACKUP DATABASE PLUS ARCHIVELOG;
  RELEASE CHANNEL;
}
When creating multiple copies of a backup, you can specify the SET BACKUP COPIES command. The following example generates a single backup of the database to disk, and then creates two identical backups of datafile 1 to two different file systems RMAN> RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK MAXPIECESIZE 5M;
  # AS COPY is the default, so RMAN creates image copies
  BACKUP DATABASE PLUS ARCHIVELOG;
  SET BACKUP COPIES = 2;
  BACKUP DATAFILE 1 FORMAT '/u01/backups/%U', '/u02/backups/%U';
}
Allocate Channel for Maintenance
*Allocates a channel in preparation for a CHANGE, DELETE, or CROSSCHECK. This cannot be used within a RUN block. ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE <device_specifier> [allocation_operand_list];
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
 
ALTER DATABASE
Mount and open the database ALTER DATABASE <MOUNT | OPEN | OPEN RESETLOGS>;
RMAN> STARTUP NOMOUNT;
RMAN> ALTER DATABASE MOUNT;
RMAN> BACKUP DATABASE;
RMAN> ALTER DATABASE OPEN;
Mount and open the database resetlogs RUN {
  ALLOCATE CHANNEL ch1 DEVICE TYPE sbt;
  SET UNTIL SCN 1024;
  RESTORE DATABASE;
  RECOVER DATABASE;
  ALTER DATABASE OPEN RESETLOGS;
}
 
BACKUP
-- Back up a database, tablespace, datafile (current or copy), control file (current or copy), SPFILE, archived log, or backup set.

BACKUP <BackupOperand> CHANNEL '<channel_id>' CHECK LOGICAL COPIES <integer>
CUMULATIVE DEVICE TYPE <deviceSpecifier> DISKRATIO <integer> DURATION
<FileNameConversionSpecification> FILERPERSET <integer> FORCE
< AUXILIARY FORMAT <formatSpec, NEW> | FORMAT <formatSpec>
<forRecoveryOfSpec>
FULL
<keep option>
MAXSETSIZE <sizeSpec>
<notBackedUpSpec>
NO CHECKSUM NO EXCLUDE POOL <integer> PROXY [ONLY] REUSE SECTION SIZE <sizeSpec> <skipSpec>
TAG '<tag_name>' VALIDATE
-- Back up a database, tablespace, datafile (current or copy), control file (current or copy), SPFILE, archived log, or backup set.

BACKUP <BackupOperand> CHANNEL '<channel_id>' CHECK LOGICAL COPIES <integer>
CUMULATIVE DEVICE TYPE <deviceSpecifier> DISKRATIO <integer> DURATION
<FileNameConversionSpecification> FILERPERSET <integer> FORCE
< AUXILIARY FORMAT <formatSpec, NEW> | FORMAT <formatSpec>
<forRecoveryOfSpec>
INCREMENTAL <LEVEL | FROM SCN> <integer>
<keep option>
MAXSETSIZE <sizeSpec>
<notBackedUpSpec>
NO CHECKSUM NO EXCLUDE POOL <integer> PROXY [ONLY] REUSE SECTION SIZE <sizeSpec> <skipSpec>
TAG '<tag_name>' VALIDATE
BACKUP ARCHIVELOG
Backs up copy of each distinct log sequence number BACKUP ARCHIVELOG [NOT] <ALL | FROM .... | HIGH | LIKE .... | LOW | SCN .... | SEQUENCE | TIME ... | UNTIL ....>
RMAN> BACKUP ARCHIVELOG ALL;
Backup archivelogs not previously backedup RMAN> BACKUP ARCHIVELOG ALL NOT BACKEDUP 1 TIMES;

Starting backup at 21-AUG-11
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=146 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=149 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=39 RECID=1 STAMP=758408898
input archived log thread=1 sequence=40 RECID=2 STAMP=758412681
input archived log thread=1 sequence=41 RECID=3 STAMP=758447886
input archived log thread=1 sequence=42 RECID=4 STAMP=758447887
input archived log thread=1 sequence=43 RECID=5 STAMP=758447893
input archived log thread=1 sequence=44 RECID=6 STAMP=758499761
input archived log thread=1 sequence=45 RECID=7 STAMP=758512857
input archived log thread=1 sequence=46 RECID=8 STAMP=758541784
input archived log thread=1 sequence=47 RECID=9 STAMP=758558811
input archived log thread=1 sequence=48 RECID=10 STAMP=758569034
input archived log thread=1 sequence=49 RECID=11 STAMP=758569043
input archived log thread=1 sequence=50 RECID=12 STAMP=758569055
input archived log thread=1 sequence=51 RECID=13 STAMP=758571129
input archived log thread=1 sequence=52 RECID=14 STAMP=758577127
input archived log thread=1 sequence=53 RECID=15 STAMP=758577128
input archived log thread=1 sequence=54 RECID=16 STAMP=758577133
input archived log thread=1 sequence=55 RECID=17 STAMP=758586204
input archived log thread=1 sequence=56 RECID=18 STAMP=758657669
input archived log thread=1 sequence=57 RECID=19 STAMP=758671280
input archived log thread=1 sequence=58 RECID=20 STAMP=758732465
input archived log thread=1 sequence=59 RECID=21 STAMP=758760639
channel ORA_DISK_1: starting piece 1 at 21-AUG-11
channel ORA_DISK_2: starting archived log backup set
channel ORA_DISK_2: specifying archived log(s) in backup set
input archived log thread=1 sequence=60 RECID=22 STAMP=758823382
input archived log thread=1 sequence=61 RECID=23 STAMP=758935543
input archived log thread=1 sequence=62 RECID=24 STAMP=758937344
input archived log thread=1 sequence=63 RECID=25 STAMP=759016813
input archived log thread=1 sequence=64 RECID=26 STAMP=759024182
input archived log thread=1 sequence=65 RECID=27 STAMP=759163875
input archived log thread=1 sequence=66 RECID=28 STAMP=759180493
input archived log thread=1 sequence=67 RECID=29 STAMP=759256226
input archived log thread=1 sequence=68 RECID=30 STAMP=759276196
input archived log thread=1 sequence=69 RECID=31 STAMP=759321858
input archived log thread=1 sequence=70 RECID=32 STAMP=759362452
input archived log thread=1 sequence=71 RECID=33 STAMP=759406656
input archived log thread=1 sequence=72 RECID=34 STAMP=759407028
input archived log thread=1 sequence=73 RECID=35 STAMP=759491861
input archived log thread=1 sequence=74 RECID=36 STAMP=759504633
input archived log thread=1 sequence=75 RECID=37 STAMP=759539362
input archived log thread=1 sequence=76 RECID=38 STAMP=759621618
input archived log thread=1 sequence=77 RECID=39 STAMP=759657406
input archived log thread=1 sequence=78 RECID=40 STAMP=759793790
input archived log thread=1 sequence=79 RECID=41 STAMP=759794509
channel ORA_DISK_2: starting piece 1 at 21-AUG-11
channel ORA_DISK_1: finished piece 1 at 21-AUG-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\ 2012_04_21\O1_MF_ANNNN_TAG20120421T220151_753RP3L2_.BKP tag=TAG20120421T220151 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:59
channel ORA_DISK_2: finished piece 1 at 21-AUG-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\ 2012_04_21\O1_MF_ANNNN_TAG20120421T220151_753RPK00_.BKP tag=TAG20120421T220151 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:01:56
Finished backup at 21-AUG-11

Starting Control File and SPFILE Autobackup at 21-AUG-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\ 2012_04_21\O1_MF_S_759794645_753RT6WB_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 21-AUG-11
Backup archive logs RMAN> run
2> {
3> allocate channel t1 type 'SBT_TAPE';
4> sql 'alter system archive log current';
5> backup archivelog all filesperset 10 format 'orabase_al_t%t_s%s_p%p'
6> plus
7> archivelog format '%d_%Y_%M_%D_%s_%p.arc'
8> delete all input;
9> show all;
10> release channel t1;
11> }

using target database control file instead of recovery catalog allocated channel: t1 channel t1: sid=102 devtype=SBT_TAPE channel t1: VERITAS NetBackup for Oracle - Release 5.1 (2002111220)

sql statement: alter system archive log current

Starting backup at 11-AUG-11
current log archived
channel t1: starting archive log backupset channel t1: specifying archive log(s) in backup set input archive log thread=1 sequence=6084 recid=5431 stamp=758849405 input archive log thread=1 sequence=6085 recid=5432 stamp=758870222 input archive log thread=1 sequence=6086 recid=5433 stamp=758894325 input archive log thread=1 sequence=6087 recid=5434 stamp=758910534 input archive log thread=1 sequence=6088 recid=5435 stamp=758920929 input archive log thread=1 sequence=6089 recid=5436 stamp=758920930 channel t1: starting piece 1 at 11-APR-12 channel t1: finished piece 1 at 11-APR-12 piece handle=orabase_al_t758920930_s4687_p1 tag=TAG20120411T192210 comment=API Version 2.0,MMS Version 5.0.0.0 channel t1: backup set complete, elapsed time: 00:06:57 channel t1: deleting archive log(s) archive log filename=/ORACLE/ORADATA/ORABASE/ARCHIVE/ARC06084_0647970522.001 recid=5431 stamp=758849405 archive log filename=/ORACLE/ORADATA/ORABASE/ARCHIVE/ARC06085_0647970522.001 recid=5432 stamp=758870222 archive log filename=/ORACLE/ORADATA/ORABASE/ARCHIVE/ARC06086_0647970522.001 recid=5433 stamp=758894325 archive log filename=/ORACLE/ORADATA/ORABASE/ARCHIVE/ARC06087_0647970522.001 recid=5434 stamp=758910534 archive log filename=/ORACLE/ORADATA/ORABASE/ARCHIVE/ARC06088_0647970522.001 recid=5435 stamp=758920929 archive log filename=/ORACLE/ORADATA/ORABASE/ARCHIVE/ARC06089_0647970522.001 recid=5436 stamp=758920930 Finished backup at 11-AUG-11

Recovery Manager complete.
BACKUP AS BACKUPSET
In the first RMAN places datafiles 3 through 7 into one backup set and datafiles 8 and 9 into another. In the second all datafiles go into a single backup set. BACKUP AS BACKUPSET DEVICE TYPE <device_identifier> COPIES <integer> DATABASE FORMAT '<location_and_format>' ....
RMAN> BACKUP AS BACKUPSET DATAFILE 3, 4, 5, 6, 7) (DATAFILE 8, 9);

RMAN> BACKUP AS BACKUPSET DATAFILE 3, 4, 5, 6, 7, 8, 9;
BACKUP AS COMPRESSED BACKUPSET
Create two copies of a compressed backupset BACKUP AS COMPRESSED BACKUPSET DEVICE TYPE <device_identifier>
COPIES <integer>
DATABASE FORMAT '<location_and_format>'
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

RMAN> BACKUP AS COMPRESSED BACKUPSET DEVICE TYPE DISK COPIES 2 DATABASE FORMAT '/u01/db_%U', '/u02/db_%U';
BACKUP AS COPY
Backing up as an image copy BACKUP AS COPY <backup_specification> ....
RUN {
  ALLOCATE CHANNEL dev1 DEVICE TYPE DISK FORMAT '/u01/%U';
  ALLOCATE CHANNEL dev2 DEVICE TYPE DISK FORMAT '/u02/%U';
  BACKUP AS COPY TABLESPACE system, tools, users, undotbs;
  BACKUP AS COPY CURRENT CONTROLFILE;
}
With REUSE syntax BACKUP AS COPY REUSE ARCHIVELOG LIKE "/orabase/ARCHIVELOG/O1_MF_1_124_76LLH2H4_.ARC
AUXILIARY FORMAT "+RCVDEST";
BACKUP CHANNEL
Manually allocate a channel, in order to specify that the backup run by this channel should go to both pools first_copy and second_copy.

Back up only logs without 2 backups on disk
BACKUP CHANNEL '<channel_id>' ....
RUN {
  ALLOCATE CHANNEL d2 DEVICE TYPE DISK;
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK;

  BACKUP CHANNEL d1 ARCHIVELOG UNTIL TIME 'SYSDATE' NOT BACKED UP 2 TIMES TAG SECOND_COPY;

  BACKUP CHANNEL d2 ARCHIVELOG UNTIL TIME 'SYSDATE' NOT BACKED UP 2 TIMES TAG FIRST_COPY;
}
BACKUP CHECK
SET MAXCORRUPT indicates that no more than 1 corruption should be tolerated in each datafile. Because the CHECK LOGICAL option is specified on the BACKUP command, RMAN checks for both physical and logical corruption. BACKUP CHECK [LOGICAL] <database_specifications>
RUN {
  SET MAXCORRUPT FOR DATAFILE 5,6,7,8 TO 1;
  BACKUP CHECK LOGICAL DATABASE;
}
Check for logical corruption in datafile 42 RMAN>   BACKUP CHECK LOGICAL DATAFILE 42;
BACKUP CONTROLFILECOPY
Create a backup copy of a control file BACKUP CONTROLFILECOPY ....
RMAN> BACKUP AS COPY CURRENT CONTROLFILE FORMAT 'c:\stage\control01.ctl';
RMAN> BACKUP CONTROLFILECOPY 'c:\stage\control01.ctl';
BACKUP COPIES
Define the number of backup copies to create BACKUP COPIES <integer> ....
RUN {
  BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;
}
BACKUP CURRENT
Backup the current Control File to the default or specified location BACKUP CURRENT CONTROLFILE [TO DESTINATION <destination_path>];
RUN {
  BACKUP CURRENT CONTROLFILE TO DESTINATION '/u01/backups';
}
BACKUP DATABASE
Backup Database RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
  BACKUP DATABASE;
}
Backup Database Plus Archivelog RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
  BACKUP DATABASE PLUS ARCHIVELOG;
}
BACKUP DATAFILE
Datafile backup to multiple locations BACKUP DATAFILE <integer> [FORMAT '<location_and_name_format>']

BACKUP DATAFILE <integer> [TO '<location>']
RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
  BACKUP DATAFILE 1 FORMAT '/u01/backups/%U', '/u02/backups/%U';
  BACKUP DATAFILE 6 TO '/u01/backups', '/u02/backups';
}
BACKUP DATAFILECOPY
Backup a datafile copy BACKUP DATAFILECOPY ....
RMAN> BACKUP DATAFILECOPY '/u01/oradata/orabase/uwdata01.dbf';
BACKUP DB_FILE_NAME_CONVERT
Converts ("Replaces") one string with another BACKUP AS COPY DB_FILE_NAME_CONVERT (<current_string, new_string>)
TABLESPACE <target_tablespace>
RMAN> BACKUP AS COPY DB_FILE_NAME_CONVERT ('/app/oracle/oradata/orabase/uwdata01.dbf', '/app/oracle/oradata/orcl/classdemo01.dbf')
TABLESPACE uwclass;
BACKUP DB_RECOVERY_FILE_DEST
Synonym for BACKUP RECOVERY AREA See BACKUP RECOVERY AREA below
BACKUP DEVICE TYPE
RMAN locates all datafile copies with the tag LATESTCOPY, backs them up to tape, and names the backups by means of substitution variables. After the datafile copies are on tape, the example deletes all image copies with the tag LATESTCOPY. BACKUP DEVICE TYPE <DISK | SBT> ....
RMAN> {
  BACKUP DEVICE TYPE sbt
  DATAFILECOPY FROM TAG 'LATESTCOPY' FORMAT 'Datafile%f_Database%d';
  DELETE COPY TAG 'LATESTCOPY';
}
BACKUP DISKRATIO
Populate each backup set with datafiles from the specified number of disks. To disable set to 0. RMAN> BACKUP DISKRATIO 0; -- disable

RMAN> BACKUP DISKRATIO 5; -- enable
BACKUP DURATION
Backup will stop if it is not completed in the specified duration BACKUP DURATION <HH:MI> <backup_specification> [MINIMIZE <LOAD | TIME>]
BACKUP DURATION <HH:MI> <backup_specification> PARTIAL
RMAN> BACKUP DURATION 3:30 DATABASE;
BACKUP FILESPERSET
Specifies the maximum number of input files to include in each output backup set. This parameter is only relevant when BACKUP generates backup sets. BACKUP FILESPERSET <integer> ....;
RMAN> backup filesperset 5 archivelog all;

Starting backup at 22-AUG-11
current log archived
using channel ORA_DISK_1
using channel ORA_DISK_2
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_05\ O1_MF_1_39_73SHKHNZ_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_05\ O1_MF_1_40_73SM7O4W_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_06\ O1_MF_1_41_73TOMX3F_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_06\ O1_MF_1_42_73TOMZBQ_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_06\ O1_MF_1_43_73TON4NJ_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_06\ O1_MF_1_44_73W88ZKL_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_45_73WO26LK_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_46_73XKB6MK_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_47_73Y1Y9NJ_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_48_73YCXQJ3_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_49_73YCXXLK_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_50_73YCYDSD_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_51_73YFZ6Y8_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_52_73YMTP6C_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_53_73YMTR4W_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_54_73YMTWKL_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_07\ O1_MF_1_55_73YWP90Z_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_08\ O1_MF_1_56_7412HMX9_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_08\ O1_MF_1_57_741HRVWB_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_09\ O1_MF_1_58_743CJG5V_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_09\ O1_MF_1_59_74471D2X_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_10\ O1_MF_1_60_7464B2D6_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_11\ O1_MF_1_61_749KV6QG_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_11\ O1_MF_1_62_749MMCSW_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_12\ O1_MF_1_63_74D16TWS_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_13\ O1_MF_1_64_74D8F300_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_14\ O1_MF_1_65_74JJTD6C_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_14\ O1_MF_1_66_74K11V98_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_15\ O1_MF_1_67_74MC0J3X_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_15\ O1_MF_1_68_74MYJJ1G_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_16\ O1_MF_1_69_74OC3HDP_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_16\ O1_MF_1_70_74PLR1LK_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_17\ O1_MF_1_71_74QXXFNJ_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_17\ O1_MF_1_72_74QY94C7_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_18\ O1_MF_1_73_74TK4200_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_18\ O1_MF_1_74_74TXM7GN_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_18\ O1_MF_1_75_74VZJJ7T_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_19\ O1_MF_1_76_74YHV0CQ_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_20\ O1_MF_1_77_74ZLSC4W_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_21\ O1_MF_1_78_753QZG00_.ARC; already backed up 1 time(s)
skipping archived log file C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2012_04_21\ O1_MF_1_79_753ROW4D_.ARC; already backed up 1 time(s)
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=80 RECID=42 STAMP=759841223
input archived log thread=1 sequence=81 RECID=43 STAMP=759880832
channel ORA_DISK_1: starting piece 1 at 22-AUG-11
channel ORA_DISK_2: starting archived log backup set
channel ORA_DISK_2: specifying archived log(s) in backup set
input archived log thread=1 sequence=82 RECID=44 STAMP=759882877
channel ORA_DISK_2: starting piece 1 at 22-AUG-11
channel ORA_DISK_1: finished piece 1 at 22-AUG-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2012_04_22\ O1_MF_ANNNN_TAG20120422T223438_756GZHTV_.BKP tag=TAG20120422T223438 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:08
channel ORA_DISK_2: finished piece 1 at 22-AUG-12
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2012_04_22\ O1_MF_ANNNN_TAG20120422T223438_756GZJX9_.BKP tag=TAG20120422T223438 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:07
Finished backup at 22-AP-11

Starting Control File and SPFILE Autobackup at 22-APR-12
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2012_04_22\ O1_MF_S_759882888_756GZSYR_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 22-APR-12
BACKUP ... FOR RECOVER OF ...
This command will give me a level 1 backup to be used to recover level 0 backup to the latest level BACKUP ... FOR RECOVER OF COPY WITH TAG ....
RMAN > BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_upd' DATABASE FORMAT '/oradata/rman/161932/inc_%d_%T_%t_%s_%p';
Alters the RECOVER COPY... WITH TAG to perform incomplete recovery of the datafile copies to the point in time in the past where you want your window of recoverability to begin -- maintain a 7 day window
RUN {
  RECOVER COPY OF DATABASE WITH TAG 'incr_update' UNTIL TIME 'SYSDATE-7';
  BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_upd' DATABASE;
}
BACKUP FORCE
Forces RMAN to ignore backup optimization even if CONFIGURE BACKUP OPTIMIZATION is ON BACKUP FORCE <backup_specification>
RMAN> BACKUP FORCE DATABASE;
BACKUP FORMAT
Specify Backup Format BACKUP FORMAT <format_specification> ....
RMAN> BACKUP FORMAT = 'UW_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';
BACKUP FULL
Creates a backup of all blocks of datafiles included in the backup BACKUP FULL;
RMAN> BACKUP FULL;
BACKUP INCREMENTAL
Incremental Backup Level 0 BACKUP INCREMENTAL LEVEL <level_number> [CUMULATIVE | DIFFERENTIAL> ....
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
Incremental Backup Level 1
Run to back up blocks that have changed since most recent level 0 or 1
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

RMAN> BACKUP INCREMENTAL LEVEL 1 DIFFERENTIAL TABLESPACE users;

RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SKIP INACCESSIBLE DATABASE;
BACKUP KEEP
The keepOption subclause is used to specify the status of a backup or copy in relation to a retention policy BACKUP KEEP <FOREVER | UNTIL TIME 'date_string'> [RESTORE POINT <restore_point_name>]
-- this demo contains an exception you must keep in mind if wishing to use this option
RMAN> BACKUP TABLESPACE UWDATA KEEP UNTIL TIME '10-SEP-2011';

Starting backup at 04-SEP-11
starting full resync of recovery catalog
full resync complete
current log archived

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=145 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=26 device type=DISK
backup will be obsolete on date 10-SEP-11
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF
channel ORA_DISK_1: starting piece 1 at 04-SEP-11
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 09/04/2011 16:49:09
ORA-19811: cannot have files in DB_RECOVERY_FILE_DEST with keep attributes
Copies two datafiles and exempts them from the retention policy forever RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT;

RMAN> BACKUP KEEP FOREVER FORMAT '?/dbs/%U_longterm.cpy' TAG LNGTRM_BCK DATAFILE 5 DATAFILE 6;

RMAN> ALTER DATABASE OPEN;
BACKUP MAXSETSIZE
Use the MAXSETSIZE parameter of the CONFIGURE CHANNEL or ALLOCATE CHANNEL command to limit the size of backup pieces BACKUP ... MAXSETSIZE ....;
RMAN> BACKUP DEVICE TYPE disk MAXSETSIZE 10G ARCHIVELOG ALL;
BACKUP NOCHECKSUM
If you specify the NOCHECKSUM option, then RMAN does not perform a checksum of the blocks when writing the backup BACKUP NOCHECKSUM ...
RMAN> BACKUP NOCHECKSUM DATAFILE 5;

RMAN> BACKUP NOCHECKSUM TABLESPACE UWDATA PLUS ARCHIVELOG;

RMAN> BACKUP NOCHECKSUM TABLESPACE UWDATA;

Starting backup at 08-SEP-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=125 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=22 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=00004 name=C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF
channel ORA_DISK_1: starting piece 1 at 08-SEP-11
channel ORA_DISK_1: finished piece 1 at 08-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_08\ O1_MF_NNNDF_TAG20110908T155925_76LL6HBQ_.BKP tag=TAG20110908T155925 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:23
Finished backup at 08-SEP-11

Starting Control File and SPFILE Autobackup at 08-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_09_08\ O1_MF_S_761327971_76LL6NXS_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 08-SEP-11
BACKUP NOEXCLUDE
Do not exclude a tablespace previously excluded using CONFIGURE EXCLUDE BACKUP DATABASE NOEXCLUDE;
BACKUP DATABASE NOEXCLUDE;
BACKUP NOT BACKED UP
Backup not previously backed up by name or timestamp BACKUP NOT BACKED UP ...;
RMAN> BACKUP NOT BACKED UP TABLESPACE EXAMPLE;

RMAN> BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-14' DATABASE PLUS ARCHIVELOG;
BACKUP POOL
Specifies the media pool in which the backup is stored. Consult your media management documentation to see whether POOL is supported. BACKUP POOL <integer> ....
RMAN> BACKUP POOL 1 VALIDATE ARCHIVELOG ALL;

Starting backup at 09-SEP-11
current log archived
using channel ORA_DISK_1
using channel ORA_DISK_2
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=124 RECID=86 STAMP=761328242
input archived log thread=1 sequence=125 RECID=87 STAMP=761351587
channel ORA_DISK_2: starting archived log backup set
channel ORA_DISK_2: specifying archived log(s) in backup set
input archived log thread=1 sequence=126 RECID=88 STAMP=761417042
input archived log thread=1 sequence=127 RECID=89 STAMP=761417817
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:00
List of Archived Logs
=====================
Thrd Seq     Status Blocks Failing Blocks Examined Name
---- ------- ------ -------------- --------------- ---------------
1    124     OK     0              820 C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_08\ O1_MF_1_124_76LLH2H4_.ARC
1    125     OK     0              81141 C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_08\ O1_MF_1_125_76M98HTC_.ARC
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:02
List of Archived Logs
=====================
Thrd Seq     Status Blocks Failing Blocks Examined Name
---- ------- ------ -------------- --------------- ---------------
1    126     OK     0              48214 C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_09\ O1_MF_1_126_76O9605V_.ARC
1    127     OK     0              5222 C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_09\ O1_MF_1_127_76O9Y9F5_.ARC
Finished backup at 09-SEP-11
BACKUP PROXY
Backs up the specified files with the proxy copy functionality, which gives the media management software control over the data transfer between storage devices and the datafiles on disk BACKUP DEVICE TYPE <device_type> PROXY <DATAFILE <integer> | ONLY <DATABASE | ARCHIVELOG ALL>>
BACKUP DEVICE TYPE sbt PROXY DATAFILE 42;

BACKUP DEVICE TYPE sbt PROXY ONLY ARCHIVELOG ALL;

BACKUP DEVICE TYPE sbt PROXY ONLY DATABASE;
BACKUP RECOVERY AREA
Back up the fast recovery area BACKUP RECOVERY AREA;
RMAN> BACKUP RECOVERY AREA;
BACKUP REUSE
REUSE enables RMAN to overwrite an already existing backup or copy with the same filename as the file that BACKUP is currently creating BACKUP REUSE ....
RMAN> BACKUP REUSE TABLESPACE example;

Starting backup at 09-SEP-11
using channel ORA_DISK_1
using channel ORA_DISK_2
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=C:\ORACLE\ORADATA\ORABASE\EXAMPLE01.DBF
channel ORA_DISK_1: starting piece 1 at 09-SEP-11
channel ORA_DISK_1: finished piece 1 at 09-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_09\ O1_MF_NNNDF_TAG20110909T201348_76OOHFFO_.BKP tag=TAG20110909T201348 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 09-SEP-11

Starting Control File and SPFILE Autobackup at 09-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_09_09\ O1_MF_S_761429645_76OOHYSD_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 09-SEP-11
BACKUP SECTION (aka multisection backup)
Section large datafiles so that a backup need not backup an entire file at once but rather can do it in sections BACKUP SECTION SIZE <size_integer><magnitude_character> TABLESPACE <tablespace_name>;
RMAN> BACKUP SECTION SIZE 500M TABLESPACE uwdata;
BACKUP SKIP
Excludes datafiles or archived redo log files from the backup if they are inaccessible, offline, or read-only BACKUP SKIP <INACCESSIBLE | OFFLINE | READONLY >
RMAN> BACKUP DATABASE SKIP OFFLINE;

Starting backup at 23-SEP-11
starting full resync of recovery catalog
full resync complete
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=142 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=141 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=00002 name=C:\ORACLE\ORADATA\ORABASE\SYSAUX01.DBF
input datafile file number=00005 name=C:\ORACLE\ORADATA\ORABASE\EXAMPLE01.DBF
input datafile file number=00004 name=C:\ORACLE\ORADATA\ORABASE\USERS01.DBF
input datafile file number=00003 name=C:\ORACLE\ORADATA\ORABASE\UNDOTBS01.DBF
channel ORA_DISK_1: starting piece 1 at 23-SEP-11
channel ORA_DISK_2: starting full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00001 name=C:\ORACLE\ORADATA\ORABASE\SYSTEM01.DBF
input datafile file number=00006 name=C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF
input datafile file number=00007 name=C:\ORACLE\ORADATA\ORABASE\CATTBS01.DBF
channel ORA_DISK_2: starting piece 1 at 23-SEP-11
channel ORA_DISK_1: finished piece 1 at 23-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_23\ O1_MF_NNNDF_TAG20110923T201640_77TLWWD6_.BKP tag=TAG20110923T201640 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:48
channel ORA_DISK_2: finished piece 1 at 23-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_23\ O1_MF_NNNDF_TAG20110923T201640_77TLWY00_.BKP tag=TAG20110923T201640 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:01:56
Finished backup at 23-SEP-11

Starting Control File and SPFILE Autobackup at 23-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_09_23\ O1_MF_S_762639523_77TM0O5C_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 23-SEP-11
BACKUP SPFILE
Backup the Server Parameter file to the default or specified location BACKUP SPFILE [TO DESTINATION <destination_path>]
RMAN> backup spfile to destination 'c:\stage';

Starting backup at 17-AUG-11
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=150 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 17-AUG-11
channel ORA_DISK_1: finished piece 1 at 17-AUG-11
piece handle=C:\STAGE\ORABASE\BACKUPSET\2011_08_17\O1_MF_NNSNF_TAG20110817T101852_74QXZX3F_.BKP tag=TAG20110817T101852 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 17-AUG-11
BACKUP TABLESPACE
Backup a named tablespace BACKUP TABLESPACE <tablespace_name>;
RMAN> backup tablespace users;

Starting backup at 02-SEP-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=144 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=151 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=00004 name=C:\ORACLE\ORADATA\ORABASE\USERS01.DBF
channel ORA_DISK_1: starting piece 1 at 02-SEP-11
channel ORA_DISK_1: finished piece 1 at 02-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_02\ O1_MF_NNNDF_TAG20110902T204201_7638JCBQ_.BKP tag=TAG20110902T204201 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 02-SEP-11

Starting Control File and SPFILE Autobackup at 02-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\ 2011_09_02\O1_MF_S_760826527_7638JJQX_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 02-SEP-11
BACKUP TAG
Backup the database and apply a user specified tag, This is only supported with a recovery catalog. BACKUP TAG '<tag_name>' ....
RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 2G;

RMAN> BACKUP TAG Q107 DATABASE KEEP FOREVER;
BACKUP VALIDATE
Verify backup components are valid BACKUP VALIDATE <ARCHIVELOG | AS .... | AUXILIARY | BACKUPSET | BACKUP | CHANNEL | CHECK | CONTROLFILECOPY | COPIES | COPY | CUMULATIVE | CURRENT DATABASE | DATAFILECOPY | DATAFILE | DB_FILE_NAME_CONVERT | DB_RECOVERY_FILE_DEST | DEVICE | DISKRATIO | DURATION | FILESPERSET | FORCE | FORMAT | FOR | FROM | FULL | INCREMENTAL | KEEP | MAXSETSIZE | NOCHECKSUM | NOEXCLUDE | NOKEEP | NOT | POOL | PROXY | RECOVERY | REUSE | SECTION | SKIP READONLY | SKIP | SPFILE | TABLESPACE | TAG | TO | VALIDATE>
RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;

RMAN> BACKUP VALIDATE CHECK LOGICAL DATAFILE 2;

RMAN> BACKUP VALIDATE CHECK LOGICAL RECOVERY AREA;

RMAN> BACKUP VALIDATE DB_RECOVERY_FILE_DEST;

-- after any of these:
SELECT *
FROM v$database_block_corruption;
Verify the spfile for backup RMAN> BACKUP VALIDATE SPFILE;

Starting backup at 19-AUG-11
using channel ORA_DISK_1
using channel ORA_DISK_2
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE 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
------------ ------ -------------- ---------------
SPFILE       OK     0              2
Finished backup at 19-AUG-11
Verify a tablespace for backup RMAN> BACKUP VALIDATE TABLESPACE 'UWDATA';

Starting backup at 19-AUG-11
using channel ORA_DISK_1
using channel ORA_DISK_2
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
6 OK 0 23217 32000 5105383
File Name: C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 6872
Index 0 968
Other 0 943

Finished backup at 19-AUG-11
 
CATALOG
Adds information about file copies and user-managed backups to the repository
CATALOG ARCHIVELOG
Back the named archive log CATALOG ARCHIVELOG '<file_name_list>'
RMAN> catalog archivelog 'c:\oracle\fast_recovery_area\orabase\archivelog\2011_09_22\O1_MF_1_154_77R4NCMK_.ARC';

cataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_22\O1_MF_1_154_77R4NCMK_.ARC RECID=120 STAMP=762640802
CATALOG BACKUPPIECE
Catalogs the backup pieces in the new location CATALOG BACKUPPIECE <file_name_list>
RMAN> CATALOG BACKUPPIECE '/u01/c-874220581-20080315-01'
      USING target database control file instead of recovery catalog
      cataloged backup piece
      backup piece handle=/u01/c-874220581-20080315-01 RECID=8 STAMP=607695990;
CATALOG CONTROLFILECOPY
Catalog the control files identified CATALOG CONTROLFILECOPY <controlfilecopy_name_list>
RMAN> COPY CURRENT CONTROLFILE TO '/stage';

RMAN> CATALOG CONTROLFILECOPY '/stage/control01.ctl'
CATALOG DATAFILECOPY
Specifies that the datafile copy should be recorded as a level 0 incremental backup (0 is the only valid value of LEVEL) DATAFILECOPY <file_name_list> LEVEL <integer>
RMAN> CATALOG DATAFILECOPY '/stage/users01.dbf';
RMAN> CATALOG DATAFILECOPY '/u02/backup/users01.bak' LEVEL 0;
RMAN> LIST COPY;
CATALOG DB_RECOVERY_FILE_DEST
Catalog the Backup Pieces held in the location set by DB_RECOVERY_FILE_DEST CATALOG DB_RECOVERY_FILE_DEST
RMAN> CATALOG DB_RECOVERY_FILE_DEST;
CATALOG RECOVERY AREA
Catalog all files in the currently enabled fast recovery area CATALOG RECOVERY AREA [NOPROMPT];
RMAN> CATALOG RECOVERY AREA NOPROMPT;

searching for all files in the recovery area
no files found to be unknown to the database

List of files in Recovery Area not managed by the database
==========================================================
File Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\CONTROL02.CTL
RMAN-07526: Reason: File is not an Oracle Managed File

number of files not managed by recovery area is 1, totaling 9.31MB
CATALOG START WITH
Catalog all files in a named disk location CATALOG START WITH <path_name> [NOPROMPT];
RMAN> CATALOG START WITH '/u02/archivelog' NOPROMPT;
 
CHANGE
To make the following changes:
  • To change the status of backups, copies, and archived logs in the repository to AVAILABLE or UNAVAILABLE. This feature is useful when a previously unavailable file is made available again, or you do not want a specific backup or copy to be eligible to be restored but also do not want to delete it.
  • To alter the repository status of usable backups and copies from prior incarnations.
  • To remove catalog records for backups and copies, and update the corresponding records in the target control file to status DELETED. This feature is useful when you remove a file by using an operating system command rather than the RMAN CHANGE command, and want to remove its repository record as well.
  • To specify that a backup or copy should either abide by the currently configured retention policy or be exempt from it.
CHANGE ARCHIVELOG
Move all archived logs to a new directory, uncatalog them, and then recatalog them in the new location CHANGE ARCHIVELOG [ALL] ....
HOST 'mv $ORACLE_HOME/oradata/trgt/arch/* /fs2/arch';
RMAN> CHANGE ARCHIVELOG ALL UNCATALOG;
RMAN> CATALOG START WITH '/fs2/arch';
Crosscheck archivelogs. This should be run if archivelogs have been deleted and can not be recovered to tell the database to ignore the missing files. RMAN> CHANGE ARCHIVELOG ALL CROSSCHECK;
CHANGE BACKUP
Change the status of all backups of server parameter files created more than a day ago to UNAVAILABLE CHANGE BACKUP OF <ARCHIVELOG | SPFILE> ...
RMAN> CHANGE BACKUP OF SPFILE COMPLETED BEFORE 'SYSDATE-1' UNAVAILABLE;

RMAN> CHANGE BACKUP OF ARCHIVELOG ALL NOKEEP;
Associate proda with the primary database RMAN> CHANGE BACKUP FOR DB_UNIQUE_NAME proda RESET DB_UNIQUE_NAME;
Associate standby prodb with standby proda RMAN> CHANGE BACKUP FOR DB_UNIQUE_NAME prodb RESET DB_UNIQUE_NAME TO proda;
CHANGE BACKUPPIECE
Change the status of a backuppiece CHANGE BACKUPPIECE ...
RMAN>CHANGE BACKUPPIECE '/u04/oradata/09dtq55d_1_2' UNCATALOG;
CHANGE BACKUPSET & CHANGE BACKUP TAG
Change the status a backup set CHANGE BACKUPSET <backupset_number> [AVAILABLE | UNAVAILABLE];
RMAN> CHANGE BACKUPSET 42 UNAVAILABLE;
Change an ordinary backup into a permanent backup CHANGE BACKUP TAG <backupset_name> KEEP FOREVER [LOGS | NOLOGS];
RMAN> CHANGE BACKUP TAG 'consistent_db_bkup' KEEP FOREVER NOLOGS;
Change an ordinary backup into a longer-term backup CHANGE BACKUPSET <backupset_name> KEEP UNTIL TIME <TIMESTAMP> [LOGS | NOLOGS];
RMAN> CHANGE BACKUP TAG 'consistent_db_bkup' KEEP UNTIL 'SYSDATE+90' LOGS;
Remove the non-default keep status of a  backup CHANGE BACKUPSET <backupset_identifier> NOKEEP;
RMAN> CHANGE BACKUPSET '42' NOKEEP;
CHANGE CONTROLFILECOPY
Change a controlfile copy CHANGE CONTROLFILECOPY ...
RMAN> backup as copy current controlfile;

Starting backup at 25-SEP-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=125 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=30 device type=DISK
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\CONTROLFILE\ O1_MF_TAG20110925T173734_77ZLBN7C_.CTL tag=TAG20110925T173734 RECID=2 STAMP=762802661
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 25-SEP-11

Starting Control File and SPFILE Autobackup at 25-SEP-11
piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_09_25\ O1_MF_S_762802665_77ZLBT7V_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 25-SEP-11

RMAN> CHANGE CONTROLFILECOPY 'C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\CONTROLFILE\ O1_MF_TAG20110925T173734_77ZLBN7C_.CTL' AVAILABLE;

released channel: ORA_DISK_1
released channel: ORA_DISK_2
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=125 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=30 device type=DISK
changed control file copy available
control file copy file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\CONTROLFILE\ O1_MF_TAG20110925T173734_77ZLBN7C_.CTL RECID=2 STAMP=762802661
Changed 1 objects to AVAILABLE status
CHANGE COPY OF
Changes backup metadata in the catalog and/or controlfile CHANGE COPY ...
RMAN> CHANGE COPY OF ARCHIVELOG ALL UNCATALOG;

uncataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_22\ O1_MF_1_154_77R4NCMK_.ARC RECID=120 STAMP=762640802
uncataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_23\ O1_MF_1_155_77RP6GYR_.ARC RECID=117 STAMP=762577249
uncataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_23\ O1_MF_1_156_77S7G0MK_.ARC RECID=118 STAMP=762594896
uncataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_23\ O1_MF_1_157_77TL99G5_.ARC RECID=119 STAMP=762638779
uncataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_23\ O1_MF_1_158_77TS0L6T_.ARC RECID=121 STAMP=762645669
uncataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_24\ O1_MF_1_159_77X76B3F_.ARC RECID=122 STAMP=762725727
uncataloged archived log
archived log file name=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_25\ O1_MF_1_160_77ZB04BS_.ARC RECID=123 STAMP=762794136
Uncataloged 7 objects
CHANGE DATAFILECOPY
Update catalog information  on a datafile copy CHANGE DATAFILECOPY <path_and_file_name> [AVAILABLE | CATALOG | UNAVAILABLE];
RMAN> CHANGE DATAFILECOPY '/u01/oradata/orabase/uwdata01.dbf' CATALOG;

RMAN> CHANGE DATAFILECOPY '/u01/oradata/orabase/uwdata01.dbf' UNAVAILABLE;
CHANGE DB_UNIQUE_NAME
Change the DB_UNIQUE_NAME in the catalog CHANGE DB_UNIQUE_NAME FROM <db_unique_name> TO <db_unique_name>;
RMAN> CHANGE DB_UNIQUE_NAME FROM proda TO dgproda;
CHANGE FAILURE
Changes the status of a failure CHANGE FAILURE <ALL | CRITICAL | HIGH | LOW | <failure_number_list>> [EXCLUDE FAILURE <failure_number>] <CLOSED | PRIORITY <HIGH | LOW> [NOPROMPT]
RMAN> LIST FAILURE;

no failures found that match specification

RMAN> CHANGE FAILURE 1 CLOSED;

no failures found that match specification
 
CONFIGURE
To configure persistent settings affecting RMAN backup, restore, duplication, and maintenance jobs. These configurations are in effect for any RMAN session until the configuration is cleared or changed.
Configuration Defaults $ rman

RMAN> SHOW ALL;

RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO NONE;
RMAN> CONFIGURE BACKUP OPTIMIZATION OFF;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP OFF;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
RMAN> CONFIGURE ENCRYPTION FOR DATABASE OFF;
RMAN> CONFIGURE ENCRYPTION ALGORITHM 'AES128';
RMAN> CONFIGURE MAXSETSIZE TO 2 G;
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/app/oracle/product/fast_recovery_area/snapshot.ctl';
CONFIGURE ARCHIVE
For Data Guard: Applies the deletion policy to the standby CONFIGURE ARCHIVE DELETION POLICY TO APPLIED ON STANDBY;
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
RMAN> CONFIGURE ARCHIVE DELETION POLICY TO APPLIED ON STANDBY;
CONFIGURE AUXNAME
Set and clear an auxiliary name for a datafile CONFIGURE AUXNAME FOR DATAFILE <data_file_number> TO <path_and_file_name>;
CONFIGURE AUXNAME FOR DATAFILE CLEAR;
RMAN> CONFIGURE AUXNAME FOR DATAFILE 5 TO '/home/oracle/auxfiles/aux1.f';

RMAN> CONFIGURE AUXNAME FOR DATAFILE 4 CLEAR;
CONFIGURE BACKUP OPTIMIZATION
Backup or don't backup unchanged files CONFIGURE BACKUP OPTIMIZATION <ON | OFF>;
See SHOW BACKUP OPTIMIZATION Demo
CONFIGURE CHANNEL
Configure a backup channel to tape CONFIGURE CHANNEL <DEVICE TYPE | INTEGER> <configuration | CLEAR>
RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' CLEAR;
CONFIGURE COMPRESSION
Configure a backup compression algorithm CONFIGURE COMPRESSION ALGORITHM <CLEAR | '<quoted_string>'>
SELECT algorithm_name, algorithm_description
FROM v$rman_compression_algorithm;

RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';

RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC';
CONFIGURE CONTROLFILE AUTOBACKUP
Enable autobackup and configure the default autobackup format for a DISK device CONFIGURE CONTROLFILE AUTOBACKUP <ON | OFF | FORMAT FOR DEVICE ....>.;
CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete
Configure the location for controlfile autobackups CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u02/%F';
CONFIGURE DB_UNIQUE_NAME
Create a new connection to a physical standby CONFIGURE DB_UNIQUE_NAME '<db_unique_name>' <CLEAR | CONNECT IDENTIFIER '<quoted_string>'>
RMAN> CONFIGURE DB_UNIQUE_NAME 'PRODB' CONNECT IDENTIFIER 'REPOBETA';
Set and clear encryption CONFIGURE ENCRYPTION ALGORITHM <CLEAR | encryption_algorithm>
SQL> col algorithm_name format a20
SQL> col algorithm_description format a25

SQL> SELECT algorithm_name, algorithm_description
     FROM v$rman_encryption_algorithms;

RMAN> CONFIGURE ENCRYPTION ALGORITHM 'AES256';

RMAN> CONFIGURE ENCRYPTION CLEAR;
Configure Database or Tablespace Encryption CONFIGURE ENCRYPTION FOR <DATABASE | TABLESPACE <tablespace_name> <ON | OFF | CLEAR>
RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;

RMAN> CONFIGURE ENCRYPTION FOR TABLESPACE uwdata OFF;
CONFIGURE DEFAULT DEVICE TYPE TO
Changes the default device type to the default device type specified CONFIGURE DEFAULT DEVICE TYPE TO <disk | sbt>
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO disk;

new RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
new RMAN configuration parameters are successfully stored
CONFIGURE DEVICE TYPE
Change the default configuration of a backup device CONFIGURE DEFAULT DEVICE TYPE <disk | sbt> ....;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete
CONFIGURE EXCLUDE FOR TABLESPACE
Exclude a tablespace from RMAN backup CONFIGURE EXCLUDE FOR TABLESPACE <tablespace_name>;
CONFIGURE EXCLUDE FOR TABLESPACE staging;
CONFIGURE RETENTION POLICY
Retention Policy CONFIGURE RETENTION POLICY TO REDUNDANCY <integer>;
See CONFIGURE ARCHIVE Demo Above
 
CONNECT
Creates a connection between RMAN and a target, auxiliary, or recovery catalog database
CONNECT AUXILIARY
Auxiliary CONNECT AUXILIARY <user_id>/<password>@<instance>
$ rman auxiliary oracle/oracle1@prodb
CONNECT CATALOG & TARGET
Catalog CONNECT CATALOG
$ rman catalog repoomega/oracle1@repos

$ rman
RMAN> connect catalog repoomega/oracle1@repos
Target only CONNECT TARGET <user_id>/<password>@<instance>
$ rman target /

RMAN> connect target / catalog repoomega/oracle1@repos
Target and Catalog CONNECT TARGET <user_id>/<password> CATALOG <user_id>/<password>@<instance>
$ rman target / catalog repoomega/oracle1@repos

RMAN> connect target / catalog repoomega/oracle1@repos
Target without a catalog CONNECT TARGET <user_id>/<password>@<instance> NOCATALOG
$ rman

RMAN> connect target omega1/omega1@emrep NOCATALOG
 
CONVERT
Converts a datafile, tablespace or database to the format of a destination platform, in preparation for transport across different platforms
CONVERT DATABASE
Uses CONVERT DATABASE NEW DATABASE to convert datafiles and generate a transport script CONVERT DATABASE NEW DATABASE '<db_name>'
TRANSPORT SCRIPT '<script_location>'
TO PLATFORM '<platform_name>'
DB_FILE_NAME_CONVERT '<source_location> <destination_location>'
CONVERT DATABASE
NEW DATABASE 'prodb'
TRANSPORT SCRIPT '/tmp/convertdb/transportscript'
TO PLATFORM 'Linux IA (64-bit)'
DB_FILE_NAME_CONVERT '/u01/oradata', '/stage/dbfiles';
CONVERT DATAFILE
Converts the datafiles to be transported to the destination host format and deposits the results in /u02/oradata CONVERT DATAFILE <datafile_name_list>
DB_FILE_NAME_CONVERT '<source_location> <destination_location>'
FROM PLATFORM <original_platform_name>
CONVERT DATAFILE
'/tmp/transport_from_aix/u01/uwdata01.dbf',
'/tmp/transport_from_aix/u01/uwdata02.dbf',
'/tmp/transport_from_aix/u03/users01.dbf',
'/tmp/transport_from_aix/u03/users02.dbf'
DB_FILE_NAME_CONVERT
'/app/oracle/product/oradata','/stage/oradata',
'/tmp/transport_from_solaris/hr','/stage/oradata'
FROM PLATFORM 'Linux IA (64-bit)';
CONVERT TABLESPACE
Convert a tablespaces to 64 bit Linux CONVERT TABLESPACE <tablespace_name_list> TO PLATFORM <platform_name> FORMAT '<format_string>'
desc v$transportable_platform

SELECT platform_name, endian_format
FROM v$transportable_platform;

CONVERT TABLESPACE uwdata, users TO PLATFORM 'Linux IA (64-bit)'
FORMAT '/app/oracle/product/fast_recovery_area/linux64/%U';
 
CREATE
CREATE CATALOG
Create a recovery catalog or a virtual private catalog CREATE [VIRTUAL] CATALOG;
C:\Documents and Settings\Owner>rman target / catalog repoomega/oracle1@repos

Recovery Manager: Release 11.2.0.3.0 - Production on Wed Apr 11 19:32:36 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORABASE (DBID=1824802046)
connected to recovery catalog database

RMAN> create catalog;

recovery catalog created

RMAN> drop catalog;

SQL> SELECT object_type, COUNT(*)
     FROM user_objects;
CREATE GLOBAL SCRIPT
Create and store a global script in the repository CREATE GLOBAL SCRIPT '<script_name>' [COMMENT '<comment>'] ....
RMAN> CREATE GLOBAL SCRIPT global_backup { BACKUP DATABASE PLUS ARCHIVELOG; }
CREATE RESTORE POINT
Create a restore point CREATE RESTORE POINT <restore_point_name>
RMAN> CREATE RESTORE POINT app_patch;
RMAN> DROP RESTORE POINT app_patch;
CREATE SCRIPT
Creates a stored script called backup_whole that backs up the database and archived redo logs CREATE [GLOBAL] SCRIPT '<script_name>'
COMMENT '<comment>'
{RMAN_command_list}
FROM FILE '<file_name>'
CREATE SCRIPT backup_whole
COMMENT "backup whole database and logs"
{
  BACKUP INCREMENTAL LEVEL 0 TAG b_whole_l0
  DATABASE PLUS ARCHIVELOG;
}

created script backup_whole
Creates a stored script called backup_whole that backs up the database and archived redo logs CREATE GLOBAL SCRIPT global_backup_db
COMMENT "backup any database from the recovery catalog, with logs"
{
  BACKUP DATABASE PLUS ARCHIVELOG;
}
Create a stored script from an O/S file RMAN> CREATE SCRIPT /u01/staging/global_backup_db;
CREATE VIRTUAL
Create a virtual private catalog. Only works when a catalog does not already exist CREATE VIRTUAL CATALOG ....
RMAN> CREATE VIRTUAL CATALOG;
 
CROSSCHECK
Verify the status of backups and copies recorded in the RMAN repository against media such as disk or tape. The CROSSCHECK command only processes files created on the same device type as the channels running the crosscheck.
StatusDescription
AVAILABLE The Object is available for use by RMAN. For a backup set to be AVAILABLE, all set backup pieces must be AVAILABLE.
EXPIRED Object is not found either in file system (for DISK) or in the media manager (for sbt). Note that for a backup set to be EXPIRED, all backup pieces in the set must be EXPIRED. EXPIRED does not mean the same as OBSOLETE.
UNAVAILABLE Object is not available for use by RMAN. For a backup set to be UNAVAILABLE, all backup pieces must be UNAVAILABLE.
The following objects can be crosschecked:
ARCHIVELOG BACKUP BACKUPPIECE BACKUPSET CONTROLFILECOPY COPY DATAFILECOPY PROXY
CROSSCHECK ARCHIVELOG
Allocate a channel and crosscheck all archivelogs CROSSCHECK <archivelogRecordSpecifier> ALL;
RMAN> RUN {
  ALLOCATE CHANNEL d1 FOR MAINTENANCE DEVICE TYPE DISK;
  CROSSCHECK ARCHIVELOG ALL;
  RELEASE CHANNEL;
}
CROSSCHECK BACKUP
Crosscheck all backup sets CROSSCHECK BACKUP;
RMAN> CROSSCHECK BACKUP;

using channel ORA_DISK_1
using channel ORA_DISK_2
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_08_21\ O1_MF_ANNNN_TAG20110821T220151_753RP3L2_.BKP RECID=3 STAMP=759794515
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_08_21\ O1_MF_ANNNN_TAG20110821T220151_753RPK00_.BKP RECID=4 STAMP=759794528
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_08_22\ O1_MF_ANNNN_TAG20110822T223438_756GZJX9_.BKP RECID=6 STAMP=759882880
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_08_22\ O1_MF_ANNNN_TAG20110822T223438_756GZHTV_.BKP RECID=7 STAMP=759882879
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RSVXS_.BKP RECID=10 STAMP=760744907
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RSWMK_.BKP RECID=11 STAMP=760744907
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RTO1Y_.BKP RECID=12 STAMP=760744933
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RTRQX_.BKP RECID=13 STAMP=760744933
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RV4Y8_.BKP RECID=14 STAMP=760744948
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RVBSW_.BKP RECID=15 STAMP=760744950
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RVJC7_.BKP RECID=16 STAMP=760744959
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RVN0Z_.BKP RECID=17 STAMP=760744963
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220144_760RVW2G_.BKP RECID=18 STAMP=760744972
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_01\ O1_MF_ANNNN_TAG20110901T220540_760S15X9_.BKP RECID=20 STAMP=760745141
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_09_01\ O1_MF_S_760745144_760S19CQ_.BKP RECID=21 STAMP=760745145
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\BACKUPSET\2011_09_02\ O1_MF_NNNDF_TAG20110902T204201_7638JCBQ_.BKP RECID=22 STAMP=760826523
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_09_02\ O1_MF_S_760826527_7638JJQX_.BKP RECID=23 STAMP=760826528
Crosschecked 17 objects
Allocate a channel, crosscheck backups in a date range and release the channel after use CROSSCHECK BACKUP DEVICE ....
RMAN> RUN {
  ALLOCATE CHANNEL d1 FOR MAINTENANCE DEVICE TYPE DISK;
  CROSSCHECK BACKUP DEVICE TYPE DISK COMPLETED BETWEEN '01-JUL-08' AND '30-SEP-08';
  RELEASE CHANNEL;
}
Crosscheck a controlfile backup CROSSCHECK BACKUP OF CONTROLFILE;
RMAN> CROSSCHECK BACKUP OF CONTROLFILE;
Crosscheck all database datafile backups CROSSCHECK BACKUP OF DATABASE;
RMAN> CROSSCHECK BACKUP OF DATABASE;
Crosscheck a datafile backup CROSSCHECK BACKUP OF DATAFILE <datafile_number>;
RMAN> CROSSCHECK BACKUP OF DATAFILE 7;
Crosscheck the SPFILE backup CROSSCHECK BACKUP OF SPFILE;
RMAN> CROSSCHECK BACKUP OF SPFILE;
Crosscheck a tablespace backup CROSSCHECK BACKUP OF TABLESPACE <tablespace_name>;
RMAN> CROSSCHECK BACKUP OF TABLESPACE uwdata;
CROSSCHECK BACKUPPIECE
Checks that specific backuppieces still exist CROSSCHECK BACKUPPIECE <backuppiece_identifier>;
RMAN> CROSSCHECK BACKUPPIECE 4;
CROSSCHECK BACKUPSET
Checks that specific backupsets still exist CROSSCHECK BACKUPSET OF <backupset identifier>;
RMAN> CROSSCHECK BACKUPSET OF TABLESPACE UWDATA;
CROSSCHECK COPY
Checks for the physical existence of archivelog files and will change the V$ARCHIVED_LOG.STATUS of affected archivelogs from "A" for AVAILABLE to "X" for EXPIRED. Once the archivelog file has a status of X, RMAN will no longer attempt to backup this archivelog file. CROSSCHECK COPY OF ARCHIVELOG [ALL];
RMAN> CROSSCHECK COPY OF ARCHIVELOG ALL;
CROSSCHECK CONTROLFILECOPY
Checks that specific controlfile copies still exist CROSSCHECK CONTROLFILECOPY <control_file_identifier>;
RMAN> CROSSCHECK CONTROLFILECOPY 1;
CROSSCHECK DATAFILECOPY
Checks that specific datafile copies still exist CROSSCHECK DATAFILECOPY <ALL | INTEGER | LIKE | QUOTED_STRING>
RMAN> CROSSCHECK DATAFILECOPY ALL;
CROSSCHECK FOREIGN
Crosscheck all foreign archived redo logs CROSSCHECK FOREIGN ARCHIVELOG <ALL | FROM | HIGH | LOGSEQ | LOW | SCN | SEQUENCE | TIME | UNTIL> ....
RMAN> CROSSCHECK FOREIGN ARCHIVELOG ALL;
CROSSCHECK PROXY
Crosscheck the existence of a specific proxy copy CROSSCHECK PROXY ...
RMAN> CROSSCHECK PROXY 941;
 
DEBUG
Commands for the RMAN debugger DEBUG <ALL | DUPLICATE | OFF | ON | RECOVER | RESTORE | RESYNC | SQL>
RMAN> DEBUG ALL;
RMAN> DEBUG OFF;
 
DELETE
To delete physical backups and copies as well as do the following:
  • Update their repository records in the target control file to status DELETED
  • Remove their repository records from the recovery catalog (if you use a catalog)
When running RMAN interactively, DELETE displays a list of the files and prompts you for confirmation before deleting any file in the list. When reading commands from a command file, RMAN will not prompt for confirmation.
DELETE ARCHIVELOG
Wildcard Delete DELETE ARCHIVELOG <ALL | FROM | HIGH | LIKE | LOGSEQ | LOW | QUOTED_STRING | SCN | SEQUENCE | TIME | UNTIL> ....
RMAN> LIST ARCHIVELOG LIKE '%';
RMAN> CROSSCHECK ARCHIVELOG LIKE '%';
RMAN> DELETE ARCHIVELOG LIKE '%';
Delete archivelogs older than 7 days if they have been backed up to tape RMAN> DELETE NOPROMPT ARCHIVELOG ALL UNTIL 'SYSDATE-7' BACKED UP 1 TIMES TO TAPE;
DELETE BACKUP
Delete Backup Set DELETE [NOPROMPT] BACKUP OF DATABASE COMPLETED BEFORE '<timestamp>';
RMAN> DELETE NOPROMPT BACKUP OF DATABASE COMPLETED BEFORE 'SYSDATE-7';
DELETE BACKUPPIECE
Delete a BackupPiece DELETE [NOPROMPT] BACKUPPIECE <backuppiece_name>;
RMAN> DELETE NOPROMPT BACKUPPIECE '/u06/oracle_backups/oradata/orabaes/uwdata01.bak';
DELETE BACKUPSET
Delete both Disk and Tape Backup Sets DELETE BACKUPSET ....
# back up datafile to disk and tape
RMAN> BACKUP DEVICE TYPE DISK DATAFILE 1 TAG "weekly_bkup";
RMAN> BACKUP DEVICE TYPE sbt DATAFILE 1 TAG "weekly_bkup";

# manually allocate disk and sbt channels
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE SBT;
RMAN> DELETE BACKUPSET TAG "weekly_bkup";
DELETE EXPIRED
Deletes expired backup records DELETE [FORCE | NOPROMPT] EXPIRED <maintenance_spec> [for db_unique_name_option];
RMAN> CROSSCHECK BACKUP;
RMAN> DELETE EXPIRED BACKUP;

RMAN> CROSSCHECK BACKUPSET OF TABLESPACE uwdata DEVICE TYPE disk COMPLETED BEFORE SYSDATE-15;

RMAN> DELETE NOPROMPT EXPIRED BACKUPSET OF TABLESPACE uwdata DEVICE TYPE disk COMPLETED BEFORE SYSDATE-15;
DELETE FORCE
Force a requested deletion DELETE FORCE <ARCHIVELOG | BACKUPPIECE | BACKUPSET | BACKUP | CONTROLFILECOPY | COPY | DATAFILECOPY | EXPIRED | FOREIGN | NOPROMPT | OBSOLTE | PROXY> ....
RMAN> DELETE FORCE BACKUP;
DELETE OBSOLETE
Delete Obsolete DELETE [FORCE | NOPROMPT] OBSOLETE [obsOperandList] [device_type] [device_specifier];
RMAN> DELETE FORCE OBSOLETE;

starting full resync of recovery catalog
full resync complete
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=22 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=144 device type=DISK
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 140 17-AUG-11
Backup Piece 141 17-AUG-11 C:\STAGE\ORABASE\BACKUPSET\2011_08_17\O1_MF_NNSNF_TAG20110817T101852_74QXZX3F_.BKP
Backup Set 354 22-AUG-11
Backup Piece 357 22-AUG-11 C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_08_22\O1_MF_S_759882888_756GZSYR_.BKP

Do you really want to delete the above objects (enter YES or NO)? YES
deleted backup piece
backup piece handle=C:\STAGE\ORABASE\BACKUPSET\2011_08_17\ O1_MF_NNSNF_TAG20110817T101852_74QXZX3F_.BKP RECID=1 STAMP=759406733
deleted backup piece
backup piece handle=C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\AUTOBACKUP\2011_08_22\ O1_MF_S_759882888_756GZSYR_.BKP RECID=8 STAMP=759882889
Deleted 2 objects
DELETE SCRIPT
Deletes a stored script b_whole_10 from the recovery catalog DELETE [GLOBAL] SCRIPT '<script_name>';
# rman TARGET / CATALOG rman/cat@catdb

RMAN> DELETE SCRIPT proda_backup_db;

RMAN> DELETE GLOBAL SCRIPT global_backup_db;
 
DROP
DROP CATALOG
Drop the RMAN catalog DROP CATALOG;
See CREATE CATALOG Demo Above
DROP DATABASE
Use RMAN to issue the drop database command DROP DATABASE;
No demo is shown as this is something I recommend against doing within RMAN
DROP RESTORE POINT
Drop a restore point DROP RESTORE POINT <restore_point_name>;
See CREATE RESTORE POINT Demo Above
 
DUPLICATE
Allocates auxiliary channels and duplicates the target database as newdb DUPLICATE [TARGET] DATABASE TO <new_name>
LOGFILE '<redo_log_file_path_and_name>' SIZE <integer> <K | M>
[SKIP READONLY] [NOFILENAMECHECK]
RUN {
  ALLOCATE AUXILIARY CHANNEL d1 DEVICE TYPE DISK;
  ALLOCATE AUXILIARY CHANNEL d2 DEVICE TYPE DISK;
  DUPLICATE TARGET DATABASE TO newdb
    LOGFILE
      '?/oradata/aux1/redo01.log' SIZE 50M,
      '?/oradata/aux1/redo02.log' SIZE 50M,
      '?/oradata/aux1/redo03.log' SIZE 50M
  SKIP READONLY
  NOFILENAMECHECK;
}
 
EXECUTE SCRIPT
Run a script EXCUTE GLOBAL] SCRIPT '<script_name>' USING <;
RMAN> CREATE GLOBAL SCRIPT global_backup_db { BACKUP DATABASE PLUS ARCHIVELOG; }

starting full resync of recovery catalog
full resync complete
created global script global_backup_db

RMAN> PRINT SCRIPT global_backup_db;

printing stored global script: global_backup_db
{ BACKUP DATABASE PLUS ARCHIVELOG; }

RMAN> RUN { EXECUTE GLOBAL SCRIPT global_backup_db; }

executing global script: global_backup_db
 
EXIT
Exit from RMAN or a terminal window EXIT [TARGET]
RMAN> target /
RMAN> EXIT;

or

RMAN> HOST;
*$ EXIT;
RMAN>
 
FLASHBACK DATABASE
Returns the database to its state at a previous time or SCN FLASHBACK DATABASE TO SCN=<integer>
RMAN> FLASHBACK DATABASE TO SCN=42678315;
 
GRANT
Grant privileges to a recovery catalog user GRANT <privilege> TO <schema_name>
RMAN> GRANT CATALOG FOR DATABASE orabase TO repoomega;

RMAN> GRANT REGISTER DATABASE TO repoomega;
 
HOST
Shell out of RMAN to the operating system for command execution HOST
See EXIT Demo Above
 
IMPORT CATALOG
Import the metadata from one recovery catalog to another based on connection string IMPORT CATALOG <connection_string> [DBID <dbid_number> | DB_NAME <db_name> | NO UNREGISTER]
RMAN> CATALOG backcat@remotesite;

RMAN> IMPORT CATALOG repoomega@catdb;
Imports the metadata from one recovery catalog to another based DBID RMAN> CATALOG backcat@remotesite;

RMAN IMPORT CATALOG rcat@inst1 DBID=1824802046;
 
LIST
Produce a detailed listing of the indicated items LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> LIST ARCHIVELOG ALL;

List of Archived Log Copies for database with db_unique_name ORABASE
=====================================================================

Key Thrd Seq S Low Time
------- ---- ------- - ---------
328 1 81 A 22-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_22\ O1_MF_1_81_756DZFMK_.ARC

334 1 82 A 22-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_22\ O1_MF_1_82_756GZD5V_.ARC

375 1 83 A 22-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_23\ O1_MF_1_83_75857O98_.ARC

376 1 84 A 23-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_23\ O1_MF_1_84_7591D1GN_.ARC

399 1 85 A 23-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_24\ O1_MF_1_85_75BPPFYR_.ARC

400 1 86 A 24-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_24\ O1_MF_1_86_75CNYOJM_.ARC

401 1 87 A 24-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_25\ O1_MF_1_87_75CXRLPG_.ARC

402 1 88 A 25-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_26\ O1_MF_1_88_75HBX57T_.ARC

403 1 89 A 26-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_26\ O1_MF_1_89_75J5VGJ3_.ARC

457 1 90 A 26-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_26\ O1_MF_1_90_75JYHMQG_.ARC

458 1 91 A 26-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_27\ O1_MF_1_91_75L0THTC_.ARC

459 1 92 A 27-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_28\ O1_MF_1_92_75OVMJL2_.ARC

460 1 93 A 28-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_28\ O1_MF_1_93_75P2KPCQ_.ARC

461 1 94 A 28-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_29\ O1_MF_1_94_75RTPH0Z_.ARC

462 1 95 A 29-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_29\ O1_MF_1_95_75RWGKC7_.ARC

463 1 96 A 29-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_30\ O1_MF_1_96_75VDJQ3V_.ARC

464 1 97 A 30-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_30\ O1_MF_1_97_75VLKJSC_.ARC

465 1 98 A 30-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_31\ O1_MF_1_98_75X31SPG_.ARC

466 1 99 A 31-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_31\ O1_MF_1_99_75Y4CRM1_.ARC

467 1 100 A 31-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_08_31\ O1_MF_1_100_75Y81LJM_.ARC

468 1 101 A 31-AUG-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_01\ O1_MF_1_101_760RNFGN_.ARC

469 1 102 A 01-SEP-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_01\ O1_MF_1_102_760RSMC7_.ARC

535 1 103 A 01-SEP-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_01\ O1_MF_1_103_760S131Y_.ARC

574 1 104 A 01-SEP-11
Name: C:\ORACLE\FAST_RECOVERY_AREA\ORABASE\ARCHIVELOG\2011_09_02\ O1_MF_1_104_762PBWH4_.ARC
Summarize the backup history LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> LIST BACKUP SUMMARY;

List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
238 B A A DISK 21-AUG-11 1 1 NO TAG20110821T220151
239 B A A DISK 21-AUG-11 1 1 NO TAG20110821T220151
340 B A A DISK 22-AUG-11 1 1 NO TAG20110822T223438
341 B A A DISK 22-AUG-11 1 1 NO TAG20110822T223438
474 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
475 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
476 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
477 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
478 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
479 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
480 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
481 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
482 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220144
542 B A A DISK 01-SEP-11 1 1 NO TAG20110901T220540
553 B F A DISK 01-SEP-11 1 1 NO TAG20110901T220544
579 B F A DISK 02-SEP-11 1 1 NO TAG20110902T204201
588 B F A DISK 02-SEP-11 1 1 NO TAG20110902T204207
Lists backupsets corresponding to the specification LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> LIST BACKUPSET COMPLETED BEFORE '23-SEP-2011';
List copies LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> LIST COPY;
List all database unique names LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> LIST DB_UNIQUE_NAME ALL;

List of Databases
 DB Key DB Name             DB ID Database Role   Db_unique_name
------- ------- ----------------- --------------- ------------------
      1 ORABASE        1824802046 PRIMARY         ORABASE

For LIST FAILURE See Advise Failure Demo Above
List expired backups for database standby1 LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> CONNECT target / CATALOG repoomega/oracle1@catbd;

connected to recovery catalog database

RMAN> LIST EXPIRED BACKUP FOR DB_UNIQUE_NAME standby1;

specification does not match any backup in the repository
List failures LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> CONNECT target / CATALOG repoomega/oracle1@catbd;

connected to recovery catalog database

RMAN> LIST FAILURE;

no failures found that match specification
List global scripts stored in the catalog LIST <ARCHIVELOG | BACKUP | BACKUPPIECE | BACKUPSET | BACKED | COMPLETED | COPY | CONTROLFILECOPY | DATAFILECOPY | DB_UNIQUE_NAME | DEVICE | EXPIRED | FAILURE | FOREIGN | GLOBAL | INCARNATION | LIKE | PROXY | RECOVERABLE | RESTORE | SCRIPT | TAG> ...;
RMAN> CONNECT target / CATALOG repoomega/oracle1@catbd;

RMAN> LIST GLOBAL SCRIPT NAMES;

List of Stored Scripts in Recovery Catalog

No scripts in recovery catalog
PRINT SCRIPT
PRINT GLOBAL
Display a named script PRINT [GLOBAL] <IDENTIFIER | QUOTED_STRING>
RMAN> PRINT GLOBAL SCRIPT global_backup_db;
PRINT SCRIPT
Display a stored script PRINT <IDENTIFIER | QUOTED_STRING> [TO FILE]
RMAN> PRINT SCRIPT backup_whole;

printing stored script: backup_whole
{
  BACKUP INCREMENTAL LEVEL 0 TAG b_whole_l0
  DATABASE PLUS ARCHIVELOG;
}

RMAN> PRINT SCRIPT global_backup_db TO FILE '/u01/staging/global_backup_db.rman';
 
QUIT
Exit the RMAN executable QUIT
RMAN> QUIT;
 
RECOVER
Formerly BLOCKRECOVER this was renamed as of version 11.1.0.6.

Block media recovery recovers an individual data block or set of data blocks within a datafile. This type of recovery is useful if the data loss or corruption applies to a small number of blocks rather than to an entire datafile.

Typically, block corruption is reported in error messages in trace files. Block-level data loss usually results from:
  • I/O errors causing minor data loss
  • Memory corruptions that get flushed to disk
RECOVER ALLOW
? RECOVER ALLOW ....
TBD
RECOVER ARCHIVELOG
? RECOVER ARCHIVELOG ....
TBD
RECOVER AUXILIARY
? RECOVER AUXILIARY ....
TBD
RECOVER CHECK
? RECOVER CHECK ....
TBD
RECOVER CLEAR
? RECOVER CLEAR ....
TBD
RECOVER COPY
? RECOVER COPY ....
TBD
RECOVER CORRUPTION
Block recover corrupt database blocks RECOVER CORRUPTION ....
TBD
RECOVER DATABASE
? RECOVER DATABASE ....
TBD
RECOVER DATAFILE
Recover corrupt blocks in 3 data files RECOVER DATAFILE <data_file_number> BLOCK <block_list>
RMAN> RECOVER DATAFILE 2 BLOCK 12,13;

RMAN> RECOVER DATAFILE 2 BLOCK 12,13 DATAFILE 3 BLOCK 5,98,99 DATAFILE 4 BLOCK 19;
Limit block recovery by restoration type RECOVER DATAFILE <data_file_number> BLOCK <block_list> TABLESPACE <tablespace_name> FROM DATAFILECOPY
RUN {
  RECOVER DATAFILE 3 BLOCK 2,3,4,5 TABLESPACE uwdata DBA 4194405, 4194409, 4194412
  FROM DATAFILECOPY;
}
RECOVER DATAFILECOPY
? RECOVER DATAFILECOPY ....
TBD
RECOVER DELETE
? RECOVER DELETE ....
TBD
RECOVER DEVICE
? RECOVER DEVICE ....
TBD
RECOVER EXCLUDE
? RECOVER EXCLUDE ....
TBD
RECOVER FROM
? RECOVER FROM ....
TBD
RECOVER NOFILEUPDATE
? RECOVER NOFILEUPDATE ....
TBD
RECOVER NOPARALLEL
? RECOVER NOPARALLEL ....
TBD
RECOVER NOREDO
? RECOVER NOREDO ....
TBD
RECOVER PARALLEL
? RECOVER PARALLEL ....
TBD
RECOVER RESTORE
? RECOVER RESTORE ....
TBD
RECOVER SAVE
? RECOVER SAVE ....
TBD
RECOVER SKIP READONLY
? RECOVER SKIP READONLY ....
TBD
RECOVER STANDBY
? RECOVER STANDBY ....
TBD
RECOVER TABLESPACE
Limit block recovery by backup tag RECOVER TABLESPACE <tablespace_name> ...
RECOVER TABLESPACE SYSTEM DBA 4194404, 4194405 FROM TAG "weekly_backup";
Limit block recovery by time RECOVER TABLESPACE <tablespace_name> ...
RECOVER TABLESPACE SYSTEM DBA 4194404, 4194405 RESTORE UNTIL TIME 'SYSDATE-2';
Repair all corrupt blocks in the database using gv$database_block_corruption RECOVER CORRUPTION LIST;
RMAN> BACKUP VALIDATE DATABASE;
RMAN> RECOVER CORRUPTION LIST;

Starting recover at 26-AUG-11
using channel ORA_DISK_1
using channel ORA_DISK_2

starting media recovery
media recovery complete, elapsed time: 00:00:00

Finished recover at 26-AUG-11
RECOVER TEST
? RECOVER TEST ....
TBD
RECOVER UNDO
? RECOVER UNDO ....
TBD
RECOVER VALIDATE
? RECOVER VALIDATE ....
TBD
 
REGISTER DATABASE
Register a Target in the Database Recovery Catalog REGISTER DATABASE;
RMAN> REGISTER DATABASE;
 
RELEASE CHANNEL
Release a channel that was allocated with an ALLOCATE CHANNEL command RELEASE CHANNEL;
See Allocate Channel Demos Above
 
REPAIR FAILURE
Repair one or more failures recorded in the automated diagnostic repository REPAIR FAILURE [<NO | NOPROMPT | PREVIEW | USING>
See Advise Failure Demo Above
 
REPLACE
REPLACE GLOBAL
? may not exist REPLACE GLOBAL ....
TBD
REPLACE SCRIPT
Replace an existing script stored in the recovery catalog. If the script does not exist, then REPLACE SCRIPT creates it REPLACE SCRIPT ....
TBD
 
REPORT
REPORT NEED BACKUP
Report objects whose backup is not current REPORT NEED BACKUP [DEVICE TYPE <device_type_name>];
RMAN> REPORT NEED BACKUP;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------
1 0 C:\ORACLE\ORADATA\ORABASE\SYSTEM01.DBF
2 0 C:\ORACLE\ORADATA\ORABASE\SYSAUX01.DBF
3 0 C:\ORACLE\ORADATA\ORABASE\UNDOTBS01.DBF
4 0 C:\ORACLE\ORADATA\ORABASE\USERS01.DBF
5 0 C:\ORACLE\ORADATA\ORABASE\EXAMPLE01.DBF
6 0 C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF
7 0 C:\ORACLE\ORADATA\ORABASE\CATTBS01.DBF

RMAN> REPORT NEED BACKUP DEVICE TYPE DISK;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------
1 0 C:\ORACLE\ORADATA\ORABASE\SYSTEM01.DBF
2 0 C:\ORACLE\ORADATA\ORABASE\SYSAUX01.DBF
3 0 C:\ORACLE\ORADATA\ORABASE\UNDOTBS01.DBF
4 0 C:\ORACLE\ORADATA\ORABASE\USERS01.DBF
5 0 C:\ORACLE\ORADATA\ORABASE\EXAMPLE01.DBF
6 0 C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF
7 0 C:\ORACLE\ORADATA\ORABASE\CATTBS01.DBF
REPORT OBSOLETE
Report obsolete files REPORT OBSOLETE;
RMAN> REPORT OBSOLETE;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
no obsolete backups found
REPORT SCHEMA
Performs a catalog resync and reports on permanent, undo, and temp tablespaces REPORT SCHEMA;
RMAN> REPORT SCHEMA;

Report of database schema for database with db_unique_name ORABASE

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 730 SYSTEM *** C:\ORACLE\ORADATA\ORABASE\SYSTEM01.DBF
2 660 SYSAUX *** C:\ORACLE\ORADATA\ORABASE\SYSAUX01.DBF
3 65 UNDOTBS1 *** C:\ORACLE\ORADATA\ORABASE\UNDOTBS01.DBF
4 5 USERS *** C:\ORACLE\ORADATA\ORABASE\USERS01.DBF
5 345 EXAMPLE *** C:\ORACLE\ORADATA\ORABASE\EXAMPLE01.DBF
6 250 UWDATA *** C:\ORACLE\ORADATA\ORABASE\UWDATA01.DBF

List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 C:\ORACLE\ORADATA\ORABASE\TEMP01.DBF
REPORT UNRECOVERABLE
Report unrecoverable objects REPORT UNRECOVERABLE
RMAN> REPORT UNRECOVERABLE;

Report of files that need backup due to unrecoverable operations
File Type of Backup Required Name
---- ----------------------- -----------------------------------
5 full C:\ORACLE\ORADATA\ORABASE\EXAMPLE01.DBF
 
RESET DATABASE
Reset the incarnation of the target database in the RMAN repository to a previous database incarnation RESET DATABASE TO INCARNATION <incarnation_identifier>;
$ rman target / nocatalog
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;
RMAN> ALTER DATABASE MOUNT;
RMAN> LIST INCARNATION OF DATABASE orabase;
RMAN> RESET DATABASE TO INCARNATION 1;
RMAN> RESTORE DATABASE UNTIL SCN 4208974;
RMAN> RECOVER DATABASE UNTIL SCN 4208974;
RMAN> ALTER DATABASE OPEN RESETLOGS;
RMAN> LIST INCARNATION OF DATABASE orabase;
 
RESTORE
Restore files from backup sets or from disk copies to the default or a new location RESTORE <ARCHIVELOG | CHANNEL | CHECK | CONTROLFILE | DATABASE | DATAFILE | DEVICE | FORCE | FROM | HIGH | PREVIEW [SUMMARY] | PRIMARY | SKIP READONLY | SPFILE | STANDBY | TABLESPACE | TO RESTORE POINT | UNTIL | UNTIL RESTORE POINT | VALIDATE>;
Restore Archivelog RMAN> restore archivelog from SCN 376192 preview;
Restore Database RMAN> target / catalog rman/rman@rman

RMAN> backup database;

RMAN> validate backupset 1;

SQL> conn scott/tiger

SQL> DELETE FROM emp WHERE rownum < 6;

SQL> COMMIT;

RMAN> restore database;
Preview a restore before running it RMAN> target / catalog rman/rman@rman

RMAN> restore database preview summary;

Starting restore at 04-APR-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK

datafile 13 will be created automatically during restore operation
datafile 17 will be created automatically during restore operation
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 04/04/2013 08:15:37
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 16 found to restore
RMAN-06023: no backup or copy of datafile 15 found to restore
RMAN-06023: no backup or copy of datafile 14 found to restore
RMAN-06023: no backup or copy of datafile 12 found to restore
RMAN-06023: no backup or copy of datafile 11 found to restore
RMAN-06023: no backup or copy of datafile 10 found to restore
RMAN-06023: no backup or copy of datafile 9 found to restore
RMAN-06023: no backup or copy of datafile 8 found to restore
RMAN-06023: no backup or copy of datafile 7 found to restore
RMAN-06023: no backup or copy of datafile 6 found to restore
RMAN-06023: no backup or copy of datafile 5 found to restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore

RMAN> restore database preview;
 
RESYNC CATALOG
Perform a full resynchronization, which creates a snapshot control file and then copies any new or changed information from that snapshot control file to the recovery catalog.
This example performs a full resynchronization of the target database after archiving all unarchived redo logs RESYNC CATALOG FROM CONTROLFILECOPY '<file_name>'

RESYNC FROM DB_UNIQUE_NAME ALL

RESYNC FROM DB_UNIQUE_NAME '<db_unique_name>'
Mount the target database, update the repository in the current control file with metadata from a backup control file, then open the database $ rman target /
RMAN> STARTUP FORCE MOUNT;
RMAN> RESYNC CATALOG FROM CONTROLFILECOPY '/u01/cfile.dbf';
RMAN> ALTER DATABASE OPEN;
After adding a datafile RMAN> RESYNC CATALOG;
 
REVOKE
Revoke privileges from a recovery catalog user REVOKE <ALL | CATALOG | REGISTER>
TBD
 
RUN
Execute a script of RMAN commands RUN {
  <script commands>;
}
See "Allocate A Single Backup Channel" Demo Above
 
SEND
Send a vendor-specific quoted string to one or more specific channels
SEND CHANNEL
Specify commands by CHANNEL SEND CHANNEL '<channel_id>' '<command_string>'
TBD
SEND DEVICE_TYPE
Specify a tape drive for a backup of the users tablespace to Oracle Secure Backup SEND DEVICE_TYPE '<device_specifier>' '<command_string>'
RUN
{
  ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
  SEND 'OB_DEVICE stape1';
  BACKUP TABLESPACE users;
}
 
SET
Set the value of various attributes that affect RMAN behavior for the duration of a RUN block or a session
? SET <OFF | ON> [FOR ALL TABLESPACES]
TBD
Restore database and recover until the specified date and time SET ARCHIVELOG DESTINATION TO '<
SET BACKUP COPIES <integer>
SET COMPRESSION ALGORITHM '<compression_algorithm_name>'
SET DECRYPTION IDENTIFIED BY <password>
SET ECHO <ON | OFF>
SET ENCRYPTION ALGORITHM '<algorithm_name>'
SET IDENTIFIED BY <password> [ONLY]
SET MAXCORRUPT FOR DATAFILE <dataFileSpec> TO <integer>
SET NEWNAME FOR DATAFILE <dataFileSpec> TO '<file_name>'
SET NEWNAME FOR DATAFILE <dataFileSpec> TO NEW
SET NEWNAME FOR TEMPFILE <tempFileSpec> TO '<quoted_string>'
SET NEWNAME FOR TEMPFILE <tempFileSpec> TO NEW
SET TO RESTORE POINT <restore_point_name>
SET UNTIL <TIME | SCN>
CONFIGURE ARCHIVELOG COPIES FOR DEVICE TYPE sbt TO 3;
CONFIGURE DATAFILE COPIES FOR DEVICE TYPE sbt TO 3;

RMAN> run {
  ALLOCATE CHANNEL dev1 DEVICE TYPE sbt;
  SET BACKUP COPIES 2;
  BACKUP DATABASE PLUS ARCHIVELOG;
}
RMAN> run {
  SET UNTIL TIME = "TO_DATE('03/15/08 10:42:07','MM/DD/RR HH24:MI:SS')";
  RESTORE DATABASE;
  RECOVER DATABASE;
}
? SET AUXILIARY INSTANCE PARAMETER FILE TO '<file_name>

SET COMMAND ID TO '<string>'

SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE <deviceSpecifier> TO <formatSpec>

SET DBID <integer>
RMAN> RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK FORMAT '/u01/%U';
  ALLOCATE CHANNEL d2 DEVICE TYPE DISK FORMAT '/u02/%U';
  SET COMMAND ID TO 'rman';
  BACKUP INCREMENTAL LEVEL 0 DATABASE;
  SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
}
RMAN> SET DBID 3257174182;

RMAN> STARTUP FORCE NOMOUNT;

RMAN> RUN {
  ALLOCATE CHANNEL t1 DEVICE TYPE sbt;
  RESTORE SPFILE FROM AUTOBACKUP;
}

STARTUP FORCE; # RMAN restarts database with restored SPFILE
$ rman target /

RMAN> STARTUP FORCE NOMOUNT
RMAN> SET DBID 28014364;

RMAN> RUN {
  SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u02/cf_%F.bak';
  RESTORE CONTROLFILE FROM AUTOBACKUP MAXSEQ 100;
}

ALTER DATABASE MOUNT;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
 
SHOW
All ALL
$ rman target / catalog repoomega/oracle1@repos

RMAN> show all;

RMAN configuration parameters for database with db_unique_name ORABASE are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
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 'C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORABASE.ORA'; # default
Archivelog ARCHIVELOG <BACKUP | DELETION>
TBD
Auxiliary AULIARY CHANNEL
RMAN> show auxiliary channel;
Auxname AUXNAME
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show auxname;
Backup Copies {DATAFILE | ARCHIVELOG} BACKUP COPIES
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show datafile backup copies;
RMAN> show archivelog backup copies;
Backup Optimization BACKUP OPTIMIZATION
$ rman target / catalog repoomega1/oracle1@repos

RMAN> show backup optimization;

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN> show backup optimization;
Channel [AUXILIARY] CHANNEL [FOR DEVICE TYPE <deviceSpecifier>]
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show channel;
Compression COMPRESSION <ALGORITHM | USING>
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show compression algorithm;
Control File Auto-Backup CONTROLFILE AUTOBACKUP [FORMAT <format mask>]
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show controfile autobackup;
Datafile DATAFILE BACKUP COPIES
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show datafile backup copies;
Default DEFAULT DEVICE TYPE
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show default device type;
Device Type DEVICE TYPE;
$ rman target /
RMAN> show device type;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORABASE are:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
Exclude EXCLUDE
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show exclude;

RMAN configuration parameters for database with db_unique_name ORABASE are:
RMAN configuration has no stored or default parameters
Encryption ENCRYPTION <ALGORITHM | FOR | USING>
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show encryption algorithm;
RMAN> show encryption for database;
Maximum Backup Set Size MAXSETSIZE
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show maxsetsize;
Retention Policy RETENTION POLICY
$ rman target / catalog repoomega1/oracle1@repos
RMAN> show retention policy;
RMAN> show retention policy to redundancy;
Snapshot Control File Name SNAPSHOT CONTROLFILE NAME
$ rman target / catalog repoomega1/oracle1@repos
RMAN> SHOW SNAPSHOT CONTROLFILE NAME;
 
SHUTDOWN
Shutdown the target database SHUTDOWN <ABORT | IMMEDIATE | NORMAL | TRANSACTIONAL>
RMAN> SHUTDOWN ABORT;
 
SPOOL
Write RMAN output to a log file SPOOL LOG OFF

SPOOL LOG TO <file_name> [APPEND]
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
RMAN> SPOOL LOG TO '/tmp/current_config.log';
RMAN> SHOW ALL;
RMAN> SPOOL LOG OFF;
RMAN> SPOOL LOG TO '/home/oracle/rman.log';
RMAN> BACKUP DATABASE;
RMAN> SPOOL LOG OFF;
 
SQL
Execute a SQL statement from within RMAN SQL '<SQL_statement>'
RUN {
  SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
}
 
STARTUP
Startup a Database STARTUP <DBA | FORCE | MOUNT | NOMOUNT>

STARTUP PFILE '<file_name>'
$ rman TARGET / CATALOG repoomega/oracle1@repos

RMAN> STARTUP MOUNT;
 
SWITCH
Specify that a datafile copy is now the current datafile, that is, the datafile pointed to by the control file. This command is equivalent to the SQL statement ALTER DATABASE RENAME FILE as it applies to datafiles.
DATABASE
Switch to the imagecopy of the database in the Fast Recovery Area SWITCH DATABASE TO COPY;
RMAN> SWITCH DATABASE TO COPY;
DATAFILE
Switch from the current datafile to a datafile copy identified by its location and name SWITCH DATAFILE '<data_file_specification>' TO COPY '<data_file_copy_specification>' [ALL]
SQL> alter tablespace uwdata offline immediate;

RMAN> SWITCH DATAFILE '/u01/oradata/orabase/uwdata01.dbf'
      TO COPY '/u04/fast_recovery_area/orabase/uwdata01.copy';

SQL> recover tablespace uwdata;
SQL> alter tablespace uwdata online;
Switch from the current datafile to a datafile copy identified by its location and name SWITCH DATAFILE '<data_file_specification>' TO DATAFILECOPY '<file_name>'
RUN
{
  SQL "ALTER TABLESPACE uwdata OFFLINE IMMEDIATE";
  SWITCH DATAFILE '/u01/oradata/orabase/uwdata01.dbf'
    TO DATAFILECOPY '/u04/fast_recovery_area/orabase/uwdata01.copy';
  RECOVER TABLESPACE uwdata;
  SQL "ALTER TABLESPACE uwdata ONLINE";
}
Switch from the current datafile to a datafile copy identified by the specified tag SWITCH DATAFILE '<data_file_specification>' TO DATAFILECOPY TAG '<tag_name>'
RMAN> SWITCH DATAFILE 14 TO DATAFILECOPY TAG uwdfcopy;
A disk fails, forcing a datafile restore to a new disk location. Connecting to the TARGET, SET NEWNAME to rename the datafile, then RESTORE the missing datafile. Run SWITCH to point the control file to the new datafile and then RECOVER. SWITCH DATAFILE ALL
RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
  SQL "ALTER TABLESPACE uwdata OFFLINE IMMEDIATE";
  SET NEWNAME FOR DATAFILE '/u01/oradata/users01.dbf' TO '/u02/oradata/users01.dbf';
  RESTORE TABLESPACE uwclass;
  SWITCH DATAFILE ALL;
  RECOVER TABLESPACE uwclass;
  SQL "ALTER TABLESPACE uwclass ONLINE";
}
TABLESPACE
Assume all datafiles of the USERS tablespace are damaged but image copies exist in the FRA. Connect to the TARGET and use SWITCH to point the control file to the new datafiles then RECOVER. SWITCH TABLESPACE '<tablespace_name>' TO COPY
RMAN> "ALTER TABLESPACE users OFFLINE IMMEDIATE";
RMAN> SWITCH TABLESPACE users TO COPY;
RMAN> RECOVER TABLESPACE users;
RMAN> "ALTER TABLESPACE users ONLINE";
TEMPFILE
Switches the database from the current tempfile to the tempfile copy SWITCH TEMPFILE <temp_file_specification> TO '<file_name>' [ALL];
RMAN> SWITCH TEMPFILE /u01/oradata/orabase/temp01.dbf' TO '/u04/fast_recovery_area/orabase/temp01.copy';
Following renaming of the tempfiles SWITCH TEMPFILE ALL creates the tempfiles in the new location when the database is opened SWITCH TEMPFILE ALL;
SQL> STARTUP FORCE MOUNT;

RMAN> SET NEWNAME FOR TEMPFILE 1 TO '/u01/oradata/orabase/temp01.dbf';
RMAN> SET NEWNAME FOR TEMPFILE 2 TO '/u02/oradata/orabase/temp02.dbf';
RMAN> SWITCH TEMPFILE ALL;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;

SQL> ALTER DATABASE OPEN;
 
TRANSPORT TABLESPACE
Create transportable tablespace sets from backup for one or more tablespaces TRANSPORT TABLESPACE <tablespace_name> TABLESPACE DESTINATION <path_and_file_name> AUXILIARY DESTINATION <path_and_file_name>
DUMPFILE <path_and_file_name>
EXPORT LOG <path_and_file_name>
IMPORT SCRIPT <path_and_file_name>;
RMAN> TRANSPORT TABLESPACE uwdata
      TABLESPACE DESTINATION '/u01/oradata/orabase/uwdata01.dbf'
      AUXILIARY DESTINATION '/u07/oradata/orabase/uwdata01.dbf'
      DUMPFILE '/home/oracle/import_tbsp.dmp'
      EXPORT LOG '/home/oracle/import_tbsp.log'
      IMPORT SCRIPT '/home/oracle/import_tbsp.sql';
Until SCN TRANSPORT TABLESPACE <tablespace_name> TABLESPACE DESTINATION <path_and_file_name> AUXILIARY DESTINATION <path_and_file_name>
UNTIL SCN <scn_number>;
RMAN> TRANSPORT TABLESPACE uwdata
      TABLESPACE DESTINATION '/u01/oradata/orabase/uwdata01.dbf'
      AUXILIARY DESTINATION '/u07/oradata/orabase/uwdata01.dbf'
      UNTIL SCN 10912156206286;
Until Restore Point TRANSPORT TABLESPACE <tablespace_name>
TABLESPACE DESTINATION <path_and_file_name> AUXILIARY DESTINATION <path_and_file_name>
UNTIL RESTORE POINT <restore_point_name>;
RMAN> TRANSPORT TABLESPACE uwdata
      TABLESPACE DESTINATION '/u01/oradata/orabase/uwdata01.dbf'
      AUXILIARY DESTINATION '/u07/oradata/orabase/uwdata01.dbf'
      UNTIL RESTORE POINT 'before_damage';
Until Datetime TRANSPORT TABLESPACE <tablespace_name> TABLESPACE DESTINATION <path_and_file_name> AUXILIARY DESTINATION <path_and_file_name>
UNTIL TIME <datetime>;
RMAN> TRANSPORT TABLESPACE uwdata
      TABLESPACE DESTINATION '/u01/oradata/orabase/uwdata01.dbf'
      AUXILIARY DESTINATION '/u07/oradata/orabase/uwdata01.dbf'
      UNTIL TIME 'SYSDATE-6/24';
 
UNREGISTER
DATABASE
Unregister a Database from the Catalog UNREGISTER DATABASE '<database_name>' [NOPROMPT]
RMAN> UNREGISTER DATABASE 'orabeta' NOPROMPT;
DB_UNIQUE_NAME
Unregister a Database from the Catalog UNREGISTER DB_UNIQUE_NAME '<db_unique_name>' [INCLUDING BACKUPS [NOPROMPT]]
RMAN> LIST DB_UNIQUE_NAME ALL;
RMAN> UNREGISTER DB_UNIQUE_NAME 'ORADATA';
 
UPGRADE CATALOG
Upgrade the recovery catalog schema from an older version to the version required by RMAN UPGRADE CATALOG;
RMAN> UPGRADE CATALOG;
 
VALIDATE
Examine a backup set and report whether its data is intact. RMAN scans all of the backup pieces in the specified backup sets and looks at the checksums to verify that the contents can be successfully restored
ARCHIVELOG
Validate archivelogs VALIDATE ARCHIVELOG ALL
VALIDATE ARCHIVELOG LIKE '<string_pattern>'
VALIDATE ARCHIVELOG FROM SCN <integer>
VALIDATE ARCHIVELOG BETWEEN SCN <integer> AND SCN <integer>
VALIDATE ARCHIVELOG UNTIL SCN <integer>
VALIDATE ARCHIVELOG FROM SEQUENCE <integer> [THREAD <integer>]
VALIDATE ARCHIVELOG SEQUENCE <integer> [THREAD <integer>]
VALIDATE ARCHIVELOG SEQUENCE BETWEEN <integer> AND <integer>
VALIDATE ARCHIVELOG UNTIL SEQUENCE <integer> [THREAD <integer>]
TIME BETWEEN '<date_string>' AND '<date_string>'
UNTIL TIME '<date_string>'
RMAN> VALIDATE ARCHIVELOG ALL;
BACKUPSET
Validate a backup set VALIDATE BACKUPSET <primaryKey>;
RMAN> LIST BACKUP SUMMARY;

RMAN> VALIDATE BACKUPSET 4242;
CONTROLFILECOPY
Validate all control files copies VALIDATE CONTROLFILECOPY ALL;
VALIDATE CONTROLFILECOPY '<file_name>';
VALIDATE CONTROLFILECOPY LIKE '<string_pattern>';
RMAN> VALIDATE CONTROLFILECOPY ALL;
COPY OF
Validate all database, datafile, or tablespace copies VALIDATE COPY OF DATABASE;
VALIDATE COPY OF DATAFILE '<file_name>';
VALIDATE COPY OF DATAFILE <file_number>;
VALIDATE COPY OF TABLESPACE '<tablespace_name>';
RMAN> VALIDATE COPY OF TABLESPACE 'UWDATA';
CURRENT
Validate the current control file VALIDATE CURRENT CONTROLFILE;
RMAN> VALIDATE CURRENT CONTROLFILE;
DATABASE
Validate the complete database VALIDATE DATABASE;
RMAN> VALIDATE DATABASE;
DATAFILE
Validate the identified datafile or datafile blocks VALIDATE DATAFILE '<file_name>' [BLOCK <starting_block> TO <ending_block>];
VALIDATE DATAFILE <file_number> [BLOCK <starting_block> TO <ending_block>];;
RMAN> VALIDATE DATAFILE 'C:\ORACLE\PRODUCT\ORADATA\ORABASE\UWDATA01';
RMAN> VALIDATE DATAFILE 9;
RMAN> VALIDATE DATAFILE 7 BLOCK 4290 TO 5319;
DB_RECOVERY_FILE_DEST
Validate the recovery file destination VALIDATE DB_RECOVERY_FILE_DEST;
RMAN> VALIDATE DB_RECOVERY_FILE_DEST;
RECOVERY AREA
Validate the recovery area VALIDATE RECOVERY AREA
RMAN> VALIDATE RECOVERY AREA;
RECOVERY FILES
Validate backup recovery files VALIDATE RECOVERY FILES;
RMAN> VALIDATE RECOVERY FILES;
SPFILE
Validate spfile backup VALIDATE SPFILE;
RMAN> VALIDATE SPFILE;
TABLESPACE
Validate the named tablespace VALIDATE TABLESPACE <tablespace_name_list>;
RMAN> VALIDATE TABLESPACE uwdata;
 
RMAN Demos
Using a target database controlfile instead of recovery catalog

The following were provided to us by Andrea Sparling of the University of Washington
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
RMAN> CONFIGURE BACKUP OPTIMIZATION OFF; # default
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK
      TO '%F';
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO
      COMPRESSED BACKUPSET; # default
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> CONFIGURE MAXSETSIZE TO 2 G;
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO NONE;
RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO
      '/u01/app/oracle/product/10.1.0.3/dbs/snapcf_pnbdb.f';
Incremental Level 0 Backup RMAN> connect target /

RMAN> BACKUP INCREMENTAL LEVEL 0
      TAG full_backup
      FORMAT '/u03/backup/rman_fullbackup_%d_%t.%s.%c.%p.bus'
      DATABASE;

RMAN> COPY CURRENT CONTROLFILE TO '/u03/backup/ctrlfile.backup';
RMAN> CROSSCHECK BACKUP;
RMAN> CROSSCHECK ARCHIVELOG ALL;
RMAN> DELETE OBSOLETE;
RMAN> DELETE EXPIRED ARCHIVELOG ALL;
RMAN> LIST BACKUP;
RMAN> LIST ARCHIVELOG ALL;
Incremental #!/bin/sh
#####################################################
# script to take a rman full backup
# this script must be run
# as the trusted user 'oracle10g' 'oracle9i' etc
#####################################################
# create output logs with that number and the current date in the ./rman/logs directory age out in 14-30 days
# get env IMPORTANT, if multiple Oracle SID's the env var ORACLE_SID must be set

. /etc/bashrc
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0.3;
export ORACLE_SID=pnbdb;
export LD_LIBRARY_PATH=/u01/app/oracle/product/10.1.0.3/lib:/lib:/usr/lib;

# set relative head of directory (work disk is u03, oracle disk is u01)
HEAD=/u03
WORK=$HEAD/backup/scripts
cd $WORK

# unique logfile
DATE=`date +"%Y%m%d-%H%M%S"`
LOGFILE='/u03/backup/rman/logs/rman_full_backup_'${DATE}'.log'
echo "log: "${LOGFILE} > $LOGFILE
echo "Started " >> $LOGFILE
date >> $LOGFILE
echo instance $ORACLE_SID >> $LOGFILE
##########################################################################

${ORACLE_HOME}/bin/rman @${WORK}/rman_full.rcv >> $LOGFILE
returncode=$?
echo $returncode return code >> $LOGFILE
df >> $LOGFILE
echo "Ended " >> $LOGFILE
date >> $LOGFILE

if [ $returncode -ne 0 ]; then
  echo " email error log " >> $LOGFILE
  mail csds_opb@u.washington.edu -s"RMAN ERROR LOG for parnassus pnbdb backup" < $LOGFILE
  mail amspar@u.washington.edu -s"RMAN ERROR LOG for parnassus pnbdb backup" < $LOGFILE
fi
exit
Repair a down database without an RMAN catalog

This script published by Oracle in a nearly unreadable form
-- in a terminal window
# cd $ORACLE_BASE/product/oradata/orabase

# ./dra1_setup.sh

rm users01.dbf
rm example01.dbf

SQL> shutdown

SQL> startup;

rman target /nocatalog

-- list failures
RMAN> list failure;
-- list failure details
RMAN> list failure detail;
-- diagnose the failure
RMAN> advise failure;
-- view the repair script
RMAN> repair failure preview;
-- repair the error
RMAN> repair failure;
-- when asked "do you want to open the database answer "Yes"
RMAN> exit;
 
RAC Demo
Crosschecking on Multiple Nodes of an Oracle Real Application Clusters Configuration: Example In this example, you perform a crosscheck of backups on two nodes of an Oracle Real Application Clusters configuration, where each node has access to a subset of backups. It is assumed here that all backups are accessible by at least one of the two nodes used in the crosscheck. Any backups not accessible from at least one of the nodes are marked EXPIRED after the crosscheck.
RMAN on a RAC Cluster ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT 'sys/oracle1@inst1';
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT 'sys/oracle1@inst2';
CROSSCHECK BACKUP;
 
RMAN Related Queries
A review of this workflow should provide you examples of actual work done to recover a database SELECT recovery_estimated_ios, actual_redo_blks, target_redo_blks, target_mttr, estimated_mttr
FROM gv$instance_recovery;

SELECT * FROM v$recovery_file_dest;

select count(*) from dba_hist_instance_recovery;

cd /app/oracle/product/oradata/orabase

ls -la

cd /app/oracle/product/diag/rdbms/orabase/orabase/trace

tail alert_orabase.log

rm control02.ctl

ls -la

SQL> conn hr/hr (after unlocking account)
SQL> desc jobs
SQL> INSERT INTO jobs VALUES (987,'TEST',0,1);
SQL> COMMIT;
-- also build a dummy table

tail alert_orabase.log
-- no one knows anything bad has happened

SQL> select file_name from mgmt$db_controlfiles;

-- lets do a shutdown and restart
SQL> shutdown immediate;

SQL> conn / as sysdba
Connected.
SQL> shutdown immediate;
ORA-00210: cannot open the specified control file
ORA-00202: control file:
'/app/oracle/product/oradata/orabase/control02.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
-- now we have a problem

SQL> shutdown abort;

tail the alert log and we know what happened

RUN {
  STARTUP FORCE NOMOUNT;
  RESTORE CONTROLFILE;
  ALTER DATABASE MOUNT;
  RESTORE DATABASE;
  RECOVER DATABASE;
}

alter database open resetlogs;

ls -la shows control files back

rman done

-- hadn't done a backup after last restore
RMAN> run {startup force nomount; restore controlfile;
alter database mount;}

tail the alert log

-- look at /app/oracle/oradata/orabase

-- the file is restored
ls -la

conn / as sysdba
shutdown immediate;
startup

-- note error message
SQL> startup
ORACLE instance started.

Total System Global Area 440401920 bytes
Fixed Size 1219880 bytes
Variable Size 130024152 bytes
Database Buffers 306184192 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option
for database open

SQL> startup mount;

tail alert_orabase.log

-- next dumped controlfiles 1 and 3
shutdown immediate fails
shutdown abort
connect to RMAN
Determine if a corrupt block belongs to an object SELECT owner, segment_name, segment_type
FROM dba_extents
WHERE file_id = <absolute_file_id>
AND <corrupted_block_number> BETWEEN block_id AND block_id+blocks-1;
SELECT owner, segment_name, segment_type
FROM dba_extents
WHERE file_id = 2
AND 78104 BETWEEN block_id AND block_id+blocks-1;
Determine if a corrupt block belongs to free space SELECT *
FROM dba_free_space
WHERE file_id = <absolute_file_id>
AND <corrupted_block_number> BETWEEN block_id AND block_idblocks-1>;
SELECT *
FROM dba_free_space
WHERE file_id = 1
AND 101258 BETWEEN block_id AND block_id+blocks-1;
 
Backup and Recovery Practices Best Practices
Metalink Note: 388422.1 1. Turn on block checking
REASON: The aim is to detect, very early the presence of corrupt blocks in the database. This has a slight performance overhead, but Checksums allow Oracle to detect early corruption caused by underlying disk, storage system, or I/O system problems.

SQL> alter system set db_block_checking = true scope=both;

2. Turn on block tracking when using RMAN backups (if running 10g or above)
REASON: This will allow RMAN to backup only those blocks that have changed since the last full backup, which will reduce the time taken to back up, as less blocks will be backed up.

SQL> alter database enable block change tracking using file '/u01/oradata/ora1/change_tracking.f';

3. Duplex log groups and members and have more than one archive log dest
REASON: If an archivelog is corrupted or lost, by having multiple copies in multiple locations, the other logs will still be available and could be used.

If an online log is deleted or becomes corrupt, you will have another member that can be used to recover if required.

SQL> alter system set log_archive_dest_2='location=/new/location/archive2' scope=both;
SQL> alter database add logfile member '/new/location/redo21.log' to group 1;


4. When backing up the database use the 'check logical' parameter
REASON: This will cause RMAN to check for logical corruption within a block as well as the normal head/tail check-summing. This is the best way to ensure that you will get a good backup.

RMAN> backup check logical database plus archivelog delete input;

5. Test your backup
REASON: This will do everything except actually restore the database. This is the best method to determine if your backup is good and usable before being in a situation where it is critical and issues exist.

RMAN> restore validate database;

6. Have each datafile in a single backup piece
REASON: When doing a partial restore RMAN must read through the entire piece to get the datafile/archivelog requested. The smaller the backup piece the quicker the restore can complete. This is especially relevant with tape backups of large databases or where the
restore is only on individual / few files.

RMAN> backup database filesperset 1 plus archivelog delete input;

7. Maintain your RMAN catalog/controlfile
REASON: Choose your retention policy carefully. Make sure that it compliments your tape subsystem retention policy, requirements for backup recovery strategy. If not using a catalog, ensure that your controlfile record keep time instance parameter matches your retention policy.

SQL> alter system set control_file_record_keep_time=21 scope=both;

This will keep 21 days of backup records.

Run regular catalog maintenance.
REASON: Delete obsolete will remove backups that are outside your retention policy. If obsolete backups are not deleted, the catalog will continue to grow until performance becomes an issue.

RMAN> delete obsolete;

REASON: crosschecking will check that the catalog/controlfile matches the physical backups. If a backup is missing, it will set the piece to 'EXPIRED' so when a restore is started, that it will not be eligible, and an earlier backup will be used. To remove the expired backups from the catalog/controlfile use the delete expired command.

RMAN> crosscheck backup;
RMAN> delete expired backup;


8. Prepare for loss of controlfiles set autobackup on
REASON: This will ensure that you always have an up to date controlfile available that has been taken at the end of the current backup not during.

RMAN> configure controlfile autobackup on;

keep your backup logs
REASON: The backup log contains parameters for your tape access, locations on controlfile backups that can be utilised if complete loss occurs.

9. Test your recovery
REASON: During a recovery situation this will let you know how the recovery will go without actually doing it, and can avoid having to restore source datafiles again.

SQL> recover database test;

10. Do not specify 'delete all input' when backing up archivelogs
REASON: Delete all input' will backup from one destination then delete both copies of the archivelog where as 'delete input' will backup from one location and then delete what has been backed up. The next backup will back up those from location 2 as well as new logs from location 1, then delete all that are backed up. This means that you will have the archivelogs since the last backup available on disk in location 2 (as well as backed up once) and two copies backup up prior to the previous backup.
 
 
Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2014 Daniel A. Morgan All Rights Reserved