Backup and Recovery
Backup and recovery procedures protect your database against data loss and reconstruct the data, should loss occur. The reconstructing of data is achieved through media recovery, which refers to the various operations involved in restoring, rolling forward, and rolling back a backup of database files. This chapter introduces concepts fundamental to designing a backup and recovery strategy.This chapter contains the following topics:
-
Introduction to Backup
-
Introduction to Recovery
-
Deciding Which Recovery Technique to Use
-
Flash Recovery Area
See Also:
Introduction to Backup
A backup is a copy of data. This copy can include important parts of the database, such as the control file and datafiles. A backup is a safeguard against unexpected data loss and application errors. If you lose the original data, then you can reconstruct it by using a backup.Backups are divided into physical backups and logical backups. Physical backups, which are the primary concern in a backup and recovery strategy, are copies of physical database files. You can make physical backups with either the Recovery Manager (RMAN) utility or operating system utilities. In contrast, logical backups contain logical data (for example, tables and stored procedures) extracted with an Oracle utility and stored in a binary file. You can use logical backups to supplement physical backups.
There are two ways to perform Oracle backup and recovery: Recovery Manager and user-managed backup and recovery.
Recovery Manager (RMAN) is an Oracle utility that can back up, restore, and recover database files. It is a feature of the Oracle database server and does not require separate installation.
You can also use operating system commands for backups and SQL*Plus for recovery. This method, also called user-managed backup and recovery, is fully supported by Oracle, although use of RMAN is highly recommended because it is more robust and greatly simplifies administration.
Whether you use RMAN or user-managed methods, you can supplement your physical backups with logical backups of schema objects made using the Export utility. The utility writes data from an Oracle database to binary operating system files. You can later use Import to restore this data into a database.
This section contains the following topics:
-
Consistent and Inconsistent Backups
-
Whole Database and Partial Database Backups
-
RMAN and User-Managed Backups
See Also:
"When to Use Import/Export Utilities Recovery" for information on logical backupsConsistent and Inconsistent Backups
A consistent backup is one in which the files being backed up contain all changes up to the same system change number (SCN). This means that the files in the backup contain all the data taken from a same point in time. Unlike an inconsistent backup, a consistent whole database backup does not require recovery after it is restored.An inconsistent backup is a backup of one or more database files that you make while the database is open or after the database has shut down abnormally.
Overview of Consistent Backups
A consistent backup of a database or part of a database is a backup in which all read/write datafiles and control files are checkpointed with the same SCN.The only way to make a consistent whole database backup is to shut down the database with the
NORMAL
, IMMEDIATE
, or TRANSACTIONAL
options and make the backup while the database is closed. If a database
is not shut down cleanly, for example, an instance fails or you issue a
SHUTDOWN
ABORT
statement, then the database's datafiles are always inconsistent—unless the database is a read-only database.Oracle makes the control files and datafiles consistent to the same SCN during a database checkpoint. The only tablespaces in a consistent backup that are allowed to have older SCNs are read-only and offline normal tablespaces, which are still consistent with the other datafiles in the backup because no changes have been made to them.
The important point is that you can open the database after restoring a consistent whole database backup without needing recovery because the data is already consistent: no action is required to make the data in the restored datafiles correct. Hence, you can restore a year-old consistent backup of your database without performing media recovery and without Oracle performing instance recovery. Of course, when you restore a consistent whole database backup without applying redo, you lose all transactions that were made since the backup was taken.
A consistent whole database backup is the only valid backup option for databases operating in
NOARCHIVELOG
mode, because otherwise recovery is necessary for consistency. In NOARCHIVELOG
mode, Oracle does not archive the redo logs, and so the required redo
logs might not exist on disk. A consistent whole backup is also a valid
backup option for databases operating in ARCHIVELOG
mode.
When this type of backup is restored and archived logs are available,
you have the option of either opening the database immediately and
losing transactions that were made since the backup was taken, or
applying the archived logs to recover those transactions.Overview of Inconsistent Backups
An inconsistent backup is a backup in which the files being backed up do not contain all the changes made at all the SCNs. In other words, some changes are missing. This means that the files in the backup contain data taken from different points in time. This can occur because the datafiles are being modified as backups are being taken. Oracle recovery makes inconsistent backups consistent by reading all archived and online redo logs, starting with the earliest SCN in any of the datafile headers, and applying the changes from the logs back into the datafiles.If the database must be up and running 24 hours a day, seven days a week, then you have no choice but to perform inconsistent backups of the whole database. A backup of online datafiles is called an online backup. This requires that you run your database in
ARCHIVELOG
mode.If you run the database in
ARCHIVELOG
mode, then you do
not have to back up the whole database at one time. For example, if your
database contains seven tablespaces, and if you back up the control
file as well as a different tablespace each night, then in a week you
will back up all tablespaces in the database as well as the control
file. You can consider this staggered backup as a whole database backup.
However, if such a staggered backup must be restored, then you need to
recover using all archived redo logs that were created since the
earliest backup was taken.
Caution:
Oracle strongly recommends that you do not make inconsistent, closed database backups in NOARCHIVELOG
mode. If such a backup is used to restore the database, then data corruption might result.
No comments:
Post a Comment