2.6 BACKUP
Purpose
Use the BACKUP
command to back up a primary or standby
database, the root, one or more pluggable databases (PDBs), tablespace, data file (current
or copy), control file (current or copy), server parameter file, archived redo log file, or
backup set.
Additional Topics
Prerequisites
RMAN must be connected to a target database. See the CONNECT
and RMAN
commands to learn how to connect to a database as TARGET
.
Database Archiving Modes
If the target database is in ARCHIVELOG
mode, then the database must
be mounted or open with a current control file. Backups made while the database is open are
inconsistent. You must apply redo log files after restoring an inconsistent backup to make
the database consistent.
If the target database is in NOARCHIVELOG
mode, then the database must be mounted after a consistent shutdown when you make the backup. The shutdown is only consistent if you successfully execute the SHUTDOWN
command with the NORMAL
, IMMEDIATE
, or TRANSACTIONAL
options. You cannot use RMAN to back up a NOARCHIVELOG
database after an instance failure or SHUTDOWN ABORT
.
Encrypted Backups
To create encrypted backups using a password-based software keystore, you must have the
SYSBACKUP
and SYSKM
privileges. The SYSKM privilege is
required to .
Backing Up Data for Cross-Platform Transport
To create backup sets that transport data to another platform, the COMPATIBLE
parameter in the target database must be 12.0.0 or higher.
To back up the entire database for cross-platform transport, the source and destination platform must use the same endian format. The source database must be open in read-only mode.
While backing up tablespaces for cross-platform transport, if the ALLOW INCONSISTENT
clause is not used, the tablespaces must be in read-only mode.
Preplugin Backups
-
The
COMPATIBLE
initialization parameter must be set to 18.0.0 or higher on both the source and destination CDB. -
The source database must be in
ARCHIVELOG
mode. -
The source database must be in read-write mode.
-
The backup location containing the preplugin backups must be accessible to the destination database.
Backup Media
RMAN can only back up files onto valid media. If you specify DEVICE TYPE DISK
, then RMAN makes backups to random access disks. You can make a backup on any device that can store a data file. If the statement CREATE TABLESPACE
tablespace_name
DATAFILE
'
filename
'
works, then '
filename
'
is a valid backup path name. If you specify DEVICE TYPE sbt
, then you can back up files to any media supported by the media manager.
When backing up Oracle Database files to disk, the logical block size of the files
must be an even multiple of the physical block size of the destination device. For example,
a disk device with a block size of 2 KB can only be used as a destination for backups of
Oracle files with logical block sizes of 2 KB, 4 KB, 6 KB and so on. In practice, most disk
drives have physical block sizes of 512 bytes, so this limitation rarely affects backup.
However, you can encounter this limitation when using BACKUP ... DEVICE TYPE
DISK
to back your database up to a writeable CD or DVD, or some other device that
has a larger physical block size.
Channels
If no automatic channel is configured for the specified device type, then you must
manually allocate a channel for each BACKUP
execution. If no manual channel
is allocated, then RMAN uses the default channels set with the CONFIGURE
command. RMAN has a DISK
channel preconfigured but no preconfigured
sbt
channels.
Note:
Backups that use the disk test API are not supported for production backups. Instead, use the preconfigured DISK
channel or manually allocate a DISK
channel.
Usage Notes
RMAN can only back up data files, control files, server parameter files, archived
redo log files, and RMAN backups of these files. RMAN cannot make backups of other
database-related files such as network configuration files, password files, the block change
tracking file, and the contents of the Oracle home directory. Likewise, some features of
Oracle Database, such as external tables or the BFILE
data type, store data
in files other than those in the preceding list. RMAN cannot back up these files.
RMAN decomposes a BACKUP
command into multiple independent backup
steps. RMAN can execute each independent step on any channel allocated for a specific
device. If multiple channels are allocated, and if one channel fails or encounters a problem
during a backup step, then RMAN attempts to complete the work on another channel. RMAN
reports a message in V$RMAN_OUTPUT
and in the output to the interactive
session or log file when channel failover occurs.
RMAN backups made on one platform can be transported to a different platform only if
you use either the FOR TRANSPORT
or TO PLATFORM
clause
while creating the backup.
RMAN backups made in a previous release of Oracle Database are usable after a database migration or upgrade. See My Oracle Support Note 790559.1 at https://support.oracle.com/rs?type=doc&id=790559.1
for information about this procedure.
If you change the DB_NAME
for a database, but not its DBID, then
RMAN considers backups made of the database with the previous DB_NAME
as
eligible to be restored.
Incremental Backups
An INCREMENTAL
backup at level 0 backs up all data blocks in data
files being backed up. An incremental backup at level 0 is identical in content to a
FULL
backup, but unlike a full backup the level 0
backup is a part of the incremental backup strategy.
A level 1 backup copies only changed blocks. A level 1 incremental backup is either differential or CUMULATIVE
. If cumulative, RMAN backs up all blocks changed since the most recent level 0 backup. If differential, RMAN backs up blocks updated since the most recent level 0 or level 1 incremental backup. You can apply a level 1 backup of a standby database to a level 0 backup of a primary database, and also apply a level 1 backup of a primary database to a level 0 backup of a standby database.
Incremental backups at level 0 can be either backup sets or image copies, but incremental backups at level 1 can only be backup sets.
The database performs checks when attempting to create a level 1 incremental backup
to ensure that the incremental backup is usable by a subsequent RECOVER
command. Among the checks performed are:
-
A level 0 backup must exist for each data file in the
BACKUP
command as the base backup for an incremental strategy. Level 0 backups must not have statusUNAVAILABLE
. If no level 0 backup exists, then RMAN makes a level 0 backup automatically. -
Sufficient incremental backups taken since level 0 must exist and be available such that the incremental backup to be created is usable.
Note:
When creating an incremental backup, RMAN considers backups from parent incarnations as valid. For example, assume you make a level 0 backup and then OPEN RESETLOGS
. If you make a level 1 incremental backup, then RMAN backs up all blocks changed since the pre-RESETLOGS
level 0 backup. When making a level 1 backup, RMAN only makes a new level 0 backup if no level 0 is available in either the current or parent database incarnation.
You can improve incremental backup performance by enabling block change tracking on a primary or standby database. In this case, RMAN keeps a record of which blocks have changed in the block change tracking file.
The change tracking file maintains bitmaps that mark changes in the data files between backups. The database performs a bitmap switch before each backup. Oracle Database automatically manages space in the change tracking file to retain block change data that covers the 8 most recent backups. After the maximum of 8 bitmaps is reached, the most recent bitmap is overwritten by the bitmap that tracks the current changes.
The first level 0 incremental backup scans the entire data file. Subsequent incremental backups use the block change tracking file to scan only the blocks that have been marked as changed since the last backup. An incremental backup can be optimized only when it is based on a parent backup that was made after the start of the oldest bitmap in the block change tracking file.
Consider the 8-bitmap limit when developing your incremental backup strategy. For example, if you make a level 0 database backup followed by 7 differential incremental backups, then the block change tracking file now includes 8 bitmaps. If you then make a cumulative level 1 incremental backup, RMAN cannot optimize the backup because the bitmap corresponding to the parent level 0 backup is overwritten with the bitmap that tracks the current changes.
See Also:
Oracle Database Backup and Recovery User's Guide for details about block change tracking
Backups of Sparse Databases
RMAN enables you to back up sparse databases. This could include backing up a sparse data file, a tablespace containing some sparse data files, a PDB containing some sparse data files, and a CDB containing some sparse PDBs in the backup set or image copy format. A sparse backup is an RMAN object that contains data blocks of sparse data files from their dedicated delta storage space. To perform a sparse backup, the COMPATIBLE
initialization parameter for the sparse database must be 12. 2 or higher.
While performing a sparse backup, RMAN, by default, backs up data blocks of sparse data files from their delta storage space during a backup. It does not back up the logical data blocks from the backing data files. The backing data files in a sparse database environment must be read-only.
If you want to perform a traditional full or incremental backup on a sparse database to back up both, local and remote data blocks, then you can choose to run the backup with the FROM NONSPARSE
option.
For databases with the COMPATIBLE
initialization parameter less than 12.2, RMAN continues to perform the traditional backup and recovery operation for sparse databases in the non-sparse mode.
Encryption of Backup Sets
RMAN can transparently encrypt data written to backup sets and decrypt those backup
sets when they are needed in a RESTORE
operation. To create encrypted
backups on disk, the database must use the Advanced Security Option. To create encrypted
backups directly on tape, RMAN must use the Oracle Secure Backup SBT interface, but does not
require the Advanced Security Option. RMAN issues an ORA-19916
error if you attempt to
create encrypted RMAN backups using an SBT library other than Oracle Secure Backup.
RMAN can encrypt backups by using several different encryption algorithms, which are
listed in V$RMAN_ENCRYPTION_ALGORITHMS
. RMAN supports three modes of
encryption for backups:
-
Transparent encryption, in which RMAN can create and restore encrypted backups with no special DBA intervention if the data is already protected with Transparent Data Encryption (TDE) in the Oracle Database
-
Password-based encryption, where a password is specified during the backup, and the same password must be supplied to restore the backup
-
Dual-mode encryption, where backups can be created using either transparent encryption or password-based encryption, and where decryption can be performed based upon either the Oracle software keystore, or a password the DBA supplies at decryption time
Note:
Keystore-based encryption is more secure than password-based encryption because no passwords are involved. Use password-based encryption only when absolutely necessary because your backups must be transportable.
The CONFIGURE
and SET
commands manage the
encryption settings for database backups. See the reference entries for those commands for
more details. Backup sets containing archived redo log files are encrypted if any of the
following is true:
-
SET ENCRYPTION ON
is in effect when the backup is being created. -
Encryption is configured for the whole database or at least one tablespace.
See Also:
-
Oracle Database Backup and Recovery User’s Guide for an overview of the backup encryption, a guide to its use, and information on choosing among different modes of encryption
-
Oracle Database Advanced Security Guide to learn about TDE tablespace encryption and Oracle software keystores
Backing Up Standby Databases
The RMAN BACKUP
command backs up the standby database exactly the same as a primary database, except that the backup takes place on the standby site. The primary database has no influence on the backup of the standby database.
When you connect to the standby database to perform the backup, use the TARGET
keyword and not the AUXILIARY
keyword.
The state of the standby database when the backup is made determines whether the backup is consistent or inconsistent. To make a consistent backup, the standby database must shutdown cleanly and be mounted, but not placed in recovery mode. Any other status results in an inconsistent backup and must be restored using media recovery.
RMAN Backups in a Data Guard Environment
A recovery catalog is required when you are performing RMAN operations in a Data
Guard environment. The catalog enables all RMAN operations to be transparently executable at
any primary or standby database. You can offload primary database backups onto any standby
database in the environment; the RMAN backups are interchangeable. If you use RMAN in
NOCATALOG
mode, then RMAN uses only the metadata in the mounted control
file.
In a Data Guard environment, the database that creates a backup or copy is
associated with the file. For example, if RMAN connects as TARGET
to
database prod
and backs it up, then this database backup is associated with
prod
. A backup remains associated with the database that created in
unless you use the CHANGE ... RESET DB_UNIQUE_NAME
to associate the backup
with a different database.
The association of a backup is different from its accessibility. The recovery
catalog considers disk backups as accessible only to the database in the Data Guard
environment on which it was created, whereas tape backups created on one database are
considered accessible to all databases. If a backup file is not associated with any
database, then the row describing it in the recovery catalog view shows
null
for the SITE_KEY
column. By default, RMAN
associates files whose SITE_KEY
is null
with the database
to which RMAN is connected as TARGET
.
In a Data Guard environment, RMAN commands can operate on any backups that are accessible. For example, assume that databases prod
and standby1
reside on different hosts. RMAN backs up data file 1 on prod
to /prodhst/disk1/df1.dbf
on the production host and also to tape. RMAN backs up data file 1 on standby1
to /sby1hst/disk2/df1.dbf
on the standby host and also to tape. If RMAN is connected to database prod
as TARGET
, then you cannot use RMAN to perform operations with the /sby1hst/disk2/df1.dbf
backup located on the standby host. However, RMAN considers the tape backup made on standby1
as eligible to be restored.
Note:
You can FTP a backup from a standby host to a primary host or vice versa and then
CATALOG
it. After a file is cataloged by the target database, the file
is associated with the target database.
If backups are accessible to RMAN, you can use RMAN maintenance commands such as
CHANGE
, CROSSCHECK
, and DELETE
for
backups when connected to any primary or standby database.
See Also:
Oracle Data Guard Concepts and Administration to learn how to use RMAN to back up and restore files in a Data Guard environment
Backing Up Data for Cross-Platform Transport
The BACKUP
command can create backup sets that are used to transport an entire database, data files, or tablespaces from one platform to another. To create cross-platform backups, use either the FOR TRANSPORT
or TO PLATFORM
clause in the BACKUP
command. The V$TRANSPORT_TABLESPACE
view contains the list of platforms supported for cross-platform transport
See Also:
Oracle Database Backup and Recovery User's Guide for information about how to create backup sets for cross-platform data transportation
List of Clauses Incompatible with TO PLATFORM and FOR TRANSPORT
You can use the BACKUP
command to create backup sets for cross-platform data transportation. To indicate that a backup is for cross-platform transportation, use either the FOR TRANSPORT
or TO PLATFORM
clauses.
When you use either the FOR TRANSPORT
or TO PLATFORM
clause, you cannot use the following clauses of the BACKUP
command:
-
CUMULATIVE
-
forRecoveryOfSpec
-
keepOption
-
notBackedUpSpec
-
PROXY
-
TAG
-
VALIDATE
Syntax
backup::=
(backupOperand::=, backupSpec::=, backupSpecOperand::=)
backupOperand::=
(backupTypeSpec::=, deviceSpecifier::=, fileNameConversionSpec::=, formatSpec::=, toDestSpec::=, forRecoveryOfSpec::=, keepOption::=, notBackedUpSpec::=, sizeSpec::=, skipSpec::=)
backupSpec::=
(archivelogRecordSpecifier::=, completedTimeSpec::=, copyOfSpec::=, datafileCopySpec::=, datafileSpec::=, backupSpecOperand::=)
backupSpecOperand::=
(formatSpec::=, toDestSpec::= keepOption::=, notBackedUpSpec::=, sizeSpec::=, skipSpec::=)
backupTypeSpec::=
Semantics
This clause specifies the objects to be backed up and the options to control the backup. Refer to backupOperand::= for the syntax diagram.
Syntax Element | Description |
---|---|
Specifies various options for the |
|
Specifies one or more objects to be backed up. Each |
|
|
Includes archived redo log files in the backup (see Example 2-13). Causes RMAN to perform the following steps:
In a CDB, you can backup archived redo logs
only when you connect to the root as a common user with the
Note: You cannot specify Note: Unless the online redo log is archived at the end of the backup, Note: This clause cannot be used with the |
Specifies a variety of options and parameters that affect the |
backupOperand
This subclause specifies options such as the device type and output format. Refer to backupOperand::= for the syntax diagram.
Syntax Element | Description |
---|---|
Specifies the type of backup being created, either backup sets ( See Also: |
|
|
Specifies the case-sensitive name of a channel to use when creating backups. Use any meaningful name, for example As shown in Example 2-23, you can use Note: You can also specify this parameter in the |
|
Tests data and index blocks that pass physical corruption checks for logical corruption (see Example 2-25). This option typically adds 1-3% overhead. Examples of logical corruption are corruption of a row piece or index entry. If RMAN finds logical corruption, then it logs the block in the alert log and server session trace file. The By default, the If |
|
Creates consistent backupsets of the specified database or PDB. A single consistent backup is sufficient to restore a database or a PDB to a consistent state. Note: This clause cannot be used with the |
|
Sets the number of identical backups ( You can use multiple format strings to specify different names and locations for the copies. Example 2-22 illustrates a duplexed backup to different locations on disk. RMAN can duplex backups to either disk or tape, but cannot duplex backups to tape and disk simultaneously. When backing up to tape, ensure that the number of copies does not exceed the number of available tape devices. Also, if You can specify duplexing in multiple commands. The order of precedence is as follows, with settings higher on the list overriding lower settings: Note: This option does not apply with Note: Duplexing cannot be used when creating files in the fast recovery area. |
|
Copies the data blocks used since the most recent level 0 backup (see Example 2-16). Note: This option does not apply with |
|
Allocates automatic channels for the specified device type only. For example, if you configure disk and tape channels, then configure BACKUP DEVICE TYPE DISK DATABASE; The Note: To specify a disk channel for the See Also: |
|
Directs RMAN to populate each backup set with data files from at least integer disks. This parameter is only enabled when you are backing up data files or control files, and when the operating system can give RMAN disk contention and node affinity data. To manually disable this feature, set For example, assume that data files are distributed across 10 disks. If the disks supply data at 10 bytes/second, and if the tape drive requires 50 bytes/second to keep streaming, then set If you set The
Note: Do not spread I/O over more than the minimum number of disks required to keep the tape streaming. Otherwise, you increase restore time for a file without increasing performance. |
Specifies options related to the maximum time for a backup command to run. See Also: |
|
This option is valid only when See Also: |
|
|
Specifies the maximum number of input files to include in each output backup set. This parameter is only relevant when RMAN backs up the files in each The RMAN behavior is illustrated by the following BACKUP AS BACKUPSET (DATAFILE 3, 4, 5, 6, 7) (DATAFILE 8, 9); BACKUP AS BACKUPSET DATAFILE 3, 4, 5, 6, 7, 8, 9; BACKUP AS BACKUPSET DATAFILE 3, ... 72; In the first command, RMAN places data files 3, 4, 5, 6, and 7 into one backup set and data files 8 and 9 into another backup set. In the second command, RMAN places all data files into one backup set. In the third command, the ellipses indicate data files 3 through 72. Because in this case RMAN is backing up 70 data files, RMAN places 64 files in one backup set and 6 in another. By default, RMAN divides files among backup sets to make optimal use of channel resources. The number of files to be backed up is divided by the number of channels. If the result is less than 64, then this number is the Note: You cannot specify the number of backup pieces that are in a backup set. |
|
Forces RMAN to ignore backup optimization. That is, even if Note: You can also specify this option in the The command |
|
Copies the files on the target database to the specified location on the auxiliary instance. RMAN can only generate image copies when You can use the See Also: Example 2-30 |
Specifies a pattern for naming the output image copies on an auxiliary instance. The path must be valid on the auxiliary host. See Also: |
|
|
Creates an image copy in the directory specified in the |
|
Specifies a pattern for naming the output backup pieces or image copies (see Example 2-17). For The default location for disk backups depends on whether a fast recovery area is enabled and whether
To create RMAN backups in the fast recovery area with names in Oracle Managed Files format, do not specify the Note: You cannot specify an Oracle Managed Files file name as the format for a backup. For example, if Backup pieces must have unique names. The maximum length of a backup piece file name is platform-specific. For backups to a media manager, the length is also limited by the limit in the supported version of the media management API. Vendors supporting SBT 1.1 must support file names up to 14 characters. Some SBT 1.1 vendors may support longer file names. Vendors supporting SBT 2.0 must support file names up to 512 characters. Some SBT 2.0 vendors may support longer file names. You cannot specify multiple, identical Note: If you are making an archival backup with the See Also: |
|
Specifies the directory where the backup is created. This parameter is valid for disk and not SBT channels. The backup files are created in an Oracle Managed Files (OMF) directory. Backup skips the files only when backups do not exist in the specified |
Identifies the backup being created as an incremental backup to be used in rolling forward an image copy. See Also: |
|
|
Creates a cross-platform backup using backup sets. You can back up data files, tablespaces, or an entire database. While creating a cross-platform tablespace backup, use the Backup sets created by a cross-platform backup are not catalogued in the control file. Before you backup the whole database for cross-platform transport, ensure that the database is in read-only mode. You can transport a database only if the source and destination use the same endian format. While backing up tablespaces, the tablespaces being backed must be in read-only mode, unless the See Also: "Backing Up Data for Cross-Platform Transport" Note: Cross-platform backups using backup sets are supported from Oracle Database 12c Release 1 (12.1). |
|
Enables you to backup tablespaces that are not in read-only mode. You cannot use Although the backup is created, you cannot plug these tablespaces directly into the target database because they are inconsistent. You must later create an incremental backup of the tablespaces when they are in read-only mode. This incremental backup must contain the See Also: Oracle Database Backup and Recovery User's Guide for more information about creating an restoring inconsistent tablespace backups. |
|
Creates a cross-platform consistent backup of a PDB using backup sets. The metadata required to plug the PDB into a different CDB is stored in the XML file specified using filename. You can use this backup to perform cross-platform transport of the PDB to any supported platform. The PDB that is being transported must be closed before it is unplugged. The CDB to which this PDB belongs must be in read-write mode. |
|
Creates a backup of all blocks of data files included in the backup. A full backup has no effect on subsequent incremental backups and is not considered a part of any incremental backup strategy. A full image copy backup can be incrementally updated, however, by applying incremental backups with the Note: Unused block compression, which is described in the entry for |
|
Copies only those data blocks that have changed since the last incremental See "Incremental Backups" for an explanation of incremental backups. |
|
Creates an incremental backup of all specified data files that includes all data file blocks changed at SCNs greater than or equal to the specified SCN. One use of this option is to refresh a standby database with changes from the primary database (see Example 2-24, and the chapter on RMAN backups in Oracle Data Guard Concepts and Administration). This backup contains all changed blocks since the standby database was created or last synchronized. At the standby database, you can use If you are not making incremental backups based on Volume Shadow Copy Service (VSS) snapshots, then specify If you specify Note: You cannot use See Also: Oracle Database Platform Guide for Microsoft Windows to learn about making backups with VSS |
Overrides any configured retention policy for this backup so that the backup is not considered obsolete, as shown in Example 2-26. You can use the Note: You cannot use With the Note: You can use Note: You cannot use See Also: |
|
|
Specifies a maximum size for a backup set (as shown in Example 2-17). RMAN limits all backup sets to this size. It is possible for a backup set to span multiple tapes, so blocks from each data file are written to multiple tapes. If one tape of a multivolume backup set fails, then you lose the data on all the tapes rather than just one. Because a backup set always includes a whole file rather than part of a file, you can use Specify size in bytes (default), kilobytes ( The default number of files in each backup set is determined by Note: This option results in an error message if used with |
Limits the set of archived redo log files to be backed up according to whether a specified number of backups are present (and not obsolete), or whether the logs have been backed up since a specified date. See Also: |
|
|
Suppresses block checksums during the backup. A checksum is a number that is computed from the contents of a data block. Note: You cannot disable checksums for data files in the By default, the When restoring a backup data file, RMAN honors the Note: You can turn off checksum checking by specifying See Also: Oracle Database Reference for more information about the |
|
When specified on a |
|
Specifies the media pool in which the backup is stored. Consult your media management documentation to see whether Note: This option does not work with |
|
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 data files on disk. The media manager—not RMAN—decides how and when to move data. When you run
Note: If you specify Note: This option does not work with |
|
Causes the database to issue an error message when it cannot proxy copy rather than creating conventional backup sets. If you do not want RMAN to try a conventional copy when a proxy copy fails, use the |
|
Enables RMAN to overwrite an existing backup or copy with the same name as the file that |
|
Specifies the size of each backup section produced during a data file or data file copy backup. By setting this parameter, RMAN can create a multisection backup. In a multisection backup, RMAN creates a backup piece that contains one file section, which is a contiguous range of blocks in a file. All sections of a multisection backup are the same size. File sections enable RMAN to create multiple steps for the backup of a single large data file. RMAN channels can process each step independently and in parallel, with each channel producing one section of a multisection backup set. Multisection backups can be stored either as image copies or backup sets (both full and incremental). To create multisection image copies or incremental backups, the See Also: Oracle Database Backup and Recovery User's Guide for more information about multisection image copies. Note: RMAN always creates multisection backups with If you specify a section size that is larger than the size of the file, then RMAN does not use multisection backup for the file. If you specify a small section size that would produce more than 256 sections, then RMAN increases the section size to a value that results in exactly 256 sections. Note: Depending on where you specify this parameter in the RMAN syntax, you can specify different section sizes for different files in the same backup job. Note: You cannot use |
Excludes data files or archived redo log files from the backup if they are inaccessible, offline, or read-only. See Also: |
|
|
Specifies a user-specified tag name for a backup set, proxy copy, data file copy, or control file copy. The tag is applied to the output files generated by the The tag name is not case-sensitive. The name must be 30 characters or less. The characters are limited to the characters that are valid in file names on the target file system. For example, ASM does not support the use of the hyphen ( Typically, a tag name is a meaningful name such as If you do not specify a tag name, then by default RMAN creates a tag for backups (except for control file autobackups). The default tag uses the format You can also specify the tag at the
Note: A tag is an attribute of each backup piece in a given copy of a backup set (for |
|
Specifies the full name of the destination platform to which the cross-platform backup will be transported. If you omit Backup sets created by a cross-platform backup are not catalogued in the control file. You can use either See Also: "FOR TRANSPORT" See Also: "Backing Up Data for Cross-Platform Transport" for information about the mode in which the database or tablespace is opened before creating a cross-platform backup Note: Cross-platform backups using backup sets are supported from Oracle Database 12c Release 1 (12.1). |
|
Enables you to backup tablespaces that are not in read-only mode. You cannot use See Also: "ALLOW INCONSISTENT" |
|
Creates a cross-platform consistent backup of a PDB using backup sets. The metadata required to plug the PDB into a different CDB is stored in the XML file specified using filename. You use this backup to perform cross-platform transport of the PDB to the specified platform. The PDB must be closed before it is unplugged. The CDB must be in read-write mode. |
|
Scans the specified files and verifies their contents, testing whether this file can be backed up and whether the data blocks are corrupt. RMAN creates no output files. This option is equivalent to using the If you do not specify You can use the If you execute Note: You cannot validate backups of backup sets. |
backupSpec
This subclause specifies a list of one or more objects to be backed up. Each backupSpec clause generates one or more backup sets (AS BACKUPSET
) or image copies (AS COPY
). For AS BACKUPSET
, the backupSpec clause generates multiple backup sets if the number of data files specified in or implied by its list of objects exceeds the default limit of 4 data files or 16 archived redo log files in each backup set. Refer to backupSpec::= for the syntax diagram.
Syntax Element | Description |
---|---|
Specifies a range of archived redo log files to be backed up. To back up archived redo logs in a CDB, connect to the
root as a common user with the When backing up archived redo log files, RMAN can perform archived log failover automatically. RMAN backs up the log when at least one archived log corresponding to a given log sequence number and thread is available. Also, if the copy that RMAN is backing up contains corrupt blocks, then it searches for good copies of these blocks in other copies of the same archived redo log files. RMAN does not signal an error if the command finds no logs to back up, since this situation probably exists because no new logs were generated after the previous If you specify If the database is open when you run Note: If you run See Also: |
|
|
Specifies a backup of backup sets. Use this parameter with the If you specify the RMAN performs backup set failover when backing up backup sets. RMAN searches for all available backup copies when the copy that it is trying to back up is corrupted or missing. This behavior is similar to RMAN's behavior when backing up archived redo log files that exist in multiple archiving destinations. If backup optimization is enabled when you back up a backup set, and if the identical backup set has been backed up to the same device type, then RMAN skips the backup of this backup set. Starting with Oracle Database Release 18c, you can use the You can use Note: When you use the Note: You can duplex backups of backup sets with |
|
Specifies all backup sets. When used with CDBs, RMAN skips backing up the backups of PDBs that were dropped. There is no way to back up backup sets of dropped PDBs. |
Identifies backup sets according to completion time. See Also: |
|
|
Specifies backup sets according to primary key. You can obtain the primary keys for backup sets from the output of the |
|
Identifies one or more backup sets by tag name. If multiple backup sets have the same tag name, then they are all are backed up. The |
|
Specifies one or more control file copies for backups. A control file copy can be created with the Note: A control file autobackup is not a control file copy. |
|
Specifies a control file copy by file name. |
|
Specifies all control file copies. |
|
Specifies a control file copy by a file name pattern. The percent sign ( |
Makes a backup of previous image copies of data files and possibly control files. See Also: |
|
|
Specifies the current control file. When backing up as a backup set, RMAN first creates a snapshot control file for read consistency. You can configure the location of the snapshot control file with the
|
APPLICATION ROOT DATABASE app_root_name |
Creates a backup of all data files in the application root. Connect to the CDB root as a common user with the |
|
Creates a backup of all data files in the whole database or a single pluggable
database (PDB). To back up a CDB, connect to the root as a common user with the
If generating a backup set, then RMAN can include only data files and control files: it cannot include archived redo log files. In an application container, creates a backup of all data files in the application container. This includes the application root and all application PDBs that belong to this application root. Connect to the application root as an application common user with the If the If the Full database backups are usually either image copies or compressed backup sets. Image copies are more flexible than backup sets for some purposes (such as use in an incrementally updated backups strategy), and compressed backup sets make more efficient use of storage space, if the CPU overhead involved in creating them is tolerable. Note: To force RMAN to include the current control file in the backup when Note: Proxy PDBs are not backed up during a CDB backup. See Also: The |
|
In a CDB, creates a backup of the data files in the root. Connect to the root as a
common user with the common In an application container, creates a backup of the files in the application root and all application PDBs. Connect to the application root as an application common user with the See the previous description of |
|
Creates a backup of the data files in one or more PDBs. Specify multiple PDBs using a
comma-delimited list. Connect to the root as a common user with the
With application containers, use this clause as follows:
Note: Backing up a proxy PDB is not supported |
Specifies the file names of one or more data file image copies. See Also: |
|
|
Specifies a list of one or more data files. Refer to description of See Also: |
|
Specifies that a Data Pump export dump file is created while performing a cross-platform tablespace backup. The export dump file contains the metadata of the read-only tablespaces being transported. You need this metadata to plug in the tablespaces at the destination database. The dump file is created in s separate backup set. If you use the This clause cannot be used with the |
|
Specifies the pattern used to store the backup piece that contains the export dump file. If the |
|
Backs up recovery files created in the current and all previous fast recovery area destinations. Backups can go to SBT and disk. To backup to disk, you must use the Recovery files are full and incremental backup sets, control file autobackups, data file copies, and archived redo log files. If an archived redo log file is missing or corrupted, then RMAN looks outside of the recovery area for a good copy of the log that it can use for the backup. Flashback logs, the current control file, and online redo log files are not backed up. By default, backup optimization is enabled for this command even if the Note: If the fast recovery area is not enabled but was enabled previously, then files created in the previous fast recovery area location are backed up. |
|
|
|
Backs up all recovery files on disk, whether they are stored in the fast recovery area or other locations on disk. The backups can go to SBT or disk. To backup to disk, you must use the Recovery files include full and incremental backup sets, control file autobackups, archived redo log files, and data file copies. By default, backup optimization is enabled for this command even if the |
|
Includes the server parameter file in a backup set. The RMAN backs up the server parameter file currently in use by the target database. RMAN cannot back up the server parameter file when the instance was started with an initialization parameter file. RMAN cannot make incremental backups of the |
TABLESPACE tablespace_name |
Specifies the names of one or more tablespaces. RMAN translates tablespace names internally into a list of data files, then backs up all data files that are currently part of the tablespaces. If the When connected to the root in a CDB, refers to tablespaces in the root. Refers to tablespaces in a PDB when connected directly to a PDB. You cannot back up locally-managed temporary tablespaces, although you can back up dictionary-managed tablespaces. If the following conditions are met, then RMAN can back up transportable tablespaces that have not been made read/write after being transported:
If any of the preceding conditions is not met, then RMAN automatically skips transportable tablespaces that have not yet been made read/write. If you specify a transportable tablespace explicitly when any of the conditions is not met, then RMAN issues an error saying that the tablespace does not exist. Note: If you rename a tablespace, then RMAN detects that the tablespace has changed its name and updates the recovery catalog on the next resynchronization. |
The |
backupSpecOperand
This subclause specifies a variety of options and parameters that affect the backupSpec
clause. Many subclauses are also used with backupOperand
. Options that are not shared in common with backupOperand
are listed here. Refer to backupSpecOperand::= for the syntax diagram.
Syntax Element | Description |
---|---|
|
Deletes the input files after successfully backing them up. Specify this option only when backing up archived redo log files, data file copies ( Specifying the The Note: The database retains archived redo log files in the fast recovery area if possible and deletes them automatically when disk space is required. You can use the |
|
Identifies files by tag name (see Example 2-18). Only the files that match the tag_name are backed up. Defined in context with several other commands. |
|
Creates a snapshot of the current control file and places it into one of backup sets produced by the Note: This option does not apply with |
backupTypeSpec
This subclause specifies the form of the BACKUP
command output: backup set or image copy. Refer to backupTypeSpec::= for the syntax diagram.
Syntax Element | Description |
---|---|
|
Creates backup sets on the specified device. This is the default backup type.
The When using encrypted backups, data files from tablespaces with different encryption settings are never written into the same backup set. RMAN cannot back up files with different block sizes into the same backup set. RMAN can back up tablespaces with different block sizes, but puts each differently sized data file into its own backup set. When unused block compression is applied, RMAN reads only the blocks that are currently allocated to a table. RMAN still checks each of the blocks to see whether the header has marked the block as unused. If a block has been unused, it is not written to the backup. Unused block compression is turned on automatically when all of the following five conditions are true:
Note: A corrupt unused block is not harmful. This is because when a block is corrupt and RMAN does not read it because of unused block compression, RMAN does not detect the corruption. Each backup set contains at least one backup piece, which is an RMAN-specific physical file containing the backed up data. You can also use the RMAN only records complete backup sets in the RMAN repository. There are no partial backup sets. When a Note: You cannot stripe a single backup set across multiple channels. You also cannot stripe a single input file across multiple backup sets. See Also: Oracle Secure Backup Administrator's Guide to learn how to use Oracle Secure Backup with RMAN |
|
RMAN compresses the data written into the backup set to reduce the overall size of the backup set. All backups that create backup sets can create compressed backup sets. Restoring compressed backup sets is no different from restoring uncompressed backup sets. RMAN applies a binary compression algorithm as it writes data to backup sets. This compression is similar to the compression provided by many media manager vendors. When backing up to a locally attached tape device, compression provided by the media management vendor is usually preferable to the binary compression provided by Some CPU overhead is associated with compressing backup sets. If the target database is running at or near its maximum load, then you may find the overhead unacceptable. In most other circumstances, compressing backup sets saves enough disk space to be worth the CPU overhead. |
|
Creates image copies (rather than backup sets). An image copy is a byte-for-byte identical copy of the original file. You can create image copy backups of data files, control files, data file copies, control file copies, and archived redo log files. Image copy files can only exist on disk. When using incrementally updated backups, the level 0 incremental must be an image copy backup. By default, RMAN chooses a location for the copy according to the following rules, listed in order of precedence:
You can create and restore image copy backups with RMAN or use a native operating system command for copying files. When you use RMAN, copies are recorded in the RMAN repository and are more easily available for use in restore and recovery. Otherwise, you must use the You cannot make a copy of a backup set, although you can make an image copy of an image copy. To back up a backup set, use |
AS SPARSE BACKUPSET |
Creates sparse backups of sparse data files in the backup set format. To use this clause, the If you run this command on a non-sparse database, then RMAN performs a traditional backup in the backup set format. This setting overrides the default device type parameter set using the CONFIGURE command. See the |
AS NONSPARSE BACKUPSET |
Creates traditional (non-sparse) backups of data files in a sparse environment, in the backup set format. The source data files can be sparse and non-sparse. To use this clause, the See the |
AS SPARSE COMPRESSED BACKUPSET |
Creates sparse backups of sparse data files in the compressed backup set format. To use this clause, the If you run this command on a non-sparse database, then RMAN performs a traditional backup in the compressed backup set format. This setting overrides the default device type parameter set using the CONFIGURE command. See the |
AS NONSPARSE COMPRESSED BACKUPSET |
Creates traditional (non-sparse) backups of data files in a sparse environment, in the compressed backup set format. The source data files can be sparse and non-sparse. To use this clause, the See the |
AS SPARSE COPY |
Creates sparse backups of sparse data files in the image copy format. To use this clause, the If you run this command on a non-sparse database, then RMAN performs a traditional full backup in the image copy format. This setting overrides the default device type parameter set using the CONFIGURE command. See the |
AS NONSPARSE COPY |
Creates traditional (non-sparse) backups of data files in a sparse environment in the image copy format. The source data files can be sparse and non-sparse. To use this clause, the See the |
copyOfSpec
This subclause specifies the form of the BACKUP
command output: backup set or image copy. Refer to copyOfSpec::= for the syntax diagram.
Syntax Element | Description |
---|---|
Makes a backup of previous image copies of all data files and control files in the database. All data files that would normally be included by In a CDB, creates a backup of previous image copies of all data files and control files in the CDB. You connect to the root to back up the whole CDB. In a PDB, creates a backup of previous image copies of all data files and control files in the PDB. To backup a PDB, connect to that PDB. Note: The output of this command can be image copies or backup sets. |
|
|
In a CDB, makes a backup of previous image copies of the
data files and control files in the root. See the previous description of
|
|
In a CDB, makes a backup of previous image copies of the data files and controls files in one or more PDBs. Use a comma-delimited list to specify multiple PDBs and connect to the root. |
|
Makes a backup of a previous image copy of one or more data files. Specify the data file by file number ( Note: It is not necessary for the image copies that you are backing up to have been created by a single Note: The output of this command can be image copies or backup sets. See Also: |
|
Makes a backup of previous image copies of the data files in one or more specified tablespaces. All data files that are normally included by Specify the tablespaces in the list by tablespace name (for example, Note: The output of this command can be image copies or backup sets. |
datafileCopySpec
This subclause specifies data file copies. Refer to datafileCopySpec::= for the syntax diagram.
Syntax Element | Description |
---|---|
|
Specifies the file names of one or more data file image copies. |
|
Specifies all data file image copies for back up. When used with CDBs, RMAN skips backing up all copies of PDBs that were dropped. |
|
Specifies a file name pattern. The percent sign ( |
|
Specifies a list of one or more data file copies, identified by the tag name. If multiple data file copies with this tag exist, then RMAN backs up only the most current data file copy of any particular data file. Tags are not case sensitive. |
|
Prevents the inclusion of identical data file copies in a backup operation (Example 2-29). For each set of duplicate data file copies, the file with the most recent timestamp is selected. |
duration
This subclause specifies data file copies. Refer to duration::= for the syntax diagram.
Syntax Element | Description |
---|---|
|
Specifies a maximum time for a backup command to run. If a backup command does not complete in the specified duration, then the backup stops. Without the |
MINIMIZE {LOAD | TIME} |
With disk backups, you can use If you specify |
|
With the Without the Whether |
forRecoveryOfSpec
This subclause specifies a backup for use in an incrementally updated backup strategy. You must specify INCREMENTAL LEVEL 1
when specifying FOR RECOVER OF
. Refer to forRecoveryOfSpec::= for the syntax diagram.
Syntax Element | Description |
---|---|
|
Specifies that this incremental backup contains all changes since a previous data file copy or incremental backup. By default, RMAN creates a differential incremental backup. You must specify Use the A See Also: Oracle Database Backup and Recovery User's Guide to learn how to make incrementally updated backups |
|
Specifies the tag of the level 0 incremental backup serving as the basis of the backup strategy (see Example 2-20). By using the When Note: If the If no level 0 backup with the tag specified in the |
DATAFILECOPY FORMAT formatSpec |
Specifies a pattern for naming the output image copies. If you add a data file to the database, then you do not need to change the backup script because RMAN automatically creates the level 0 data file copy required by the incrementally updated backup strategy for the newly created file. |
FOR RECOVER OF TAG tag_name |
Backs up the archived redo log files or incremental backups that are intended to recover the level 0 incremental backup specified by For example, the |
notBackedUpSpec
This subclause specifies that RMAN only backs up files that have not yet been backed up to the same device type. Refer to notBackedUpSpec::= for the syntax diagram.
Syntax Element | Description |
---|---|
|
Backs up only those files—of the files specified on the This subclause is a convenient way to back up new data files after adding them to the database. RMAN does not examine data file checkpoints, but backs up any data file that is not already backed up. You can also specify Using Archival backups created with the BACKUP ARCHIVELOG SEQUENCE 345 NOT BACKED UP 3 TIMES and the specified log is already backed up into two non- Note: This clause overrides backup optimization ( |
|
Backs up only those data files that have not been backed up at any SCN. This option is a convenient way to back up only the new data files. When you use the |
|
Backs up only those archived redo log files that have not been backed up at least Note: You can only specify To determine the number of backups for a file, RMAN only considers backups created on the same device type as the current backup. This option is a convenient way to back up archived redo log files on a specified media. For example, you want to keep at least three copies of each log on tape. |
SINCE TIME ' date_string ' |
Specifies the date after which RMAN backs up files that have no backups. The This option is a convenient way to back up data files that were not backed up during a previous failed backup. For example, you back up the database, but the instance fails halfway through. You can restart the backup with the When determining whether a file has been backed up, the |
skipSpec
This subclause specifies which files to exclude from the backup. Refer to skipSpec::= for the syntax diagram.
Syntax Element | Description |
---|---|
|
Excludes data files or archived redo log files according to the criteria specified by the following keywords. Note: You can also specify this option in the |
|
Excludes data files or archived redo log files that cannot be read due to I/O errors. A data file is only considered inaccessible if it cannot be read. Some offline data files can still be read because they still exist on disk. Others have been deleted or moved and so cannot be read, making them inaccessible. |
|
Excludes offline data files. |
|
Excludes read-only data files. |
Examples
Example 2-13 Backing Up a Database
This example starts the RMAN client from the operating system command line and then connects to a target database using operating system authentication. The BACKUP
command backs up all data files, the current control file, the server parameter file, and archived redo log files to the default storage device:
% rman RMAN> CONNECT TARGET / RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
Example 2-14 Backing Up a Sparse Database
This example uses the BACKUP
command to backup a sparse database in the backup set format and the archive log.
RMAN> BACKUP AS SPARSE BACKUPSET DATABASE PLUS ARCHIVELOG;
Example 2-15 Backing Up Multiple PDBs
This example connects to the root using operating system authentication and then creates backups of the PDBs hr_pdb
an sales_pdb
.
%rman RMAN> CONNECT TARGET / RMAN> BACKUP PLUGGABLE DATABASE hr_pdb, sales_pdb;
Example 2-16 Performing a Cumulative Incremental Backup
This example backs up all blocks changed in the database since the most recent level 0 incremental backup. If no level 0 backup exists when you run a level 1 backup, then RMAN makes a level 0 backup automatically. Any inaccessible files are skipped.
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SKIP INACCESSIBLE DATABASE;
Example 2-17 Distributing a Backup Across Multiple Disks
This example backs up tablespaces to two different disks and lets RMAN perform automatic parallelization of the backup. The %U
in the FORMAT
string is a substitution variable that generates a unique file name for each output image copy.
RUN { ALLOCATE CHANNEL dev1 DEVICE TYPE DISK FORMAT '/disk1/%U'; ALLOCATE CHANNEL dev2 DEVICE TYPE DISK FORMAT '/disk2/%U'; BACKUP AS COPY TABLESPACE SYSTEM, tools, users, undotbs; }
Example 2-18 Identifying Data File Copies by Tag
In this example, you back up data file image copies to tape. The BACKUP
command locates all data file copies with the tag LATESTCOPY
, backs them up to tape, and names the backups using substitution variables. The variable %f
specifies the absolute file number, whereas %d
specifies the name of the database. After the data file copies are on tape, the example deletes all image copies with the tag LATESTCOPY
.
BACKUP DEVICE TYPE sbt DATAFILECOPY FROM TAG 'LATESTCOPY' FORMAT 'Datafile%f_Database%d'; DELETE COPY TAG 'LATESTCOPY';
Example 2-19 Backing Up and Deleting Archived Redo Log Files
This example assumes that you have two archiving destinations set: /disk2/PROD/archivelog/
and /disk1/arch/
. The command backs up one archived redo log for each unique sequence number. For example, if archived redo log 1000 is in both directories, then RMAN only backs up one copy this log. The DELETE INPUT
clause with the ALL
keyword deletes all archived redo log files from both archiving directories after the backup.
BACKUP DEVICE TYPE sbt ARCHIVELOG LIKE '/disk%arc%' DELETE ALL INPUT;
Sample output for the preceding command appears as follows:
Starting backup at 12-MAR-13 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=150 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Secure Backup channel ORA_SBT_TAPE_1: starting archived log backup set channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set input archived log thread=1 sequence=4 RECID=4 STAMP=616789551 input archived log thread=1 sequence=5 RECID=5 STAMP=616789551 input archived log thread=1 sequence=6 RECID=6 STAMP=616789554 input archived log thread=1 sequence=7 RECID=7 STAMP=616789731 input archived log thread=1 sequence=8 RECID=8 STAMP=616789825 input archived log thread=1 sequence=9 RECID=10 STAMP=616789901 input archived log thread=1 sequence=10 RECID=12 STAMP=616789985 channel ORA_SBT_TAPE_1: starting piece 1 at 12-MAR-13 channel ORA_SBT_TAPE_1: finished piece 1 at 12-MAR-13 piece handle=0vice0g7_1_1 tag=TAG20130312T105917 comment=API Version 2.0,MMS Version 10.1.0.3 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:25 channel ORA_SBT_TAPE_1: deleting archived log(s) archived log file name=/disk2/PROD/archivelog/2013_03_09/o1_mf_1_4_2z45sgrc_.arc RECID=4 STAMP=616789551 archived log file name=/disk2/PROD/archivelog/2013_03_09/o1_mf_1_5_2z45sgrc_.arc RECID=5 STAMP=616789551 archived log file name=/disk2/PROD/archivelog/2013_03_09/o1_mf_1_6_2z45sl3g_.arc RECID=6 STAMP=616789554 archived log file name=/disk2/PROD/archivelog/2013_03_09/o1_mf_1_7_2z45z2kt_.arc RECID=7 STAMP=616789731 archived log file name=/disk2/PROD/archivelog/2013_03_09/o1_mf_1_8_2z4620sk_.arc RECID=8 STAMP=616789825 archived log file name=/disk1/arch/archiver_1_8_616789153.arc RECID=9 STAMP=616789825 archived log file name=/disk2/PROD/archivelog/2013_03_09/o1_mf_1_9_2z464dhk_.arc RECID=10 STAMP=616789901 archived log file name=/disk1/arch/archiver_1_9_616789153.arc RECID=11 STAMP=616789901 archived log file name=/disk2/PROD/archivelog/2013_03_09/o1_mf_1_10_2z4670gr_.arc RECID=12 STAMP=616789985 archived log file name=/disk1/arch/archiver_1_10_616789153.arc RECID=13 STAMP=616789985 Finished backup at 12-MAR-13 Starting Control File and SPFILE Autobackup at 12-MAR-13 piece handle=c-28643857-20130312-02 comment=API Version 2.0,MMS Version 10.1.0.3 Finished Control File and SPFILE Autobackup at 12-MAR-13
Example 2-20 Scripting Incrementally Updated Backups
By incrementally updating backups, you can avoid the overhead of making full image copy backups of data files, while also minimizing media recovery time. For example, if you run a daily backup script, then you never have more than one day of redo to apply for media recovery.
Assume you run the following script daily. On first execution, the script creates an image copy backup of the database on disk with the specified tag. On second execution, the script creates a level 1 differential incremental backup of the database. On every subsequent execution, RMAN applies the level 1 incremental backup to the data file copy and then makes a new level 1 backup.
RUN { RECOVER COPY OF DATABASE WITH TAG 'incr_update'; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE; }
Example 2-21 Backing Up Disk-Based Backup Sets to Tape
Assume your goal is to keep recent backup sets on disk and older backup sets on tape. Also, you want to avoid keeping copies of the same backup set on disk and tape simultaneously. This example backs up backup sets created more than two weeks ago to tape and then deletes the backup pieces from disk.
BACKUP DEVICE TYPE sbt BACKUPSET COMPLETED BEFORE 'SYSDATE-14' DELETE INPUT;
Example 2-22 Duplexing a Database Backup
This example uses the COPIES
parameter to create two compressed backups of the database, with each backup on a separate disk. The output locations are specified in the FORMAT
parameter.
BACKUP AS COMPRESSED BACKUPSET DEVICE TYPE DISK COPIES 2 DATABASE FORMAT '/disk1/db_%U', '/disk2/db_%U';
Example 2-23 Specifying How Channels Divide Workload
This example explicitly parallelizes a backup by using the CHANNEL
parameter to specify which channels back up which files and to which locations.
RUN { ALLOCATE CHANNEL ch1 DEVICE TYPE sbt PARMS 'ENV=(OB_DEVICE_1=stape1)'; ALLOCATE CHANNEL ch2 DEVICE TYPE sbt PARMS 'ENV=(OB_DEVICE_1=stape2)'; BACKUP (DATABASE # ch1 backs up database to tape drive stape1 CHANNEL ch1) (ARCHIVELOG ALL CHANNEL ch2); # ch2 backs up archived redo log files to tape drive stape2 }
Example 2-24 Creating an Incremental Backup for Refresh of a Standby Database
In this example, your goal is make an incremental backup of the primary database and use it to update an associated standby database. You start the RMAN client, CONNECT
to the primary database as TARGET
, and then connect to the recovery catalog. The BACKUP
command creates an incremental backup of the primary database that can be applied at a standby database to update it with changes since the specified SCN.
RMAN> CONNECT TARGET /
connected to target database: PROD (DBID=39525561)
RMAN> CONNECT CATALOG rco@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> BACKUP DEVICE TYPE DISK
2> INCREMENTAL FROM SCN 404128 DATABASE
3> FORMAT '/disk1/incr_standby_%U';
Example 2-25 Specifying Corruption Tolerance for Data File Backups
This example assumes a database that contains five data files. It uses the SET
MAXCORRUPT
command to indicate than only one corruption is tolerated in each data file. Because the CHECK LOGICAL
option is specified on the BACKUP
command, RMAN checks for both physical and logical corruption.
RUN { SET MAXCORRUPT FOR DATAFILE 1,2,3,4,5 TO 1; BACKUP CHECK LOGICAL DATABASE; }
Example 2-26 Creating a Consistent Database Backup for Archival Purposes
This example uses a keepOption
to create an archival backup set that cannot be considered obsolete for one year. The example backs up the database, archives the redo in the current online logs to ensure that this new backup is consistent, and backs up only those archived redo log files needed to restore the data file backup to a consistent state.
The BACKUP
command also creates a restore point to match the SCN at which this backup is consistent. The FORMAT
parameter must be capable of creating multiple backup pieces in multiple backup sets.
BACKUP DATABASE FORMAT '/disk1/archival_backups/db_%U.bck' TAG quarterly KEEP UNTIL TIME 'SYSDATE + 365' RESTORE POINT Q1FY06;
Example 2-27 Exempting Copies from the Retention Policy
The following example copies two data files and exempts them from the retention policy forever. The control file and server parameter file are also backed up, even with autobackup off.
KEEP
FOREVER
requires a recovery catalog.
SHUTDOWN IMMEDIATE; STARTUP MOUNT; BACKUP KEEP FOREVER FORMAT '?/dbs/%U_longterm.cpy' TAG LONGTERM_BCK DATAFILE 1 DATAFILE 2; ALTER DATABASE OPEN;
Example 2-28 Backing Up Files That Need Backups
Assume that you back up the database and archived redo log files every night to tape by running the following command.
BACKUP MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;
The preceding command sets an upper limit to the size of each backup set so that RMAN produces multiple backup sets. Assume that the media management device fails halfway through the backup and is then restarted. The next day you discover that only half the backup sets completed. In this case, you can run the following command in the evening:
BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-1' MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;
With the preceding command, RMAN backs up only files not backed up during in the previous 24 hours. When RMAN determines that a backup from the specified time window is available, it displays output like the following:
skipping datafile 1; already backed up on 18-JAN-13 skipping datafile 2; already backed up on 18-JAN-13 skipping datafile 3; already backed up on 18-JAN-13
If you place the NOT
BACKED
UP
SINCE
clause immediately after the BACKUP
command, then it affects all objects to be backed up. You can also place it after individual backupSpec
clauses to cause only backups for those objects described by the backupSpec
to be subject to the limitation.
Example 2-29 Using NODUPLICATES To Back Up Data File Copies
This example creates a data file copy of data file 2 named /disk2/df2.cpy
. The example then backs up this data file copy to the /disk1
and /disk3
directories. The NODUPLICATES
option on the final BACKUP
command indicates that only one copy of data file 2
is backed up.
BACKUP AS COPY DATAFILE 2 FORMAT '/disk2/df2.cpy' TAG my_tag; BACKUP AS COPY DATAFILECOPY '/disk2/df2.cpy' FORMAT '/disk1/df2.cpy'; BACKUP AS COPY DATAFILECOPY '/disk1/df2.cpy' FORMAT '/disk3/df2.cpy'; BACKUP DEVICE TYPE sbt DATAFILECOPY ALL NODUPLICATES; # backs up only copy of data file 2
Example 2-30 Copying Archived Log From Operating System File to ASM
BACKUP AS COPY REUSE ARCHIVELOG LIKE "/ade/b/369893928/oracle/work/arc_dest/arcr_1_11_686060575.arc" AUXILIARY FORMAT "+RCVAREA";
Example 2-31 Multisection Backup of Data Files as Image Copies
This example creates a multisection backup of the data file users_df.dbf
. The backup is created as image copies and each backup piece cannot exceed 150MB.
BACKUP AS COPY SECTION SIZE 150M DATAFILE '/oradata/dbs/users_df.dbf';
Example 2-32 Multisection Incremental Backup of Database as Backup Sets
This example creates a multisection incremental backup of the database as backup sets. The incremental backup includes all data file blocks that changed at SCN greater than or equal to 8564. The FORMAT
clause is mandatory when you use INCREMENTAL FROM SCN
to create a multisection incremental backup.
BACKUP FORMAT '/tmp/datafiles/db_incr_ms_%U' INCREMENTAL FROM SCN 8564 SECTION SIZE 400M DATABASE;
Example 2-33 Multisection Incremental Backup of Tablespaces
This example creates a multisection incremental backup of the tablespace orders
as backup sets. Before creating the backup, three channels are explicitly allocated using the ALLOCATE CHANNEL
command. Therefore, RMAN uses these channels to write, in parallel, to the backup pieces.
run { ALLOCATE CHANNEL MY_CH1 TYPE DISK; ALLOCATE CHANNEL MY_CH2 TYPE DISK; ALLOCATE CHANNEL MY_CH3 TYPE DISK; BACKUP INCREMENTAL LEVEL 1 AS COMPRESSED BACKUPSET SECTION SIZE 100M TABLESPACE sales; };
Example 2-34 Cross-Platform Backup of the Entire Database
This example creates a cross-platform backup of the entire database for transport to the Linux x86 64-bit platform. The source platform is Microsoft Windows IA (32-bit) and the backup is stored in a backup set named full_db.bck
. The database must be placed in read-only mode before the backup is created.
BACKUP TO PLATFORM='Linux x86 64-bit' FORMAT '/tmp/xplat_backups/full_db.bck' DATABASE;
Example 2-35 Cross-Platform Backup of a Consistent Tablespace
This example backs up the tablespace example
for cross-platform transport. The tablespace must be placed in read-only mode before the backup is performed. The backup set containing the tablespace data is called example_readonly.bck
. The metadata required to plug this tablespace into the target database is stored in the backup set example_dmp.bck
.
BACKUP FOR TRANSPORT FORMAT '/tmp/xplat_backups/example_readonly.bck' TABLESPACE example DATAPUMP FORMAT '/tmp/xplat_backups/example_dmp.bck';
Example 2-36 Cross-Platform Backup of a Tablespace Using Multiple Backup Sets
This example creates a cross-platform backup of the tablespace example
using multiple backup sets. Ensure that the tablespace is read-only before you create the backup. Because FILESPERSET
is set to 1, each backup set contains only one input file. The backup sets use unique names that begin with db_multiple_
.
BACKUP FOR TRANSPORT FILESPERSET 1 FORMAT '/tmp/xplat_backups/db_multiple_%U' TABLESPACE example DATAPUMP FORMAT '/tmp/xplat_backups/db_multiple.dmp';
Example 2-37 Cross-Platform Backup of a Tablespace Using Multiple Backup Pieces
This example creates a cross-platform backup of the tablespace example
. The backup uses multiple backup pieces because MAXPIECESIZE
is set in the ALLOCATE CHANNEL
command. Ensure that the tablespace is in read-only mode before the backup is created.
RUN { ALLOCATE CHANNEL c1 DEVICE TYPE disk MAXPIECESIZE 301464; BACKUP FOR TRANSPORT FORMAT '/tmp/xplat_backups/example_multi-piece.bck' TABLESPACE example DATAPUMP FORMAT '/tmp/xplat_backups/example_multi-piece_dmp.bck';}
Example 2-38 Cross-Platform Inconsistent Backup of a Tablespace
This example creates a cross-platform level 0 incremental backup of the tablespace example
. The tablespace is in read-write mode at the time of creating the backup and, therefore, you use ALLOW INCONSISTENT
to create an inconsistent backup.
Note that inconsistent backups of tablespaces cannot be used to directly plug the tablespace into the destination database. You must use an incremental backup of the tablespace that is created when the tablespace is read-only to make the tablespace consistent. Example 2-39 describes how to create a cross-platform incremental backup.
BACKUP FOR TRANSPORT ALLOW INCONSISTENT INCREMENTAL LEVEL 0 FORMAT '/tmp/xplat_backups/example_inconsist.bck' TABLESPACE example;
Example 2-39 Cross-Platform Incremental Backup of a Tablespace
This example creates a cross-platform level 1 incremental backup of the tablespace example
. The tablespace is placed in read-only mode before this backup is created. This backup contains changes made to the tablespace after the most recent incremental backup was created. The backup is stored in a backup set called example_inconsist_incr.bck
. The metadata required to plug the tablespace into the destination database is stored in the backup set example_incr_dmp.bck
.
You can use this level 1 incremental backup, along with the level 0 incremental backup created in Example 2-38, to transport the tablespace example to a different platform. On the destination database, you first restore the level 0 incremental backup created in Example 2-38 to create a set of foreign data files. These foreign data files are inconsistent because the tablespace was in read/write mode when the level 0 incremental backup was created. You then apply a level 1 incremental backup to the foreign data files. Next, you plug the tablespace in to the destination database by restoring the backup set specified in the DATAPUMP
clause. See Oracle Database Backup and Recovery User's Guide for a complete example of performing cross-platform inconsistent tablespace transport using backup sets.
In most scenarios, after creating the level 0 incremental backup, you create multiple level 1 incremental backups with the tablespace is placed in read/write mode. The final incremental level 1 backup is created with the tablespace placed in read-only mode. These incremental backups that are created and applied over time help minimize the data divergence between the source and destination database.
BACKUP FOR TRANSPORT INCREMENTAL LEVEL 1 TABLESPACE example FORMAT '/tmp/xplat_backups/example_inconsist_incr.bck' DATAPUMP FORMAT '/tmp/xplat_backups/example_incr_dmp.bck';