一、关于还原点
在数据库的恢复中经常需要把数据库或者表等恢复到过去的某个点,比如recover database until scn,flashback table table_name to scn,这时可以使用还原点。
还原点即为scn的别名,它与创建还原点时刻的scn相对应,我们在恢复操作中使用该还原点。
还原点可以用于以下操作:
1、flashabck table
2、flashback database
3、数据库恢复操作
使用还原点,数据库必须处于归档模式,且设置快闪恢复区。
二、普通的还原点
普通的还原点只是scn的别名,只是为恢复操作提供方便。
创建还原点:
SQL> create restore point pre_upgrade guarantee flashback database;
Restore point created.
SQL> select SCN,name from v$restore_point;
SCN NAME
---------- --------------------------------------------------------------------------------
736703 PRE_UPGRADE
删除还原点:
SQL> drop restore point pre_upgrade;
Restore point dropped.
三、有保证的还原点
1、有保证的还原点只保证flashback database,并不保证flashback table和数据库恢复操作。flashback table依赖于撤销数据,而数据库恢复依赖于备份。
2、使用有保证的还原点,可以不启用闪回数据库
3、如果使用有保证的还原点,同时启用闪数据库,则oracle保留自还原点以来的所有闪回日志,有可能填满快闪恢复区而导致数据库停止工作。
4、有保证的还原点使用与闪回数据库操作的闪回日志相独立的日志机制。
创建有保证的还原点:create restore point name guarantee flashback database;
使用:flashback database to restore point name;
删除:drop restore point name;
四、查询
1、查询v$restore_point
2、查询v$database
当未启用闪回数据库时,flashback_on的值为no,使用还原点之后,其值为restore point only。