Oracle® Database Backup and Recovery Advanced User's Guide 10g Release 2 (10.2) Part Number B14191-02 |
|
|
View PDF |
This section contains the following topics:
Some third-party tools allow you to mirror a set of disks or logical devices, that is, maintain an exact duplicate of the primary data in another location, and then split the mirror. Splitting the mirror involves separating the copies so that you can use them independently.
With the SUSPEND
/RESUME
functionality, you can suspend I/O to the database, then split the mirror and make a backup of the split mirror. By using this feature, which complements the backup mode functionality, you can suspend database I/Os so that no new I/O can be performed. You can then access the suspended database to make backups without I/O interference.
You do not need to use SUSPEND
/RESUME
to make split mirror backups in most cases, although it is necessary if your system requires the database cache to be free of dirty buffers before a volume can be split. Some RAID devices benefit from suspending writes while the split operation is occurring; your RAID vendor can advise you on whether your system would benefit from this feature.
The ALTER
SYSTEM
SUSPEND
statement suspends the database by halting I/Os to datafile headers, datafiles, and control files. When the database is suspended, all pre-existing I/O operations can complete; however, any new database I/O access attempts are queued.
The ALTER
SYSTEM
SUSPEND
and ALTER
SYSTEM
RESUME
statements operate on the database and not just the instance. If the ALTER
SYSTEM
SUSPEND
statement is entered on one system in a RAC configuration, then the internal locking mechanisms propagate the halt request across instances, thereby suspending I/O operations for all active instances in a given cluster.
After a successful database suspension, you can back up the database to disk or break the mirrors. Because suspending a database does not guarantee immediate termination of I/O, Oracle recommends that you precede the ALTER
SYSTEM
SUSPEND
statement with a BEGIN
BACKUP
statement so that the tablespaces are placed in backup mode.
You must use conventional user-managed backup methods to back up split mirrors. RMAN cannot make database backups or copies because these operations require reading the datafile headers. After the database backup is finished or the mirrors are re-silvered, then you can resume normal database operations using the ALTER
SYSTEM
RESUME
statement.
Backing up a suspended database without splitting mirrors can cause an extended database outage because the database is inaccessible during this time. If backups are taken by splitting mirrors, however, then the outage is nominal. The outage time depends on the size of cache to flush, the number of datafiles, and the time required to break the mirror.
Note the following restrictions for the SUSPEND/RESUME
feature:
In a RAC configuration, you should not start a new instance while the original nodes are suspended.
No checkpoint is initiated by the ALTER
SYSTEM
SUSPEND
or ALTER
SYSTEM
RESUME
statements.
You cannot issue SHUTDOWN
with IMMEDIATE
, NORMAL
, or TRANSACTIONAL
options while the database is suspended.
Issuing SHUTDOWN
ABORT
on a database that was already suspended reactivates the database. This prevents media recovery or crash recovery from hanging.
To make a split mirror backup in SUSPEND mode:
Place the database tablespaces in backup mode. For example, to place tablespace users
in backup mode enter:
ALTER TABLESPACE users BEGIN BACKUP;
If you are backing up all of the tablespaces for your database, you can instead use:
ALTER DATABASE BEGIN BACKUP;
If your mirror system has problems with splitting a mirror while disk writes are occurring, then suspend the database. For example, issue the following:
ALTER SYSTEM SUSPEND;
Check to make sure that the database is suspended by querying V$INSTANCE
. For example:
SELECT DATABASE_STATUS FROM V$INSTANCE; DATABASE_STATUS ----------------- SUSPENDED
Split the mirrors at the operating system or hardware level.
End the database suspension. For example, issue the following statement:
ALTER SYSTEM RESUME;
Check to make sure that the database is active by querying V$INSTANCE
. For example, enter:
SELECT DATABASE_STATUS FROM V$INSTANCE; DATABASE_STATUS ----------------- ACTIVE
Take the specified tablespaces out of backup mode. For example, enter the following to take tablespace users
out of backup mode:
ALTER TABLESPACE users END BACKUP;
Copy the control file and archive the online redo logs as usual for a backup.
Caution:
Do not use the ALTER
SYSTEM
SUSPEND
statement as a substitute for placing a tablespace in backup mode.
See Also:
Oracle Database Administrator's Guide for more information about theSUSPEND
/RESUME
feature, and Oracle Database SQL Reference for more information about the ALTER
SYSTEM
statement