【備份恢復】閃回資料庫(二) 基於 SCN 閃回資料庫
基於 SCN 閃回資料庫
1) 建立測試環境並獲取當前 SCN
SCOTT@ORA11GR2>create table fbdb_scn as select 1 as id,dbms_flashback.get_system_change_number as scn,sysdate as dd from dual;
Table created.
SCOTT@ORA11GR2>select * from fbdb_scn;
ID SCN DD
---------- ---------- -------------------
1 1873185 2016-10-01 07:17:06
--得到此時的 SCN,本次測試將資料庫“倒帶”到此處,也就是,最終的結果, fbdb_scn 表中只有一
條記錄。
SCOTT@ORA11GR2>select dbms_flashback.get_system_change_number as scn from dual;
SCN
----------
1873323
(或者在sys使用者select current_scn from v$database;)
SCOTT@ORA11GR2>insert into fbdb_scn select 2 as id,dbms_flashback.get_system_change_number as scn,sysdate as dd from dual;
1 row created.
SCOTT@ORA11GR2>commit;
Commit complete.
SCOTT@ORA11GR2>select * from fbdb_scn;
ID SCN DD
---------- ---------- -------------------
1 1873185 2016-10-01 07:17:06
2 1873381 2016-10-01 07:22:46
2) 刪除 scott 使用者
SCOTT@ORA11GR2>conn / as sysdba
Connected.
SYS@ORA11GR2>drop user scott cascade;
User dropped.
3) 資料庫啟動到 mount 模式,為閃回資料庫做準備
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.
正常關庫,一致性狀態儲存。啟動mount,利用控制檔案找到閃回日誌,並應用閃回日誌。
4) 執行基於 SCN 閃回資料庫操作
SYS@ORA11GR2>flashback database to scn 1873323;
Flashback complete.
5) 以 RESETLOGS 選項開啟資料庫
SYS@ORA11GR2>alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
(因為閃回資料庫相當於倒帶,無法應用日誌恢復到閃回時刻,屬於不完全恢復,為了保證日誌資訊和控制檔案等一致性狀態,必須resetlogs重置日誌)
SYS@ORA11GR2>alter database open resetlogs;
Database altered.
6) 驗證基於 SCN 閃回資料庫
SYS@ORA11GR2>select username from dba_users where username='SCOTT';
USERNAME
------------------------------
SCOTT
SYS@ORA11GR2>select * from scott.fbdb_scn;
ID SCN DD
---------- ---------- ---------
1 1873185 01-OCT-16
Scott使用者回來了,以及表fbdb_scn資料也只有一條。
7) 小結
- 成功的恢復了 scott 使用者
- 測試表 fbdb_scn 中的資料也是我們驗證的結果
- 因為是基於準確的 SCN 執行的閃回資料庫,所以沒有必要以 readonly 方式開啟資料庫來驗證
結果
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2126610/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫閃回Oracle資料庫
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Orcale利用閃回功能恢復資料
- 詳解oracle資料庫閃回Oracle資料庫
- Oracle 閃回資料庫測試Oracle資料庫
- dg_閃回資料庫實驗資料庫
- 騰訊基於全時態資料庫技術的資料閃回資料庫
- Oracle資料庫閃回區空間不足Oracle資料庫
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- 資料庫備份恢復資料庫
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- Oracle閃回功能恢復偶然丟失的資料(轉)Oracle
- flashback query閃回資料
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 【Oracle 12c資料庫支援閃回庫功能】實驗Oracle資料庫
- mongodb資料庫備份與恢復(資料庫資料遷移)MongoDB資料庫
- Mysql資料庫備份及恢復MySql資料庫
- 達夢資料庫備份恢復資料庫
- postgresql備份與恢復資料庫SQL資料庫
- SqlServer資料庫恢復備份資料的方法SQLServer資料庫
- Oracle 12.2新特性: PDB級閃回資料庫(Flashback PDB)Oracle資料庫
- 資料庫資料恢復—無備份,binlog未開啟的Mysql資料庫資料恢復案例資料庫資料恢復MySql
- pg_dump 備份,恢復資料庫資料庫
- Mongo 資料庫備份和恢復命令Go資料庫
- 資料庫備份與恢復技術資料庫
- PostgreSql資料庫的備份和恢復SQL資料庫
- my2sql資料閃回SQL
- NoSQL 資料庫案例實戰 -- MongoDB資料備份、恢復SQL資料庫MongoDB
- PG-pg_dump備份/恢復資料庫資料庫
- MySQL-19.資料庫備份與恢復MySql資料庫
- vivo 資料庫備份恢復系統演化資料庫
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- 工具分享丨資料閃回工具MyFlash
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- RMAN備份恢復典型案例——資料庫卡頓資料庫
- Linux下MySQL資料庫的備份與恢復LinuxMySql資料庫
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 閃迪隨身碟資料恢復資料恢復
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql