【備份恢復】閃回資料庫(一)閃回資料庫的管理
Flashback Database閃回資料庫:與RMAN的不完全恢復非常類似,它可以把整個資料庫回退到過去的某個時點的狀態,這個功能依賴於Flashback log日誌。比RMAN更快速和高效,因此Flashback Database 可以看作是不完全恢復的替代技術。閃回資料庫的前提是要開啟歸檔日誌。
閃回原理:在啟用閃回資料時,會將修改過的塊的前映像作為閃回資料庫日誌儲存在閃回恢復區中,如出現邏輯壞塊或使用者錯誤操作需要恢復到過去的時間點,閃回資料庫將還原資料庫的前映像,然後使用歸檔日誌和redo前滾到期望恢復的時間點,因為無需還原資料庫的資料檔案,所有此過程速度比較傳統的還原恢復通常快很多。
閃回限制:
① Flashback Database 不能解決Media Failure, 這種錯誤RMAN恢復仍是唯一選擇;
② 如果刪除了資料檔案或者利用Shrink技術縮小資料檔案大小,這時不能用Flashback Database技術回退到改變之前的狀態,這時候就必須先利用RMAN把刪除之前或者縮小之前的檔案備份restore出來,然後利用Flashback Database執行剩下的Flashback Database;
③ 如果控制檔案是從備份中恢復出來的,或者是重建的控制檔案,也不能使用Flashback Database。
④ 使用Flashback Database能恢復到的最早的SCN,取決與Flashback Log中記錄的最早SCN。
配置閃回引數:
閃回資料庫相關引數:
① db_recovery_file_dest #決定閃回恢復區路徑
② db_recovery_file_dest_size #決定閃回恢復區大小
③ db_flashback_retention_target #保留恢復最近多長時間的資料,單位為分鐘。
閃回相關檢視:
① V$restore_point
#閃回點
② V$FLASHBACK_DATABASE_LOG #閃回日終資訊
③ V$FLASHBACK_DATABASE_STAT
④ v$flash_recovery_area_usage; #閃回區使用率
1.1. 資料庫閃回基本步驟
前提:閃回歸檔日誌可用
1) 關閉資料庫
2) 啟動資料庫到 mount 狀態(exclusive 模式)
3) 閃回至某個時間點, SCN 或還原點
4) Read only 開啟資料庫,驗證是否已還原到理想的時間點
5) 使用 resetlogs 開啟資料庫
1.2. 常用閃回資料庫方法
1) 基於 SCN 閃回
FLASHBACK [STANDBY] DATABASE
[<database_name>] TO
[BEFORE] SCN
<system_change_number>
2) 基於時間戳閃回
FLASHBACK [STANDBY] DATABASE
[<database_name>] TO
[BEFORE] TIMESTMP
<system_timestamp_value>
3) 基於可靠還原點閃回
FLASHBACK [STANDBY] DATABASE
[<database_name>] TO
[BEFORE] RESTORE POINT
<restore_point_name>
4) RMAN 命令列執行閃回資料庫
1.3. 開啟資料庫閃回功能
1) 驗證資料庫是否開啟閃回, NO 表示未開啟(預設)
SYS@ORA11GR2>select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
2) 閃回日誌保留期限(預設保留 1 天,本測試改為保留 2 天)
SYS@ORA11GR2>show parameter flashback
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440
SYS@ORA11GR2>alter system set db_flashback_retention_target=2880;
System altered.
SYS@ORA11GR2>show parameter flashback
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 2880
3) 啟用閃回資料庫功能:
啟用閃回資料庫需使用閃回日誌,而閃回日誌在閃迴歸檔裡;閃迴歸檔又必須要啟用快速恢復區(因為閃迴歸檔在快速恢復區裡),同時又得啟用歸檔程式!!!!!
——前提:
查詢:
SYS@ORA11GR2>show parameter recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big intege r 0
db_unrecoverable_scn_tracking boolean TRUE
recovery_parallelism integer 0
SYS@ORA11GR2>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/arch2
Oldest online log sequence 49
Next log sequence to archive 51
Current log sequence 51
SYS@ORA11GR2>alter system set db_recovery_file_dest_size=3G;
System altered.
SYS@ORA11GR2>alter system set db_recovery_file_dest='/u01/app/FRA';
System altered.
驗證:
SYS@ORA11GR2>show parameter recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/FRA
db_recovery_file_dest_size big integer 3G
db_unrecoverable_scn_tracking boolean TRUE
recovery_parallelism integer 0
SYS@ORA11GR2>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/arch2
Oldest online log sequence 49
Next log sequence to archive 51
Current log sequence 51
SYS@ORA11GR2>
再修改:
SYS@ORA11GR2>show parameter log_archive
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string
log_archive_dest string
log_archive_dest_1 string location=/u01/app/arch1
log_archive_dest_10 string
log_archive_dest_11 string
log_archive_dest_12 string
log_archive_dest_13 string
log_archive_dest_14 string
log_archive_dest_15 string
log_archive_dest_16 string
log_archive_dest_17 string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_18 string
log_archive_dest_19 string
log_archive_dest_2 string location=/u01/app/arch2
log_archive_dest_20 string
log_archive_dest_21 string
解決:
SYS@ORA11GR2>alter system set log_archive_dest_2='';
System altered.
SYS@ORA11GR2>alter system set log_archive_dest_1='';
System altered.
SYS@ORA11GR2>alter system set db_recovery_file_dest='';
System altered.
SYS@ORA11GR2>alter system set db_recovery_file_dest='/u01/app/FRA';
System altered.
驗證:
SYS@ORA11GR2>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 55
Next log sequence to archive 57
Current log sequence 57
——啟動閃回資料庫:
SYS@ORA11GR2>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@ORA11GR2>
SYS@ORA11GR2>startup mount;
ORACLE instance started.
Total System Global Area 730714112 bytes
Fixed Size 2256832 bytes
Variable Size 452984896 bytes
Database Buffers 272629760 bytes
Redo Buffers 2842624 bytes
Database mounted.
SYS@ORA11GR2>
SYS@ORA11GR2>alter database flashback on;
(要將閃迴歸檔資訊入控制檔案中,在應用日誌之前)
Database altered.
驗證:
SYS@ORA11GR2>select flashback_on from v$database;
FLASHBACK_ON
------------------
YES
SYS@ORA11GR2>alter database open;
Database altered.
SYS@ORA11GR2>!ps -ef|grep rvw
oracle 3688 1 0 06:43 ? 00:00:00 ora_rvwr_ORA11GR2
oracle 4003 3312 0 06:44 pts/1 00:00:00 /bin/bash -c ps -ef|grep rvw
oracle 4005 4003 0 06:44 pts/1 00:00:00 grep rvw
RVWR:恢復寫入器(Recovery Writer) 負責維護閃回恢復區中塊的前映像,要與FLASHBACK DATABASE命令一起使用.
1.4. 監視閃回資料庫
1.4.1. 檢視快速恢復區磁碟配額
SYS@ORA11GR2>select estimated_flashback_size,flashback_size from v$flashback_database_log;
ESTIMATED_FLASHBACK_SIZE FLASHBACK_SIZE
------------------------ --------------
131973120 209715200
1)
ESTIMATED_FLASHBACK_SIZE 使用先前記錄的閃回資料,來估計要滿足當前閃回保留目標時閃回
日誌在快速恢復區中所需的磁碟空間。該估計基於以下兩段時間中較短時間段內的工作量:自例項啟
動以來的時間段或等於閃回保留目標的最近時間間隔。
2)
FLASHBACK_SIZE 提供當前閃回資料的大小,以位元組表示。
1.4.2. 確定當前閃回視窗
SYS@ORA11GR2>select oldest_flashback_scn,oldest_flashback_time from v$flashback_database_log;
OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TI
-------------------- -------------------
1816541 2016-09-30 13:48:58
3) OLDEST_FLASHBACK_SCN 顯示可以將資料庫閃回到的最小 SCN
4) OLDEST_FLASHBACK_TIME 顯示可以將資料庫閃回到的最小時間的近似值。
1.4.3. 監視閃回資料庫日誌中的事件記錄
SYS@ORA11GR2>select * from v$flashback_database_stat;
BEGIN_TIME END_TIME FLASHBACK_DATA DB_DATA REDO_DATA ESTIMATED_FLASHBACK_SIZE
------------------- ------------------- -------------- ---------- ---------- ------------------------------------------------------------------------------------------------
2016-10-01 07:03:54 2016-10-01 07:09:06 4546560 6406144 267264 0
使用 V$FLASHBACK_DATABASE_STAT 檢視監視閃回資料庫日誌中記錄閃回資料的開銷。此檢視包含
24 小時的資訊,每一行代表一個小時的時間間隔。可以使用此檢視確定閃回資料生成過程中的比率變化
1) BEGIN_TIME 開始時間間隔
2) END_TIME 結束時間間隔
3) FLASHBACK_DATA 時間間隔內寫入的閃回資料位元組數
4) DB_DATA 提供讀取和寫入的資料塊位元組數。此檢視還包含該間隔所需的估計閃回空間。
5) REDO_DATA 時間間隔內寫入的閃回重做資料位元組數
6) ESTIMATED_FLASHBACK_SIZE 該間隔所需的估計閃回空間
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2126609/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【備份恢復】閃回資料庫(五)RMAN 命令列閃回資料庫資料庫命令列
- 【備份恢復】閃回資料庫(二) 基於 SCN 閃回資料庫資料庫
- 【備份恢復】閃回資料庫(三)基於時間戳閃回資料庫資料庫時間戳
- 【備份恢復】閃回資料庫(四)基於可靠還原點閃回資料庫資料庫
- Oracle資料庫的閃回恢復區Oracle資料庫
- 閃回(關於閃回資料庫)資料庫
- 閃回資料庫資料庫
- 資料庫的閃回資料庫
- Oracle閃回技術之閃回資料庫Oracle資料庫
- Oracle資料庫閃回Oracle資料庫
- Oracle閃回資料庫Oracle資料庫
- 2 Day DBA-管理方案物件-執行備份和恢復-管理備份-練習:閃回資料庫物件資料庫
- 閃回資料庫的事情資料庫
- 【備份恢復】 閃回技術之閃回刪除
- 在物理備庫上部署閃回資料庫資料庫
- 閃回恢復一個表中的資料
- 【備份恢復】閃回技術之閃回版本查詢
- Flashback Database 閃回資料庫Database資料庫
- 監視閃回資料庫資料庫
- 實驗-閃回資料庫資料庫
- Orcale利用閃回功能恢復資料
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle 閃回技術 概覽 資料庫閃回功能Oracle資料庫
- 使用閃回查詢備份資料
- Oracle -- 閃回恢復區---實踐1---閃回庫Oracle
- (f)--閃回恢復區---實踐2---閃回表(閃回DML部分資料會用到閃回查詢)
- Backup And Recovery User's Guide-使用閃回資料庫-開啟閃回資料庫GUIIDE資料庫
- FlashBack總結之閃回資料庫與閃回刪除資料庫
- [Flashback]開啟資料庫閃回資料庫功能資料庫
- Oracle 閃回資料庫測試Oracle資料庫
- 詳解oracle資料庫閃回Oracle資料庫
- 基於SCN閃回資料庫資料庫
- Backup And Recovery User's Guide-使用閃回資料庫來回退資料庫-監控閃回資料庫GUIIDE資料庫
- oralce恢復誤刪除的表中的資料(閃回、閃回查詢)
- 閃回查詢恢復誤刪資料
- 資料庫基於版本的閃回資料庫
- 開啟資料庫的閃回功能:資料庫
- Backup And Recovery User's Guide-使用閃回資料庫來回退資料庫-執行閃回資料庫操作GUIIDE資料庫