【備份與恢復】使用Flashback Database(不完全恢復)
使用SQL*Plus進行閃回:
SQL*Plus閃回語法可以接受一個時間標記或一個系統改變號實參,與RMAN不同的是,這種語法不接受日期或日誌切換序列號實參。
如果不能確定需要返回的時間點,那麼就可能透過組合閃回與恢復進行多次嘗試。以下面給出的場景為例。
在2004年12月20日的10:00左右,某位初級的DBA誤以為自己登入了測試資料庫,因而在其實際登入的產品資料庫上刪除了一個重要的模式。我們會在十分鐘之內注意到這個錯誤,不過呼叫中心使用這個大型且繁忙的資料庫來接手指令和計算每秒鐘的處理數。在這種情況下,第一個步驟應當是關閉資料庫:
SQL> shutdown abort;
這裡不需要使用其他型別的關閉,其原因在於所有正在進行中的工作都將丟失,並且需要最小化停機時間。隨後,將資料庫返回至10:00:
SQL> startup mount;
SQL> flashback database to timestamp to _timestamp('20-12-04 10:00:00','dd-mm-yy hh24:mi:ss');
SQL> alter database open read only;
須要注意的是,上面的命令對用於時間標記格式的NLS設定十分敏感,這與RECOVER DATABASE UNTIL TIME命令不同。因為資料庫位於只讀模式中,所以我們能夠執行一個針對被刪除模式的查詢。如果發現仍然存在這個模式,那麼可能需要再恢復一些使用者資料。
SQL> shutdown abort;
SQL> startup mount;
SQL> recover database until time '2004-12-20:10:02:00';
SQL> alter database open read only;
再次執行測試查詢,就會發現又經過兩分鐘的恢復後指定的模式消失:這個模式肯定是在10:00到10:02之間被刪除的。因此,我們採用了折中的方法:
SQL> shutdown abort;
SQL> startup mount;
SQL> flashback database to timestamp to _timestamp('20-12-04 10:01:00','dd-mm-yy hh24:mi:ss');
SQL> alter database open read only;
如果指定模式已不存在,那麼可以再閃回幾秒鐘。如果指定模式仍然存在,那麼可以再執行幾秒鐘的恢復。透過在指定模式中執行查詢所進行的測試,我們就可以重複地執行閃回和恢復命令,直至查詢到所期望的時間點。到達滿足要求的某個時間點時,進行最終的關閉,然後再使用RESETLOGS命令建立一個能夠正常使用的已開啟的新資料庫場景:
SQL> shutdown abort;
SQL> startup mount;
SQL> alter database open resetlogs;
使用RMAN進行閃回:
在RMAN環境內,我們可以選擇將資料庫閃回之某個時間點、某個SCN或某個日誌切換序列號:
RMAN> flashback database to time = to_date('20-12-04 10:00:00','yy-mm-dd hh24:mi:ss');
RMAN> flashback database to scn=2728665;
RMAN> flashback database to sequence=2123 thread=1;
除了語法中的細微變化之外,RMAN閃回與SQL*Plus閃回是相同的,特別是能夠使用重複應用閃回和恢復的相同方法查詢到開啟資料庫的最最佳化時間點。
SQL*Plus閃回語法可以接受一個時間標記或一個系統改變號實參,與RMAN不同的是,這種語法不接受日期或日誌切換序列號實參。
如果不能確定需要返回的時間點,那麼就可能透過組合閃回與恢復進行多次嘗試。以下面給出的場景為例。
在2004年12月20日的10:00左右,某位初級的DBA誤以為自己登入了測試資料庫,因而在其實際登入的產品資料庫上刪除了一個重要的模式。我們會在十分鐘之內注意到這個錯誤,不過呼叫中心使用這個大型且繁忙的資料庫來接手指令和計算每秒鐘的處理數。在這種情況下,第一個步驟應當是關閉資料庫:
SQL> shutdown abort;
這裡不需要使用其他型別的關閉,其原因在於所有正在進行中的工作都將丟失,並且需要最小化停機時間。隨後,將資料庫返回至10:00:
SQL> startup mount;
SQL> flashback database to timestamp to _timestamp('20-12-04 10:00:00','dd-mm-yy hh24:mi:ss');
SQL> alter database open read only;
須要注意的是,上面的命令對用於時間標記格式的NLS設定十分敏感,這與RECOVER DATABASE UNTIL TIME命令不同。因為資料庫位於只讀模式中,所以我們能夠執行一個針對被刪除模式的查詢。如果發現仍然存在這個模式,那麼可能需要再恢復一些使用者資料。
SQL> shutdown abort;
SQL> startup mount;
SQL> recover database until time '2004-12-20:10:02:00';
SQL> alter database open read only;
再次執行測試查詢,就會發現又經過兩分鐘的恢復後指定的模式消失:這個模式肯定是在10:00到10:02之間被刪除的。因此,我們採用了折中的方法:
SQL> shutdown abort;
SQL> startup mount;
SQL> flashback database to timestamp to _timestamp('20-12-04 10:01:00','dd-mm-yy hh24:mi:ss');
SQL> alter database open read only;
如果指定模式已不存在,那麼可以再閃回幾秒鐘。如果指定模式仍然存在,那麼可以再執行幾秒鐘的恢復。透過在指定模式中執行查詢所進行的測試,我們就可以重複地執行閃回和恢復命令,直至查詢到所期望的時間點。到達滿足要求的某個時間點時,進行最終的關閉,然後再使用RESETLOGS命令建立一個能夠正常使用的已開啟的新資料庫場景:
SQL> shutdown abort;
SQL> startup mount;
SQL> alter database open resetlogs;
使用RMAN進行閃回:
在RMAN環境內,我們可以選擇將資料庫閃回之某個時間點、某個SCN或某個日誌切換序列號:
RMAN> flashback database to time = to_date('20-12-04 10:00:00','yy-mm-dd hh24:mi:ss');
RMAN> flashback database to scn=2728665;
RMAN> flashback database to sequence=2123 thread=1;
除了語法中的細微變化之外,RMAN閃回與SQL*Plus閃回是相同的,特別是能夠使用重複應用閃回和恢復的相同方法查詢到開啟資料庫的最最佳化時間點。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11411056/viewspace-733755/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【備份與恢復】控制檔案的恢復(不完全恢復)
- Oracle 備份恢復之 FlashbackOracle
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- 備份與恢復--利用備份的控制檔案恢復
- 備份與恢復:用user模式基於日誌序列的不完全恢復模式
- 備份與恢復:用rman方式基於日誌序列的不完全恢復
- MySQL 非常規恢復與物理備份恢復MySql
- 備份與恢復(Parameter 檔案恢復篇)
- 備份與恢復系列 十一 控制檔案的備份與恢復
- 【Mysql】完全恢復與不完全恢復MySql
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- Postgresql 備份與恢復SQL
- MySQL備份與恢復MySql
- MySQL 備份與恢復MySql
- 【備份恢復】從備份恢復資料庫資料庫
- 【管理篇備份恢復】備份恢復基礎
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 備份與恢復系列 十 引數檔案spfile的備份與恢復
- Oracle冷備份級冷備份的不完全恢復Oracle
- Oracle 備份 與 恢復 概述Oracle
- gitlab備份與恢復Gitlab
- MongoDB之備份與恢復MongoDB
- SiteServer CMS 備份與恢復Server
- Oracle RAC備份與恢復Oracle
- Mysql的備份與恢復MySql
- Mysql 備份與恢復 二MySql
- Oracle備份與恢復 (zt)Oracle
- Oracle備份與恢復案例Oracle
- Oracle備份與恢復(轉)Oracle
- Jenkins備份與恢復Jenkins
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- 備份&恢復之四:非歸檔模式下的備份與恢復模式
- 【備份與恢復】恢復受損的口令檔案
- 【備份恢復】資料恢復指導資料恢復
- Oracle手工不完全恢復(二):使用備份控制檔案Oracle