Orace Flash Restore Point(閃回還原點)
還原點(Restore point)是Oracle10gR2配合Flashback database推出的一個新特性。Restore point可以單獨使用,也可以和Flashback database聯合使用。
我們知道,Flashback database提供了一種將資料庫整個的回滾到之前某個時間點的功能,相當於使用之前的某個備份做基於時間點的恢復,但是比基於時間點的恢復更有效率,因為無需執行備份資料檔案的複製,只需要使用flashback log執行資料庫回滾即可。也就是說,要使用flashback database功能,必須保證所需要的所有flashback log存在(即開了閃回功能)。flashback log存放在flashback recovery area中。由於falshback log中需要包含變更的資料塊的映象,設定過長的flashback retention target,可能導致flashback recovery area空間不足。
Restore point有兩種型別:Normal和Guaranteed。
Normal restore point相當於某個時間點或者SCN的一個別名。restore point的名字和對應的SCN會儲存在控制檔案中。建立了normal restore point後,如果需要執行flashback database/flashback table/point-in-time recovery等操作時,就可以制定目標時間點為該restore point,而不需要指定當時的SCN了。在很多關於恢復和閃回的試驗中,作者都是在試驗前查詢系統當前的SCN,執行某些操作,然後恢復或者閃回到之前查詢到的SCN。有了normal restore point後,就不再需要查詢系統當前scn了,只需要建立一個有意思的normal restore point名,以後使用該名字即可。
Guaranteed restore point的功能和normal restore point的功能基本一致,也是作為SCN的一個別名。但是它還有一些和flashback database相關的特性。前面也提到,在執行flashback database到之前的某個時間點時,必須保證所需要的flashback log存在。
建立一個guaranteed restore point,可以保證能將資料庫flashback到該點,即使沒有系統啟用flashback database日誌!這是因為,在建立guaranteed restore point之後,對於任何block的第一次變更,都會將其前映象整個的記錄下來。
如果系統啟用了flashback database日誌,那麼guaranteed restore point可以保證能將資料庫flashback到guaranteed restore point之後的任何時間點。
1.建立還原點:
還原點模式(normal,guaranteed)
閃回還原點分兩種,一種是Normal Restore Points(正常還原點),另一種是Guaranteed Restore Points(擔保還原點)
正常還原點和擔保還原點的資訊都是儲存在控制檔案,區別在於正常還原點的資訊如果不手動刪除控制檔案也會自動維護管理刪除,而擔保還原點如果不手動刪除,控制檔案是不會自動刪除的,也就說只要設立了擔保還原點沒有手動刪除,資料庫就一定能恢復到那個還原點狀態。如果擔保還原點和Flashback Database一起使用,那麼資料庫就能閃回到擔保還原點起和之後的任何時間點。
注:
guaranteed模式下只要有足夠的閃回區,不會受DB_FLASHBACK_RETENTION_TARGE引數影響。
normal還原點至少保留2048個,保留的個資料受CONTROL_FILE_RECORD_KEEP_TIME引數決定,預設值是7天。
#######Guaranteed 還原點建立
建立guaranteed還原點,必須滿足以下條件:
a.建立一個guaranteed 還原點必須有SYSDBA系統許可權。建立一個normal還原點,你必須有SELECT ANY DICTIONARY or FLASHBACK ANY TABLE privilege
b.必須建立flash recovery area
配置flash recover area共需要二個引數(DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE)這兩個引數可以在資料庫執行過程中線上修改,修改後立即生效,比如以下列子:
SQL>alter system set db_recovery_file_dest='+dist1' scope=both;
SQL>alter system set db_recovery_file_dest_size='10g' socpe=both sid='例項1';
c.資料庫必須是歸檔模式(如果是擔保還原點,歸檔目錄必須是共享的,因為在FLASHBACK DATABASE NOT STARTED - REQUIRED REDO LOG IS NOT AVAILABLE(文件 ID 560686.1),或者歸檔進行了備份透過RMAN命令視窗,呼叫backup進行還原)
$> su – oracle
$> sqlplus / as sysdba;
Find out if ARCHIVELOG is enabled
SQL> select log_mode from v$database;
If step 3 shows that ARCHIVELOG is not enabled then continue else skip to step 8 below.
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> create restore point CLEAN_DB guarantee flashback database;
where CLEAN_DB is the name given to the guaranteed restore point.
Viewing the guaranteed restore point
檢查建立的還原點,記錄對應的SCN號。
SQL> select * from v$restore_point;
#######閃回guaranteed還原點
$> su – oracle
$> sqlplus / as sysdba;
SQL> select current_scn from v$database;
SQL> shutdown immediate;
----閃回guaranteed時資料庫必須mount狀態不能OPEN
SQL> startup mount;
SQL> select * from v$restore_point;
SQL> flashback database to restore point CLEAN_DB;
SQL> alter database open resetlogs;
------對比建立還原點時記錄的SCN號
SQL> SQL> select current_scn,log_mode,flashback_on from v$database;
CURRENT_SCN LOG_MODE FLASHBACK_ON
----------- ------------ ------------------
1933454 ARCHIVELOG RESTORE POINT ONLY ======>沒有開啟flashback database功能時
注:如下就是歸檔沒有被共享的情況;
SQL> flashback database to restore point CLEAN_DB;
flashback database to restore point CLEAN_DB
*
ERROR at line 1:
ORA-38754: FLASHBACK DATABASE not started; required redo log is not available
ORA-38762: redo logs needed for SCN 13015580437922 to SCN 13015580437926
ORA-38761: redo log sequence 203744 in thread 2, incarnation 1 could not be
accessed
注:歸檔目錄必須在共烹的檔案系統裡,否則不能還原回去;
alter system set log_archive_dest_1='LOCATION=/dbreplay/arch5' scope=spfile sid='oyy3a';
alter system set log_archive_dest_1='LOCATION=/dbreplay/arch6' scope=spfile sid='oyy3b';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29446986/viewspace-1248038/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 閃回還原點restore pointREST
- restore point特色二&閃回資料庫特性(三)REST資料庫
- 【PDB】pdb閃回,Oracle還原點Oracle
- 還原點和閃回資料庫資料庫
- 利用可靠還原點進行資料庫閃回資料庫
- RESTORE POINTREST
- 【備份恢復】閃回資料庫(四)基於可靠還原點閃回資料庫資料庫
- Backup And Recovery User's Guide-使用閃回資料庫和還原點-正常的還原點GUIIDE資料庫
- Backup And Recovery User's Guide-理解閃回資料庫、還原點和保證還原點GUIIDE資料庫
- Backup And Recovery User's Guide-使用閃回資料庫和還原點-閃回資料庫GUIIDE資料庫
- Backup And Recovery User's Guide-使用閃回資料庫和還原點-保證的還原點GUIIDE資料庫
- oracle小知識點3--有保證的復原點guaranteed restore pointOracleREST
- Backup And Recovery User's Guide-使用閃回資料庫和還原點-閃回資料庫的限制GUIIDE資料庫
- Backup And Recovery User's Guide-使用閃回資料庫和還原點-閃回資料庫視窗GUIIDE資料庫
- Oracle 閃回區(Oracle Flash recovery area)Oracle
- Backup And Recovery User's Guide-使用閃回資料庫和還原點-保證還原點與儲存快照對比GUIIDE資料庫
- 閃回和drop原 undo tbs的一點分析
- restore point -特色的SCN標誌(一)REST
- Backup And Recovery User's Guide-閃回資料庫日誌和保證的還原點GUIIDE資料庫
- rman 還原歸檔日誌(restore archivelogRESTHive
- rman 還原歸檔日誌(restore archivelog)RESTHive
- Oracle10GR2 中的RESTORE POINTOracleREST
- Backup And Recovery User's Guide-閃回資料庫和保證還原點的先決條件GUIIDE資料庫
- Backup And Recovery User's Guide-具有保證還原點定義的閃回資料庫日誌GUIIDE資料庫
- [20171204]guaranteed restore point.txtREST
- 閃回表、閃回查詢
- Backup And Recovery User's Guide-閃回日誌關閉時的保證的還原點的日誌GUIIDE
- oracle10g新特性:閃回恢復區(Flash recovery area)Oracle
- oracle 還原點Oracle
- 閃回(關於閃回查詢)
- 閃回刪除、閃回查詢
- 閃回技術二:閃回表
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- 閃回(關於閃回資料庫)資料庫
- 基本閃回查詢和閃回表
- 閃回技術一:閃回查詢
- [20160820]11g Restore Point EnhancementsREST
- How to Create or Remove Restore Point on Standby database (文件 ID 1672977.1)REMRESTDatabase