oracle flashback特性(3.2)--Flashback Database操作示例
Flashback database即可以在rman中執行,也可以在sql*plus中執行,其命令格式都是一樣的,在這個示例中,我們所有操作都是在sql*plus中執行。
A. 檢查是否啟動了flash recovery area:
JSSWEB> show parameter db_recovery_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string f:oracleoradatajsswebrecoveryarea
db_recovery_file_dest_size big integer 2G
B. 檢查是否啟用了歸檔
JSSWEB> archive log list;
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 USE_DB_RECOVERY_FILE_DEST
最早的聯機日誌序列 51
下一個存檔日誌序列 53
當前日誌序列 53
C. 檢查是否啟用了flashback database和force_logging
JSSWEB> select flashback_on,force_logging from v$database;
FLASHBACK_ON FOR
------------------ ---
YES YES
D. 查詢當前的scn
JSSWEB> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
-----------
686384
JSSWEB> select current_scn from v$database;
CURRENT_SCN
-----------
213749
E. 模擬誤刪除操作
JSSWEB> conn jss/jss
已連線。
JSSWEB> drop table jss_tb1;
表已刪除。
JSSWEB> delete jss_tb2 where id>5;
已刪除15行。
JSSWEB> select count(0) from jss_tb2;
COUNT(0)
----------
5
JSSWEB> commit;
提交完成。
F. 重新啟動到mount狀態,然後執行恢復
JSSWEB> conn / as sysdba
已連線。
JSSWEB> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
JSSWEB> startup mount
ORACLE 例程已經啟動。
Total System Global Area 343932928 bytes
Fixed Size 1296620 bytes
Variable Size 125830932 bytes
Database Buffers 209715200 bytes
Redo Buffers 7090176 bytes
資料庫裝載完畢。
JSSWEB> flashback database to scn 686384;
閃回完成。
提示:此處flashback database to timestamp也是一樣的,不過你需要估計好恢復到的時間點。
注意此處,在你執行完flashback database命令之後,oracle提供了兩種方式讓你修復資料庫:
第一種直接alter database open resetlogs開啟資料庫,當然,指定scn或者timestamp時間點之後產生的資料統統丟失。
另一種方式是先執行alter database open read only命令以read-only模式開啟資料庫,然後立刻透過邏輯匯出的方式將誤操作涉及表的資料匯出,再執行recover database命令以重新應用資料庫產生的redo,將資料庫修復到flashback database操作前的狀態,然後再透過邏輯匯入的方式,將之前誤操作的表重新匯入,這樣的話對現有資料的影響最小,不會有資料丟失。
由於是演示過程,為了更簡便和快速,我們這裡採用方法一中提示的方式,但如果是比較重要的資料庫的話,你要採用哪種方式,就需要仔細評估一下了。
G. 開啟資料庫
JSSWEB> alter database open resetlogs;
資料庫已更改。
H. 驗證資料
JSSWEB> conn jss/jss
已連線。
JSSWEB> select *from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
JSS_TB1 TABLE
TP TABLE
JSS_TB2 TABLE
JSSWEB> select count(0) from jss_tb2;
COUNT(0)
----------
20
如上,之前的誤運算元據均已恢復。
可以看到這個過程非常迅速(當然跟我們操作的資料量小也有很大關係),這甚至都不算是在做恢復,從頭到尾,我們都沒有執行任何restore,也沒有recover的操作,這就是flashback database的優勢,速度。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3907/viewspace-1009382/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 10g flashback databaseOracle 10gDatabase
- 【FLASHBACK】Oracle flashback data archive 介紹OracleHive
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 在Oracle DG Standby庫上啟用flashback database功能OracleDatabase
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- ORACLE Flashback Query偽列Oracle
- [20210722]ORA-38760與flashback database.txtDatabase
- Oracle 12.2新特性: PDB級閃回資料庫(Flashback PDB)Oracle資料庫
- Flashback database必須要有之前的archivelog嗎?DatabaseHive
- Oracle 備份恢復之 FlashbackOracle
- Oracle閃回技術--Flashback Version QueryOracle
- 【Flashback】Flashback Drop閃回刪除功能實驗
- Flashback Query(轉)
- 2.6.2 Overview of Flashback PDB in a CDBView
- flashback query閃回資料
- Flashback Data Archive原理詳解Hive
- 【FLASHBACK】Oracle閃回及回收站相關語句參考Oracle
- GeminiDB Cassandra介面新特性FLASHBACK釋出:任意時間點秒級閃回
- flashback實現資料快速復原
- 用flashback恢復儲存過程儲存過程
- guarantee restore points-Flashback after RMAN restoreREST
- [20181002]DBMS_FLASHBACK與函式.txt函式
- [20180424]開啟表空flashback on.txt
- Flashback Drop閃回刪除功能實踐
- [20180724]Flashback query和子游標共享.txt
- 基於flashback_scn的expdp匯出
- 刪使用者刪表空間的操作還能flashback回來嗎?
- 1 Oracle Database 19c 新特性OracleDatabase
- ORA-55507: Encountered mining error during Flashback Transaction Backout. functiError
- C++ 未初始化記憶體出現 flashbackC++記憶體
- oracle dg切換操作示例Oracle
- 螢幕錄影機(bb flashback pro 4)pjb v4.1.21
- Oracle clone databaseOracleDatabase
- ORACLE database vaultOracleDatabase
- Oracle Database Cloud - Database as a Service Quick StartOracleDatabaseCloudUI
- Oracle Database 23c Beta 釋出,增加 300 多個新特性OracleDatabase
- 嚐鮮Oracle Database 12c的十二大新特性VKOracleDatabase
- 【kingsql分享】Oracle Database 19c的各種新特性介紹SQLOracleDatabase
- Oracle 操作表結構基本語法及示例Oracle