調整快速恢復區大小
SQL> alter system set db_recovery_file_dest_size=1G;
System altered.
SQL> alter system set db_recovery_file_dest ='+DATADG';
System altered.
開啓閃回--open和force logging--mount
SQL> alter database flashback on;
Database altered.
SQL>alter database force logging;
Database altered.
SQL> select flashback_on,force_logging from v$database;
FLASHBACK_ON FOR
------------------ ---
YES YES
調整保留時間2天
SQL> show parameter flashback
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440
SQL> alter system set db_flashback_retention_target=2880;
System altered.
創建閃回還原點
SQL> create restore point rp guarantee flashback database;
Restore point created.
SQL> select name from v$restore_point;
NAME
--------------------------------------------------------------------------------
RP
刪除數據
SQL> drop table test purge;
Table dropped.
關閉所有節點數據庫,將一個節點數據庫啓動到mount
閃回到還原點
SQL> flashback database to restore point rp;
Flashback complete.
read only 開庫查看
SQL> alter database open read only;
Database altered.
SQL> select * from test;
X
----------
2
2
以RESETLOGS 開庫
閃回scn
SQL> select flashback_on,force_logging from v$database;
FLASHBACK_ON FOR
------------------ ---
YES YES
記錄scn
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1594059
刪除表
SQL> drop table test purge;
Table dropped.
SQL> select * from test;
select * from test
*
ERROR at line 1:
ORA-00942: table or view does not exist
關閉所有節點數據庫,將一個節點數據庫啓動到mount
將數據庫閃回到scn時間點
SQL> flashback database to scn 1594059;
Flashback complete.
read only 開庫查看
SQL> alter database open read only;
Database altered.
SQL> select * from test;
X
----------
2
2
以RESETLOGS 開庫
閃回時間
SQL> select flashback_on,force_logging from v$database;
FLASHBACK_ON FOR
------------------ ---
YES YES
記錄時間
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> select sysdate from dual;
SYSDATE
-------------------
2020-04-08 23:18:55
刪除表數據
SQL> select * from test;
X
----------
2
2
SQL> truncate table test;
Table truncated.
關閉所有節點數據庫,將一個節點數據庫啓動到mount
閃回到記錄時間點
SQL> flashback database to timestamp to_timestamp('2020-04-08 23:18:55', 'yyyy-mm-dd hh24:mi:ss');
Flashback complete.
read only 開庫查看
SQL> alter database open read only;
Database altered.
SQL> select * from test;
X
----------
2
2
以RESETLOGS 開庫
刪除還原點,關閉flashback database
SQL> drop restore point rp;
Restore point dropped.
SQL> select name from v$restore_point;
no rows selected
SQL> alter database flashback off;
Database altered.
mount模式下關閉force logging 關閉歸檔
SQL> alter database no force logging;
Database altered.
SQL> alter database noarchivelog;
Database altered.
SQL>select flashback_on,force_logging from v$database;
FLASHBACK_ON FOR
------------------ ---
NO NO