rman_comm
TRANSCRIPT
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 1/13
RMAN> LIST BACKUP;RMAN> LIST BACKUP OF DATABASE;RMAN> LIST BACKUP SUMMARY;RMAN> LIST INCARNATION;RMAN> LIST BACKUP BY FILE;
RMAN> LIST COPY OF DATABASE ARCHIVELOG ALL;RMAN> LIST COPY OF DATAFILE 1, 2, 3;RMAN> LIST BACKUP OF DATAFILE 11 SUMMARY;RMAN> LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 1437;RMAN> LIST CONTROLFILECOPY "/tmp/cntrlfile.copy";RMAN> LIST BACKUPSET OF DATAFILE 1;
RMAN> CROSSCHECK BACKUP;RMAN> CROSSCHECK COPY;RMAN> CROSSCHECK backup of database;RMAN> CROSSCHECK backup of controlfile;RMAN> CROSSCHECK archivelog all;
Restore and recover the whole Database:
RMAN> STARTUP FORCE MOUNT;RMAN> RESTORE DATABASE;RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;
Restore and recover a Tablespace:
RMAN> SQL 'ALTER TABLESPACE users OFFLINE';RMAN> RESTORE TABLESPACE users;RMAN> RECOVER TABLESPACE users;RMAN> SQL 'ALTER TABLESPACE users ONLINE';
Restore and recover a Datafile:
RMAN> SQL 'ALTER DATABASE DATAFILE 64 OFFLINE';RMAN> RESTORE DATAFILE 64;RMAN> RECOVER DATAFILE 64;RMAN> SQL 'ALTER DATABASE DATAFILE 64 ONLINE';
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 2/13
Restore the Control file, (to all locations specified in the
parameter file) then restore the database, using that control file:
STARTUP NOMOUNT;
RUN{ALLOCATE CHANNEL c1 DEVICE TYPE sbt;RESTORE CONTROLFILE;ALTER DATABASE MOUNT;RESTORE DATABASE;}
Restore Validation confirms that a restore could be run, by
confirming that all database files exist and are free of physicaland logical corruption, this does not generate any output.
Example:
RMAN> RESTORE DATABASE VALIDATE;
There are many ways to restore a database using an RMAN
backup - this example assumes you are performing a Disaster-
Recovery restore of all data and recovering the entire database
with the same SID and the same disk/tablespace layout.
You will need the following information:
Database SID: ________
Database SYS password: ________
Disk layout and sizes: ________
Database ID (DBID): ________
There are 5 steps to recover the database:
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 3/13
1) Create a new (empty) database instance
2) Mount the instance
3) Restore the datafiles
4) Recover the database
5) Reset the logs
1) Create a new (empty) database instance
Configure the new server with same disk layout as the original
database - if neccecary use Symbolic Links (or in Windows use
disk manager to re-assign drive letters.)
Ensure you have enough disk space for both the backup files
plus the restored database files.
Create a new database with the database configuration assistant
(DBCA) and set the SYS password and
global database_name to the same as the original database.
If the database to be restored is in archive log mode, set
the LOG_ARCHIVE_FORMAT parameter to match the setting in
the original database.
The ORAPWD utility can also be used to change the SYS
password.
2) Mount the empty instance
SQL> Shutdown immediate;SQL> Startup mount;
or specifying the pfile explicitly:
SQL> CREATEPFILE='C:\oracle\Database\initLive.ora' FROMSPFILE;SQL> Shutdown immediate;
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 4/13
SQL> Startup mountpfile=C:\oracle\Database\initLive.ora
3) Restore the datafiles
In this case we have copied the RMAN backup files and archive
logs to R:\Rman\
Change the dbid to match that of the database being restored
RMAN> SET dbid = 477771234;
RMAN> run {ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT
'R:\Rman\%U';restore database;}
At this point the datafiles and tablespaces will be re-created. For
a large database it can take a long time to restore each
tablespace - for better performance during a restore place the
RMAN backup files on a separate disk to the Oracle datafiles to
reduce disk contention.
4) Recover the database
SQL> Recover from 'L:\oradata\live' databaseuntil cancel using backup controlfile;SQL> cancel
5) Reset the logs
SQL> alter database open resetlogs;
This will update all current datafiles and online redo logs and all
subsequent archived redo logs with a new RESETLOGS SCN
and time stamp.
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 5/13
As soon as you have done a resetlogs run a full backup, this is
important as should you suffer a second failure you will not be
able to perform a second recovery because after resetting the
logs the SCN numbers will no longer match any older backup
files.
Notes:
The DBID can be retrieved in several places, if the database is
running: Select dbid from V$DATABASE;
The RMAN client displays the dbid at startup when connecting to
a database:
Copyright (c) 1995, 2003, Oracle. All rights reserved.
connected to target database: RDBMS (DBID=7776644123)
There are many ways to restore a database using an RMAN
backup - this example assumes you are running RMAN without a
Catalog and are performing a Restore & Point-In-Time Recovery
of all data back to a particular date/time in the past.
If you are running in Archive log mode and recover without
specifying a date/time then RMAN will apply all Archived logs it
can find, ofter recovering the database right back to the time
when you started the restore operation!
If you are running in Archive log mode (and you should be),
point-in time is probably the most common recovery scenario.
You will need the following information:
Database SID: ________
Database SYS password: ________
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 6/13
The Date and Time to restore to : ________
There are 5 steps to recover the database:
1) Restore backup files from tape2) Mount the instance
3) Restore the datafiles
4) Recover the database
5) Reset the logs
Restore backup files from tape
If you are looking to restore the database to a time of (say 09:00)
you will need the most recent RMAN backup files prior to thedate (say 23:00 from the previous day) plus all the archive logs
from the backup time until the restore time, in this case from
23:00 until 09:00.
If any of these files have been moved (e.g. archived to tape)
restore them to the default locations on the oracle database
server.
Mount the instance
C:\> Set ORACLE_SID=LiveC:\> rman TARGET SYS/Password NOCATALOG
RMAN:> shutdown immediate;RMAN:> startup mount;
Restore and recover the datafiles
RMAN> run{allocate channel dev1 type disk;set until time "to_date('2010-30-12:00:00:00','yyyy-dd-mm:hh24:mi:ss')";
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 7/13
restore database;recover database; }
For a large database it can take a long time to restore each
tablespace - for better performance during a restore place theRMAN backup files on a separate disk to the Oracle datafiles to
reduce disk contention.
Open the database and reset logs
RMAN> alter database open resetlogs;
This will update all current datafiles and online redo logs and all
subsequent archived redo logs with a new RESETLOGS SCNand time stamp.
As soon as you have done a resetlogs run a full backup, this is
important as should you suffer a second failure you will not be
able to perform a second recovery because after resetting the
logs the SCN numbers will no longer match any older backup
files.
Example
Change an ordinary backup into a long-term backup:
CHANGE BACKUPSET 431 KEEP FOREVER NOLOGS;
Examples
Show all configurable settings:
RMAN>SHOW ALL;
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 8/13
Write disk backups to the /tmp directory:
(%U will be replaced with unique filenames)
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK
FORMAT '/tmp/%U';
Backup using a flash recovery area rather than disk
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISKFORMAT CLEAR;
Configure RMAN to back up the control file after each backup
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
By default, RMAN automatically names control file backups and
stores them in the flash recovery area.
To configure RMAN to write control file backups to
the /cfilebackups directory:
( %F will generate a unique filename)
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMATFOR DEVICE TYPE DISK TO
'/cfilebackups/cf%F';
Ensure that RMAN retains all backups needed to recover the
database to any point in time in the last 7 days:
RMAN> CONFIGURE RETENTION POLICY TO RECOVERYWINDOW OF 7 DAYS;
Retain three backups of each datafile:
RMAN> CONFIGURE RETENTION POLICY TOREDUNDANCY 3;
Delete backups no longer required by the retention policy:
RMAN> DELETE OBSOLETE
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 9/13
To override the configured retention policy for individual backups
- use BACKUP.. KEEP (or CHANGE.. KEEP)
Configure backups to run in parallel by assigning
two sbt channels:
RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 2;
Reset any CONFIGURE setting to its default by running the command
with the CLEAR option
RMAN> CONFIGURE CHANNEL DEVICE TYPE sbtCLEAR;
RMAN> CONFIGURE RETENTION POLICY CLEAR;
Unique filenames are:
DBID, day, month, year, and sequence number.
SHOW{ RETENTION POLICY| [DEFAULT] DEVICE TYPE
| [AUXILIARY] CHANNEL [FOR DEVICE TYPEdeviceSpecifier]
| MAXSETSIZE| { DATAFILE | ARCHIVELOG } BACKUP COPIES| BACKUP OPTIMIZATION| SNAPSHOT CONTROLFILE NAME| AUXNAME| EXCLUDE| CONTROLFILE AUTOBACKUP [FORMAT]
| ALL};
Examples
SHOW RETENTION POLICY;SHOW DEVICE TYPE;SHOW DEFAULT DEVICE TYPE;
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 10/13
SHOW CHANNEL;SHOW MAXSETSIZE;
SHOW ALL;
Syntax:
RUN {...
}
Example
RUN{ALLOCATE CHANNEL dev1 DEVICE TYPE DISK FORMAT
'/fs1/%U';ALLOCATE CHANNEL dev2 DEVICE TYPE DISK FORMAT
'/fs2/%U';BACKUP(TABLESPACE system,finance,marketing
FILESPERSET 20)(DATAFILE 62,63,64);
}
Examples
Restore and recover the whole databaseRMAN> STARTUP FORCE MOUNT;RMAN> RESTORE DATABASE;RMAN> RECOVER DATABASE;RMAN> ALTER DATABASE OPEN;
Restore and recover a tablespaceRMAN> SQL 'ALTER TABLESPACE users OFFLINE';RMAN> RESTORE TABLESPACE users;RMAN> RECOVER TABLESPACE users;
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 11/13
RMAN> SQL 'ALTER TABLESPACE users ONLINE';
Restore and recover a datafileRMAN> SQL 'ALTER DATABASE DATAFILE 64 OFFLINE';
RMAN> RESTORE DATAFILE 64;RMAN> RECOVER DATAFILE 64;RMAN> SQL 'ALTER DATABASE DATAFILE 64 ONLINE';
Steps for media recovery:
1. Mount or open the database.
Mount the database when performing whole database recovery,
or open the database when performing online tablespace
recovery.2. To perform incomplete recovery, use the SET UNTIL
command to specify the time, SCN, or log sequence number at
which recovery terminates. Alternatively, specify the UNTIL
clause on the RESTORE and RECOVER commands.
3. Restore the necessary files with the RESTORE command.
4. Recover the datafiles with the RECOVER command.
5. Place the database in its normal state. For example, open it or
bring recovered tablespaces online.
Syntax:
BACKUP FULL OptionsBACKUP FULL AS (COPY | BACKUPSET) OptionsBACKUP INCREMENTAL LEVEL [=] integer OptionsBACKUP INCREMENTAL LEVEL [=] integer AS
(COPY | BACKUPSET) OptionsBACKUP AS (COPY | BACKUPSET) OptionsBACKUP AS (COPY | BACKUPSET) (FULL |
INCREMENTAL LEVEL [=] integer ) Options
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 12/13
Examples
Back up the database, and then the control file:(which contains a record of the backup)
RMAN> BACKUP DATABASE;RMAN> BACKUP CURRENT CONTROLFILE;
Backup datafiles:RMAN> BACKUP AS BACKUPSET DATAFILE
'ORACLE_HOME /oradata/trgt/users01.dbf','ORACLE_HOME /oradata/trgt/tools01.dbf';
Backup all datafiles in the database:
(bit-for-bit copies, created on disk)RMAN> BACKUP AS COPY DATABASE;
Backup archive logs:RMAN> BACKUP ARCHIVELOG COMPLETION TIME
BETWEEN 'SYSDATE-28' AND 'SYSDATE-7';
Backup tablespace:RMAN> BACKUP TABLESPACE system, users, tools;
Backup controlfile:RMAN> BACKUP CURRENT CONTROLFILE TO
'/backup/cntrlfile.copy';
Backup parameter file:RMAN> BACKUP SPFILE;
Backup everything:
RMAN> BACKUP BACKUPSET ALL;
Create a consistent backup and keep the backupfor 1 year:(exempt from the retention policy)RMAN> SHUTDOWN;RMAN> STARTUP MOUNT;
8/7/2019 rman_comm
http://slidepdf.com/reader/full/rmancomm 13/13
RMAN> BACKUP DATABASE UNTIL 'SYSDATE+365'NOLOGS;
Backup Validation confirms that a backup could be run, by
confirming that all database files exist and are free of physicaland logical corruption, this does not generate any output.
Example:
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;