oracle 10g flashback database
flashback database是10g推出的一個重大改進,它可以讓我們不用做不完全恢復的情況下把資料庫"回滾"到過去的某一個時間點。
你可以在建立資料庫時設定flashback database,如果當時沒有設定,可以按下面的步驟進行設定:
1、設定flashback
--首先要把資料庫置於歸檔模式
sys@ORA10G> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
sys@ORA10G> startup mount
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250452 bytes
Variable Size 180357996 bytes
Database Buffers 427819008 bytes
Redo Buffers 2940928 bytes
資料庫裝載完畢。
sys@ORA10G> alter database archivelog;
資料庫已更改。
--設定flashback的幾個相關引數
--設定閃回區大小
sys@ORA10G> alter system set db_recovery_file_dest_size=2g;
系統已更改。
--設定閃回區檔案放置位置
sys@ORA10G> alter system set db_recovery_file_dest='g:flash';
系統已更改。
--開啟資料庫的閃回功能
sys@ORA10G> alter database flashback on;
資料庫已更改。
sys@ORA10G> alter database open;
資料庫已更改。
--最後驗證
sys@ORA10G> select FLASHBACK_ON from v$database;
FLASHBACK_ON
------------------
YES
2、測試flashback
--首先做一些破壞性工作
sys@ORA10G> truncate table suk.test;
表被截斷。
--透過V$FLASHBACK_DATABASE_LOG得到我們可以閃回的最早時間和最小scn
sys@ORA10G> SELECT OLDEST_FLASHBACK_SCN, OLDEST_FLASHBACK_TIME FROM V$FLASHBACK_DATABASE_LOG;
OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TI
-------------------- -------------------
8061491 2007-09-06 22:22:55
--重啟資料庫到mount
sys@ORA10G> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
sys@ORA10G> startup mount
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250452 bytes
Variable Size 180357996 bytes
Database Buffers 427819008 bytes
Redo Buffers 2940928 bytes
資料庫裝載完畢。
--根據scn閃回資料庫
sys@ORA10G> flashback database to scn 8061491;
閃回完成。
--對資料庫執行閃回操作後必須用resetlogs方式開啟
sys@ORA10G> alter database open resetlogs;
資料庫已更改。
--檢驗資料
sys@ORA10G> select count(1) from suk.test;
COUNT(1)
----------
3
--從結果可以看到閃回成功
3、再次閃回
--open resetlogs後,還能不能閃回到open resetlogs時間點前的狀態呢?
--接著剛才的步驟插入一條資料
sys@ORA10G> insert into suk.test values(4,4);
已建立 1 行。
sys@ORA10G> commit;
提交完成。
sys@ORA10G> select count(1) from suk.test;
COUNT(1)
----------
4
--看看是否可以閃回
sys@ORA10G> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
sys@ORA10G> startup mount
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250452 bytes
Variable Size 180357996 bytes
Database Buffers 427819008 bytes
Redo Buffers 2940928 bytes
資料庫裝載完畢。
sys@ORA10G> flashback database to scn 8061491;
閃回完成。
sys@ORA10G> alter database open resetlogs;
資料庫已更改。
sys@ORA10G> select count(1) from suk.test;
COUNT(1)
----------
3
--從上面的測試結果看,在一次open resetlogs後仍然可以閃回到以前的時間點。
--查一下此時可以閃回的最早時間和scn
sys@ORA10G> SELECT OLDEST_FLASHBACK_SCN, OLDEST_FLASHBACK_TIME FROM V$FLASHBACK_DATABASE_LOG;
OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TI
-------------------- -------------------
8061491 2007-09-06 22:22:55
到這裡可以得到一個結論:可以閃回到什麼時間點與open resetlogs無關,實際上,它是由db_flashback_retention_target引數決定的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63854/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Scheduler in Oracle Database 10g(轉)OracleDatabase
- 在Oracle DG Standby庫上啟用flashback database功能OracleDatabase
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 【FLASHBACK】Oracle flashback data archive 介紹OracleHive
- [20210722]ORA-38760與flashback database.txtDatabase
- ORACLE Flashback Query偽列Oracle
- 如何手工重建10g database consoleDatabase
- Flashback database必須要有之前的archivelog嗎?DatabaseHive
- Oracle 備份恢復之 FlashbackOracle
- ORACLE database vaultOracleDatabase
- Oracle clone databaseOracleDatabase
- Oracle Database Cloud - Database as a Service Quick StartOracleDatabaseCloudUI
- Oracle閃回技術--Flashback Version QueryOracle
- Oracle Database Scheduler整理OracleDatabase
- Oracle Physical Database LimitsOracleDatabaseMIT
- Oracle 10g 下載地址Oracle 10g
- oracle 10G特性之awrOracle 10g
- Oracle 12.2 使用Database Link優化Standby Database WorkloadOracleDatabase優化
- ISO 映象安裝oracle 10gOracle 10g
- Oracle 10g RAC故障處理Oracle 10g
- Oracle 10g 增刪節點Oracle 10g
- Oracle 19c Concepts(01):Introduction to Oracle DatabaseOracleDatabase
- Oracle 19c Concepts(13):Oracle Database InstanceOracleDatabase
- Oracle OCP(35):Database 安裝OracleDatabase
- Oracle DG Standby Database型別OracleDatabase型別
- Oracle DG建立Physical Standby DatabaseOracleDatabase
- Oracle DG建立Logical Standby DatabaseOracleDatabase
- Oracle 12C Database File Mapping for Oracle ASM FilesOracleDatabaseAPPASM
- Oracle OCP(38):Database 物理結構OracleDatabase
- 關於Oracle Database Vault介紹OracleDatabase
- [翻譯]-Detect And Repair Corruption in an Oracle DatabaseAIOracleDatabase
- Oracle 19c Database Management ToolsOracleDatabase
- Oracle 10g expdp attach引數體驗Oracle 10g
- Oracle 19c Concepts(00):Changes in This Release for Oracle Database ConceptsOracleDatabase
- 【Oracle】Windows安裝oracle11gR1 database 11.1.0.6OracleWindowsDatabase
- Oracle OCP(37):Database 體系結構OracleDatabase
- Converting Oracle Database from Linux to Windows using RMANOracleDatabaseLinuxWindows