Incrementally Updated Backups(增量合併備份,10gR2的特點)
doc解釋了一堆,還真不是很好理解...如果能圖釋一下我想要清楚的多。
利用下面命令實現增量合併(Updated,oracle用updated這個詞我覺得其實更準確):BACKUP INCREMENTAL 1 FOR RECOVER OF COPY
...
其實首先要有一個所有datafile的一個copy(如果0級copy不存在,即使上面命令指定的是1級,那麼oracle還是首先要做一個0級複製),之後oracle基於這個0級複製做1級增量備份,每次的增量備份都要合併以前的增量備份以便保證這個最新的增量備份是“相當於”從0級開始備的,至於合併那個增量備份要看命令BACKUP INCREMENTAL 1 FOR RECOVER OF COPY TAG...中指定的tag,這個命令完成的其實是差異增量備份、但是最終的效果就是0級複製+1級累計增量備份。真是一個不錯的思想!利用差異增量備份的思想達到累計增量備份的效果。
[@more@]4.4.3 Incrementally Updated Backups: Rolling Forward Image Copy Backups
Oracle's Incrementally Updated Backups feature lets you avoid the overhead of taking full image copy backups of datafiles, while providing the same recovery advantages as image copy backups.
At the beginning of a backup strategy, RMAN creates an image copy backup of the datafile. Then, at regular intervals, such as daily, level 1 incremental backups are taken, and applied to the image copy backup, rolling it forward to the point in time when the level 1 incremental was created.
During restore and recovery of the database, RMAN can restore from this incrementally updated copy and then apply changes from the redo log, with the same results as restoring the database from a full backup taken at the SCN of the most recently applied incremental level 1 backup.
A backup strategy based on incrementally updated backups can help minimize time required for media recovery of your database. For example, if you run scripts to implement this strategy daily, then at recovery time, you never have more than one day of redo to apply.
4.4.3.1 Incrementally Updated Backups: A Basic Example
To create incremental backups for use in an incrementally updated backups strategy, you must use the BACKUP
... FOR
RECOVER
OF
COPY
WITH
TAG
form of the BACKUP
command. How the command works is best understood in the context of an example script that would implement the strategy.
This script, run on a regular basis, is all that is required to implement a strategy based on incrementally updated backups:
RUN { RECOVER COPY OF DATABASE WITH TAG 'incr_update'; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE; }
The syntax used in the script does not, however, make it clear how the strategy works. To understand the script and the strategy, it is necessary to understand the effects of these two commands when no datafile copies or incremental backups exist.
The
BACKUP INCREMENTAL LEVEL 1... FOR RECOVER OF COPY WITH TAG
... command does not actually always create a level 1 incremental backup. If there is no level 0 image copy backup of an particular datafile, then executing this command creates an image copy backup of the datafile on disk with the specified tag instead of creating the level 1 backup.Note:
Even when theBACKUP INCREMENTAL LEVEL 1
...FOR
RECOVER
OF
COPY
command is used withDEVICE
TYPE
SBT
to create a backup on tape, the first time it is used it creates the image copy on disk, and does not write any backup on tape. Subsequent incremental level 1 backups can be created on tape once the image copy is on disk.Thus, the first time the script runs, it creates the image copy of the datafile needed to begin the cycle of incremental updates. In the second run and all subsequent runs, it produces level 1 incremental backups of the datafile.
The
RECOVER COPY OF DATABASE WITH TAG
... command causes RMAN to apply any available incremental level 1 backups to a set of datafile copies with the specified tag.If there is no incremental backup or no datafile copy, the command generates a message but does not generate an error.
The first time the script runs, this command has no effect, because there is neither a datafile copy nor a level 1 incremental backup.
The second time the script runs, there is a datafile copy (created by the first
BACKUP
command), but no incremental level 1 backup, so again, the command has no effect.On the third run and all subsequent runs, there is a datafile copy and a level 1 incremental from the previous run, so the level 1 incremental is applied to the datafile copy, bringing the datafile copy up to the checkpoint SCN of the level 1 incremental.
Note also the following details about how this example works:
Each time a datafile is added to the database, an image copy of the new datafile is created the next time the script runs. The time after that, the first level 1 incremental for that datafile is created, and on all subsequent runs the new datafile is processed like any other datafile.
Tags must be used to identify the incremental level 0 datafile copies created for use in this strategy, so that they do not interfere with other backup strategies you implement. If you have multiple incremental backup strategies in effect, RMAN cannot unambiguously create incremental level 1 backups unless you tag level 0 backups.
The incremental level 1 backups to apply to those image copies are selected based upon the checkpoint SCNs of the image copy datafiles and the available incremental level 1 backups. (The tag used on the image copy being recovered is not a factor in the selection of the incremental level backups.)
In practice, you would schedule the example script to run once each day, possibly at midnight. On a typical night (that is, after the first two nights), when the script completed the following files would be available for a point-in-time recovery:
An image copy of the database, as of the checkpoint SCN of the preceding run of the script, 24 hours earlier
An incremental backup for the changes since the checkpoint SCN of preceding run
Archived redo logs including all changes between the checkpoint SCN of the image copy and the current time
If, at some point during the following 24 hours, you need to restore and recover your database from this backup, for either complete or point-in-time recovery, you can restore the datafiles from the incrementally updated datafile copies, and apply changes from the most recent incremental level 1 and the redo logs to reach the desired SCN. At most, you will have 24 hours of redo to apply, which limits how long point-in-time recovery will take.
See Also:
to see how this technique is used in the Oracle-suggested backup strategy in Enterprise Manager.4.4.3.2 Incrementally Updated Backups: A One Week Example
The basic example can be extended to provide fast recoverability to a window greater than 24 hours. Alter the RECOVER COPY... WITH TAG
to perform incomplete recovery of the datafile copies to the point in time in the past where you want your window of recoverability to begin. This example shows how to maintain a seven day window:
RUN { RECOVER COPY OF DATABASE WITH TAG 'incr_update' UNTIL TIME 'SYSDATE - 7'; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE; }
The effect of the script is as follows:
On the first night the
RECOVER COPY... UNTIL TIME
statement has no effect, and theBACKUP INCREMENTAL... FOR RECOVER OF COPY
statement creates the incremental level 0 copy.On the second through seventh nights, the
RECOVER COPY... UNTIL TIME
statement has no effect becauseTIME 'SYSDATE - 7'
is still a time in the future. TheBACKUP INCREMENTAL... FOR RECOVER OF COPY
statement creates differetial incremental level 1 backups containing the block changes for the previous day.On the eighth and all subsequent nights night, the
RECOVER COPY... UNTIL TIME
statement applies the level 1 incremental from seven days ago to the copy of the database. TheBACKUP INCREMENTAL... FOR RECOVER OF COPY
statement creates an incremental backup containing the changes for the previous day.
As with the basic example, you have fast recoverability to any point in time between the SCN of the datafile copies and the present, using block changes from the incremental backups and individual changes from the redo logs. Because you have the daily level 1 incrementals, you still never need to apply more than one day of redo.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1047399/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 10G 新特性(INCREMENTALLY UPDATED BACKUPS)學習Oracle 10gREM
- Oracle的差異增量備份和累積增量備份Oracle
- Oracle的差異增量備份和累積增量備份(zt)Oracle
- Oracle之差異增量備份與累積增量備份Oracle
- Mysql增量備份MySql
- 增量備份 PostgreSQLSQL
- 完全備份、差異備份、增量備份的區別
- XtraBackup完整備份與增量備份的原理
- rman備份和增量備份指令碼指令碼
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-累積增量備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-差異增量備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-多級增量備份GUIIDE
- Oracle RMAN 增量備份Oracle
- 【MySql】innobackupex 增量備份的bugMySql
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-增量備份演算法GUIIDE演算法
- Oracle 11g RMAN備份-增量備份Oracle
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-累積增量備份-練習GUIIDE
- MySQL 定時增量備份MySql
- rman增量備份指令碼指令碼
- Backup And Recovery User's Guide-建立和更新增量備份-增量備份的目的GUIIDE
- MySQL增量備份的指令碼(innobackupex)MySql指令碼
- 兩種增量備份的區別!
- oracle資料庫備份之exp增量備份Oracle資料庫
- oracle聯機熱備份的原理,及rman增量備份原理Oracle
- Oracle聯機熱備份的原理及rman增量備份原理Oracle
- Backup And Recovery User's Guide-建立和更新增量備份-增量更新備份GUIIDE
- 使用innobackupex線上增量備份和再增量備份及恢復mysql資料庫MySql資料庫
- 【RMAN】使用增量備份更新資料庫備份映象資料庫
- RMAN說,我能備份(9)--RMAN增量備份與備份保留策略
- mysql innobackupex增量備份恢復MySql
- Backup And Recovery User's Guide-建立和更新增量備份-進行增量備份GUIIDE
- mysql備份還原-基於binlog的增量備份還原MySql
- 資料庫差異備份與增量備份的不同之處資料庫
- oracle聯機熱備份的原理及rman增量備份原理(zt)Oracle
- Backup And Recovery User's Guide-進行增量備份-進行VSS快照的增量備份(略)GUIIDE
- mysql之 Innobackupex(全備+增量)備份恢復MySql
- Backup And Recovery User's Guide-建立和更新增量備份-規劃增量備份策略GUIIDE
- oracle 增量備份恢復驗證Oracle