Flash Recovery Area
The flash recovery area is a location on the filesystem or on an ASM disk group that holds files related to recovery.- Multiplexed controlfiles
- Multiplexed online redo logs
- Archived redo logs
- Flashback logs
- RMAN disk backups
- Files created by
RESTORE
andRECOVERY
commands.
The following example shows the parameters used to configure the flash recovery area.
The flashback technologies are covered in the Flashback New Features and Enhancements in Oracle Database 10g article.ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 2G; ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u01/app/oracle/flash_recovery_area'; ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET = 1440;
Incrementally Updated Backups
Using this feature all changes between the SCN of the original image copy and the SCN of the incremental backup are applied to the image copy, winding it forward to make the equivalent of a new database image copy without the overhead of such a backup. The following example shows how this can be used.TheRUN { RECOVER COPY OF DATABASE WITH TAG 'incr_backup' UNTIL TIME 'SYSDATE - 7'; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_backup' DATABASE; }
RECOVER COPY...
line will not do anything until the script has been running for more than 7 days. The BACKUP INCREMENTAL
line will perform a complete backup (level 0) the first day it is run,
with all subsequent backups being level 1 incremental backups. After 7
days, the RECOVER COPY...
line will start to take effect,
merging all incremental backups older than 7 days into the level 0
backup, effectively moving the level 0 backup forward. The effect of
this is that you will permanently have a 7 day recovery window with a 7
day old level 0 backup and 6 level 1 incremental backups. Notice that
the tag must be used to identify which incremental backups apply to
which image copies.If you wanted to keep your image copy as up to date as possible you might do the following.
In this example the incremental backup is merged into the image copy as soon as it is completed.RUN { BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_backup' DATABASE; RECOVER COPY OF DATABASE WITH TAG 'incr_backup'; }
Fast Incremental Backups
There are performance issues associated with incremental backups as the whole of each datafile must be scanned to identify changed blocks. In Oracle 10g it is possible to track changed blocks using a change tracking file. Enabling change tracking does produce a small overhead, but it greatly improves the performance of incremental backups. The current change tracking status can be displayed using the following query.Change tracking is enabled using theSELECT status FROM v$block_change_tracking;
ALTER DATABASE
command.By default the change tracking file is created as an Oracle Managed File (OMF) in the location pointed to by theALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
DB_CREATE_FILE_DEST
parameter. An alternate location can be specified using the following command.The tracking file is created with a minumum size of 10M and grows in 10M increments. It's size is typically 1/30,000 the size of the datablocks to be tracked.ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/u01/oradata/MYSID/rman_change_track.f' REUSE;
Change tracking can be disabled using the following command.
Renaming or moving a tracking file can be accomplished in the normal way using theALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
ALTER DATABASE RENAME FILE
command. If the instance cannot be restarted you can simply disable and
re-enable change tracking to create a new file. This method does result
in the loss of any current change information.BACKUP for Backupsets and Image Copies
In Oracle 10g theBACKUP
command has been extended to allow it to initiate backups of image copies in addition to backupsets. As a result the COPY
command has been deprecated in favour of this new syntax.RMAN supports the creation of image copies of datafiles and datafile copies, control files and controlfile copies, archived redo logs, and backup pieces.BACKUP AS COPY DATABASE; BACKUP AS COPY TABLESPACE users; BACKUP AS COPY DATAFILE 1;
Cataloging Backup Pieces
It is now possible to manually catalog a backup piece using theCATALOG
commands in RMAN. This allows backup files to be moved to alternate
locations or manually archived to tape and brought back for restore
operations. In Oracle 9i this functionality was only availabale for
controlfile copies, archivelog copies and datafile copies. In addition,
there are some shortcuts to allow multiple files to be cataloged using a
single command. The following examples give the general idea.The# Catalog specific backup piece. CATALOG BACKUPPIECE '/backup/MYSID/01dmsbj4_1_1.bcp'; # Catalog all files and the contents of directories which # begin with the pattern "/backup/MYSID/arch". CATALOG START WITH '/backup/MYSID/arch'; # Catalog all files in the current recovery area. CATALOG RECOVERY AREA NOPROMPT; # Catalog all files in the current recovery area. # This is an exact synonym of the previous command. CATALOG DB_RECOVERY_FILE_DEST NOPROMPT;
NOPROMPT
clause supresses user confirmation for all matching files.Improved RMAN Reporting Through V$ Views
Oracle 10g includes additional V$ views making the reporting of backup operations more transparent.- V$RMAN_OUTPUT - This is an in-memory view of the messages reported by RMAN holding a maximum of 32767 rows. Since this information is not recorded in the controlfile it is lost on instance restart.
- V$RMAN_STATUS - This view displays progress and status information for in-progress and complete RMAN jobs. The information for the in-progress jobs is memory only, while the complete job information comes from the controlfile.
- V$BACKUP_FILES
-
This view display information about RMAN image copies, backupsets
and archived logs, similar to the information listed by the RMAN
commands
LIST BACKUP
andLIST COPY
. This view relies on theDBMS_RCVMAN.SETDATABASE
procedure being run to set the database.
Automatic Instance Creation for RMAN TSPITR
If a tablespace point-in-time recovery (TSPITR) is initiated with no reference to an auxillary instance RMAN now automatically creates an one. The auxillary instance configuration is based on that of the target database. As a result, any channels required for the restore operations must be present in the target database so they are configured correctly in the auxillary instance. The location of the datafiles for the auxillary instance are specified using theAUXILIARY DESTINATION
clause shown below.The tablespace is taken offline, restored from a backup, recovered to the specified point-in-time in the auxillary instance and re-imported into the target database. The tablespace in the target database should then be backed up and the tablespace brought back online.RECOVER TABLESPACE users UNTIL LOGSEQ 2400 THREAD 1 AUXILIARY DESTINATION '/u01/oradata/auxdest';
On successful completion the auxillary instance will be cleaned up automatically. In the event of errors the auxillary instance is left intact to aid troubleshooting.BACKUP TABLESPACE users; SQL "ALTER TABLESPACE users ONLINE";
Cross-Platform Tablespace Conversion
TheCONVERT TABLESPACE
allows tablespaces to be
transported between platforms with different byte orders. The mechanism
for transporting a tablespaces is unchanged, this command merely
converts the tablespace to allow the transport to work.The platform of the source and destination platforms can be identified using the
V$TRANSPORTABLE_PLATFORM
view. The platform of the local server is not listed as no conversion in necessary for a matching platform.The tablespace conversion can take place on either the source or the destination server. The following examples show how the command is used in each case.SQL> SELECT platform_name FROM v$transportable_platform; PLATFORM_NAME ------------------------------------ Solaris[tm] OE (32-bit) ... ... Microsoft Windows 64-bit for AMD 15 rows selected.
In the first example the converted files are placed in the directory specified by the# Conversion on a Solaris source host to a Linux destincation file. CONVERT TABLESPACE my_tablespace TO PLATFORM 'Linux IA (32-bit)' FORMAT='/tmp/transport_linux/%U'; # Conversion on a Linux destination host from a Solaris source file. CONVERT DATAFILE= '/tmp/transport_solaris/my_ts_file01.dbf', '/tmp/transport_solaris/my_ts_file02.dbf' FROM PLATFORM 'Solaris[tm] OE (32-bit)' DB_FILE_NAME_CONVERT '/tmp/transport_solaris','/u01/oradata/MYDB';
FORMAT
clause. In the second example the specified datafiles are converted to
the local servers platform and placed in the correct directory specified
by the DB_FILE_NAME_CONVERT
clause.Enhanced Stored Scripts Commands
Scripts can now be defined as global allowing them to be accessed by all databases within the recovery catalog. The syntax for global script manipulation is the same as that for regular scripts with the addition of theGLOBAL
clause prior the word SCRIPT
. Examples of it's usage are shown below.CREATE GLOBAL SCRIPT full_backup { BACKUP DATABASE PLUS ARCHIVELOG; DELETE FORCE NOPROMPT OBSOLETE; } CREATE GLOBAL SCRIPT full_backup FROM FILE 'full_backup.txt'; RUN { EXECUTE GLOBAL SCRIPT full_backup; } PRINT GLOBAL SCRIPT full_backup; LIST GLOBAL SCRIPT NAMES; LIST ALL SCRIPT NAMES; # Global and local scripts. REPLACE GLOBAL SCRIPT full_backup { BACKUP DATABASE PLUS ARCHIVELOG; DELETE FORCE NOPROMPT OBSOLETE; } REPLACE GLOBAL SCRIPT full_backup FROM FILE 'full_backup.txt'; DELETE GLOBAL SCRIPT 'full_backup';
Backupset Compression
TheAS COMPRESSED BACKUPSET
option of the BACKUP
command allows RMAN to perform binary compression of backupsets. The
resulting backupsets do not need to be uncompressed during recovery. It
is most useful in the following circumstances:- You are performing disk-based backup with limited disk space.
- You are performing backups across a network where network bandwidth is limiting.
- You are performing backups to tape, CD or DVD where hardware compression is not available.
TheCONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE DEFAULT DEVICE TYPE TO DISK; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backups/MYSID/%d_DB_%u_%s_%p';
AS COMPRESSED BACKUPSET
option can be used explicitly in the backup command.Alternatively the option can be defined using the# Whole database and archivelogs. BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG; # Datafiles 1 and 5 only. BACKUP AS COMPRESSED BACKUPSET DATAFILE 1,5;
CONFIGURE
command.Compression requires additional CPU cycles which may affect the performance of the database. For this reason it should not be used for tape backups where hardware compression is available.# Configure compression. CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET; # Whole database and archivelogs. BACKUP DATABASE PLUS ARCHIVELOG;
Restore Preview
ThePREVIEW
option of the RESTORE
command
allows you to identify the backups required to complete a specific
restore operation. The output generated by the command is in the same
format as the LIST
command. In addition the PREVIEW SUMMARY
command can be used to produce a summary report with the same format as the LIST SUMMARY
command. The following examples show how these commands are used.# Preview RESTORE DATABASE PREVIEW; RESTORE TABLESPACE users PREVIEW; # Preview Summary RESTORE DATABASE PREVIEW SUMMARY; RESTORE TABLESPACE users PREVIEW SUMMARY;
Managing Backup Duration and Throttling
TheDURATION
clause of the of the BACKUP
command restricts the total time available for a backup to complete. At
the end of the time window backup is interrupted with any incomplete
backupsets discarded. All complete backupsets aer kept and used for
future restore operations. The following examples show how it is used.BACKUP DURATION 2:00 TABLESPACE users; BACKUP DURATION 5:00 DATABASE PLUS ARCHIVELOGS;
Miscellaneous
- Disk Topology and Automatic Performance Tuning - RMAN includes a new disk topology API allowing it to work with more platforms and file types. The information from this API allows RMAN to automatically tune some parameters related to multiplexing and disk buffers, decreasing the need to human intervention.
- Automatic Datafile Creation - RMAN will automatically create missing datafiles in two circumstances. First, when the backup controlfile contains a reference to a datafile, but no backup of the datafile is present. Second, when a backup of the datafile is present, but there is no reference in the controlfile as it was not backed up after the datafile addition.
- Proxy Archived Log Backups
-
During a proxy backup the media manager takes over full control of
the backup process. RMAN is now able to backup and restore proxy copies
of archived redo logs
if a suitable media manager is used. If a suitable media manager
is not available
PROXY
clause is ignored and a regular backup is performed. Using thePROXY ONLY
results in an error of a proxy backup cannot be performed. - Restore Failover -
RMAN now allows the recovery process to preceed from one
incarnation through to another. The contents of the online redo logs are
archived before being cleared
when an
OPEN RESTLOGS
operation is issued. As a result it is no longer necessary to create a new backup afterOPEN RESTLOGS
operations. - Recovery Through Restlogs -
When a backup file contains corrupt blocks or is inaccesible during restore operations (
RECOVER
,BLOCKRECOVER
, andFLASHBACK DATABASE
) RMAN automatically looks for another copy of the file. If one is not available RMAN will use older versions of the file if available. Only if a suitable copy of the file cannot be found will an error be produced. Successful failover operations result in an associated output message. - Channel Failover - When multiple channels are available for the same device type retriable errors in a backup step will automatically be retried on another channel. Retriable errors are usually associated with media managers failing to access tapes or instance failures in RAC environments.
- Deferred Error Reporting - In addition to error messages during the job execution, the error stack at the end of the command execution now displays errors for all failed steps, making identification of failed step easier.
No comments:
Post a Comment