调整快速恢复区大小
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