一 操作(继操作之后有理论介绍)
保证还原点操作
保证还原点操作(需要sys用户,显示删除) SQL> create RESTORE POINT liufeng GUARANTEE FLASHBACK DATABASE; Restore point created. SQL> select scn,name from v$restore_point; SCN NAME ---------------------------------- 966338 LIUFENG SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 776646656 bytes Fixed Size 2257272 bytes Variable Size 507514504 bytes Database Buffers 264241152 bytes Redo Buffers 2633728 bytes Database mounted. SQL> flashback database to restore point liufeng; Flashback complete. SQL> alter database open; alter database open * ERROR at line 1: ORA-01589: must use RESETLOGS or NORESETLOGS option for database open SQL> alter database open RESETLOGS; Database altered. SQL> drop restore POINT liufeng; Restore point dropped. SQL> select scn,name from v$restore_point; no rows selected
普通还原点
普通还原点(自动维护、开启FLASHBACK_ON) SQL> select flashback_on from v$database; FLASHBACK_ON ------------------ NO SQL> alter database flashback on; Database altered. SQL> create restore POINT liufeng; Restore point created. SQL> select scn,name from v$restore_point; SCN NAME ---------------------------------- 967227 LIUFENG SQL> drop table scott.leo; Table dropped. SQL> flashback database to restore point liufeng; flashback database to restore point liufeng * ERROR at line 1: ORA-38757: Database must be mounted and not open to FLASHBACK. SQL> alter database open; alter database open * ERROR at line 1: ORA-01589: must use RESETLOGS or NORESETLOGS option for database open SQL> alter database open RESETLOGS; Database altered. SQL> select * from scott.leo; ID NAME MZ ---------- -------------------- -------------------- 1 李四 汉 2 张三 蒙
二 基本概念:
还原点(restore point)是oracle 10gR2 配合Flashback database推出的新特性。restore point也可单独使用。Flashback database提供了数据库整个回滚到之前的某时间点的功能,相当于使用之前某个备份基于时间点的恢复,但比其更有效率,因为无需执行备份数据文件的复制。
三 分类:
普通还原点: 创建正常还原点会将还原点名称分配给SCN或特定时间点。因此,还原点作为此SCN的别名。在执行任何可能需要反转的操作之前,您可以创建一个正常的还原点。控制文件存储还原点和SCN的名称。
保证还原点:
与正常还原点一样,保证还原点在恢复操作中充当SCN的别名。一个主要区别是,保证恢复点永远不会超出控制文件,并且必须显式删除。通常,您可以使用保证还原点作为SCN的别名,其任何命令都可以与正常还原点配合使用。除另有说明外,关于在哪里以及如何使用正常还原点的信息也适用于保证还原点。
保证还原点确保您可以使用Flashback数据库将数据库倒回还原点SCN的状态,即使禁用了Flashback日志的生成。如果启用了闪回日志记录,则保证还原点将强制将闪回数据库所需的闪回日志保留到最早的保证还原点后的任何SCN。因此,如果启用闪回日志记录,您可以将数据库倒回连续体中的任何SCN,而不仅仅是单个SCN。
四 限制:
闪回数据库只能撤销Oracle对数据文件所做的更改。它不能用于修复媒体故障,也不能用于从数据文件意外删除中恢复。 不能使用Flashback数据库撤销收缩数据文件操作 如果数据库控制文件从备份恢复或重新创建,则所有累积的闪回日志信息将被丢弃。 当在进行NOLOGGING操作的目标时间使用Flashback数据库时,受NOLOGGING操作影响的数据库对象和数据文件中可能会发生块损坏。