二、oracle数据库开启闪回功能
1、查看如下两个参数设置
SQL> show parameter db_recover
上述参数是由下面命令生成的:
设置闪回空间大小
SQL> alter system set db_recovery_file_dest_size=20240m;
设置闪回目录
SQL> alter system set db_recovery_file_dest='/vgcrm/flash';
2、开启FLASHBACK (此操作要在mount状态下进行)
SQL> startup mount
ORACLE instance started.
Total System Global Area 2.1475E+10 bytes
Fixed Size 2122432 bytes
Variable Size 7046434112 bytes
Database Buffers 1.4412E+10 bytes
Redo Buffers 14651392 bytes
Database mounted.
SQL> alter database flashback on;
Database altered.
确认闪回功能是否开启
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
YES
开启时,其值为YES
SQL> alter database open;
Database altered.
3、创建还原点
SQL> create restore point restore_standby guarantee flashback database;
通过从动态性能视图 V$RESTORE_POINT 中执行 SELECT 来确认该恢复点是否存在:
SQL> select * from v$restore_point;
SCN DATABASE_INCARNATION# GUA STORAGE_SIZE TIME
---------- --------------------- --- ------------ ---------------------------------------------------------------------------
NAME
--------------------------------------------------------------------------------------------------------------------------------
1.4890E+13 7 YES 15941632 14-APR-16 12.10.57.000000000 AM
RESTORE_STANDBY
4、开始进行应用测试。
。。。。。。
5、测试应用之后将数据库闪回到还原点的状态
先关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
将数据库mount
SQL> startup mount
ORACLE instance started.
Total System Global Area 2.1475E+10 bytes
Fixed Size 2122432 bytes
Variable Size 5016390976 bytes
Database Buffers 1.6442E+10 bytes
Redo Buffers 14651392 bytes
Database mounted.
闪回数据库
SQL> flashback database to restore point restore_standby;
Flashback complete.
将数据库OPEN需要用resetlogs的方式
SQL> alter database open RESETLOGS;
Database altered.
6、测试之后删除还原点
SQL> drop restore point restore_standby;
Restore point dropped.
三、关闭数据库的闪回功能(重要)
测试结束后,关闭数据库闪回功能,此时数据库恢复原来状态。
SQL> alter database flashback off;
Database altered.