我是靠谱客的博主 霸气蜗牛,最近开发中收集的这篇文章主要介绍oracle回到还原前,oracle 还原点(restore point),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一 操作(继操作之后有理论介绍)

保证还原点操作保证还原点操作(需要sys用户,显示删除)

SQL> create RESTORE POINT liufeng    GUARANTEE FLASHBACK DATABASE;

Restore point created.

SQL> select scn,name from v$restore_point;

SCNNAME

----------------------------------

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;

SCNNAME

----------------------------------

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操作影响的数据库对象和数据文件中可能会发生块损坏。

标签:restore,SCN,database,point,SQL,oracle,还原点

来源: https://blog.51cto.com/11298469/2673378

最后

以上就是霸气蜗牛为你收集整理的oracle回到还原前,oracle 还原点(restore point)的全部内容,希望文章能够帮你解决oracle回到还原前,oracle 还原点(restore point)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部