Oracle 还原点

1.原理
还原点基本概念:
还原点(Restore point)是Oracle10gR2配合Flashback database推出的一个新特性。Restore point可以单独使用,也可以和Flashback database联合使用。
我们知道,Flashback database提供了一种将数据库整个的回滚到之前某个时间点的功能,相当于使用之前的某个备份做基于时间点的恢复,但是比基于时间点的恢复更有效率,因为无需执行备份数据文件的复制,只需要使用flashback log执行数据库回滚即可。也就是说,要使用flashback database功能,必须保证所需要的所有flashback log存在(即开了闪回功能)。flashback log存放在flashback recovery area中。由于falshback log中需要包含变更的数据块的映象,设置过长的flashback retention target,可能导致flashback recovery area空间不足。
Restore point有两种类型:Normal和Guaranteed。
Normal restore point相当于某个时间点或者SCN的一个别名。restore point的名字和对应的SCN会保存在控制文件中。创建了normal restore point后,如果需要执行flashback database/flashback table/point-in-time recovery等操作时,就可以制定目标时间点为该restore point,而不需要指定当时的SCN了。在很多关于恢复和闪回的试验中,作者都是在试验前查询系统当前的SCN,执行某些操作,然后恢复或者闪回到之前查询到的SCN。有了normal restore point后,就不再需要查询系统当前scn了,只需要创建一个有意思的normal restore point名,以后使用该名字即可。

  Guaranteed restore point的功能和normal restore point的功能基本一致,也是作为SCN的一个别名。但是它还有一些和flashback database相关的特性。前面也提到,在执行flashback database到之前的某个时间点时,必须保证所需要的flashback log存在。

创建一个guaranteed restore point,可以保证能将数据库flashback到该点,即使没有系统启用flashback database日志!这是因为,在创建guaranteed restore point之后,对于任何block的第一次变更,都会将其前映象整个的记录下来。

  如果系统启用了flashback database日志,那么guaranteed restore point可以保证能将数据库flashback到guaranteed restore point之后的任何时间点。

2.条理线
表AA—> 开启快速恢复区—> 表BB—> Guaranteed AFTER_BB—> 修改BB—> 开启闪回—> 创建表DD—> 创建Normal AFTER_DD—> DROP DD—>Guaranteed AFTER_DROP_DD—> 创建EE–>查看当前SCN —>DROP EE.

—> 还原EE—> 还原Guaranteed AFTER_DROP_DD—> 还原Normal AFTER_DD—> 还原Guaranteed AFTER_BB

3.环境检查

[oracle@Jerry ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 25 07:55:43 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show parameter name 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name               string
db_file_name_convert                 string      /u01/app/oracle/oradata/orcldg
                                                 , /u01/app/oracle/oradata/orcl
db_name                              string      orcl
db_unique_name                       string      ORCL
global_names                         boolean     FALSE
instance_name                        string      orcl
lock_name_space                      string
log_file_name_convert                string      /u01/app/oracle/oradata/orcldg
                                                 , /u01/app/oracle/oradata/orcl
processor_group_name                 string

NAME  
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值