Restore Points 制定回退方案

背景:Flashback Database 和 restore points 都可以提供一个基于时间点的回滚。

理论:
1) Normal Restore Points
对于Normal Restore Points, point的名称和SCN 保存在控制文件里。
Normal restore points 信息保存在控制文件中,属轻量级别,即使我们没有手工的删除这些points 信息,控制文件也会有删除这些信息,所以对于Normal restore points,我们不要其他的维护操作。
Restore Point 同Flashback Database 一样,也会产生image 文件,在没有启用Flashback Database的情况下,只在开始时创建一次image,并保存在FRA中。

2) Guaranteed Restore Points
Guaranteed restore points 的信息也是保存在控制文件里的,本质的不同是Guaranteed restore points 不会自动的删除,必须手工的清除这些信息。

如果我们创建了Guaranteed restore point,那么即使我们没有启用Flashback Database,那么我也可以恢复到我们创建的point。 但如果我们同时启用了Flashback Database,那么guaranteed restore point 会强制保留从那个point 依赖的flashback log 文件。 这样我们就会rewind从我们创建point 以来的任一个SCN。

一句话表示,就是在不启用FlashbackDatabase 的情况下, Guaranteed restore point 只能rewind到我们创建的点对应的SCN.

当我们创建了一个Guaranteed Restore Points,并且我们没有启动Flashback Database,那么在这种情况下,DB 会也会创建一个block 的镜像,并存在FRA空间里,这个和Flashback Database 的一致,那么不同的时,Flashback Database 会每隔一段时间创建一个block的image,而Restore Points 只在开始时创建一次,那么恢复的时候也就只能恢复到这个时间点。
这里要注意一点,我们创建Restore Point的名称和对应的SCN是保存在控制文件里的,这点前面有说明。

在不启用Flashback Database 的情况下,我们创建Guaranteed Restore Points,只创建一次image,那么会节省很多的FRA空间,这种方法在对数据库进行升级的时候很有用,在升级之前我们创建一次Guaranteed Restore Point,然后升级DB,如果升级失败,我们回退,如果升级生成,我们删除Restore Point。

实际上,在我们进行变更操作之前,只需要创建一个镜像就可以了,不需要时时记录变化。而Resotre Points 恰好满足我们的需求,又节省空间,并且恢复速度还快,因为它不像RMAN 那样需要进行restore。所以用他非常方便。

注:
guaranteed模式下只要有足够的闪回区,不会受DB_FLASHBACK_RETENTION_TARGE参数影响。
normal还原点至少保留2048个,保留的个数据受CONTROL_FILE_RECORD_KEEP_TIME参数决定,默认值是7天。

创建guaranteed还原点,必须满足以下条件:
a.创建一个guaranteed 还原点必须有SYSDBA系统权限。创建一个normal还原点,你必须有SELECT ANY DICTIONARY or FLASHBACK ANY TABLE privilege
b.必须创建flash recovery area
配置flash recover area共需要二个参数(DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE)这两个参数可以在数据库运行过程中在线修改,修改后立即生效,比如以下列子:
SQL>alter system set db_recovery_file_dest='+XXXX' scope=both;
SQL>alter system set db_recovery_file_dest_size='10g' scope=both sid='*';
c.数据库必须是归档模式(如果是担保还原点,归档目录必须是共享的。

操作流程:

1.先创建restore point
SQL> create restore point upgrade_point guarantee flashback database;
Restore point created.

2. 查看我们创建的restore point
SQL> select * from v$restore_point;

3. 进行打补丁或者升级等大动作
。。。。。

4.如果失败,就进行回滚
注意:执行Flashback Database时,DB 不能处于open状态.
SQL> shutdown immediate
SQL> startup mount;
SQL> select open_mode from v$database;
SQL>select * from v$restore_point;
SQL> flashback database to restore point upgrade_point;
--提示必须用Resetlogs打开:
SQL> alter database open resetlogs;
SQL>@?/rdbms/admin/utlrp.sql (重新编译失效对象)
SQL> drop restore point upgrade_point;
SQL>select * from v$restore_point;

Restore Points 制定回退方案的更多相关文章

  1. Scrum立会报告+燃尽图(十二月八日总第三十九次):制定视频方案

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 项目地址:https://git.coding.net/zhang ...

  2. 官方文档 恢复备份指南七 Using Flashback Database and Restore Points

    本章内容: Understanding Flashback Database, Restore Points and Guaranteed Restore Points Logging for Fla ...

  3. 使用iMindMap思维导图软件的活动策划模板制定策划方案

    活动策划不单单是一个头脑风暴的过程,更是一个整合各项资源.条件的过程.因此我们可以合理的使用思维导图软件来做活动策划.iMindMap(Windows系统)思维导图软件提供了快捷而方便的活动策划模板, ...

  4. Asp.net Mvc模块化开发之“部分版本部分模块更新(上线)”

    项目开发从来就不是一个简单的问题.更难的问题是维护其他人开发的项目,并且要修改bug.如果原系统有重大问题还需要重构. 怎么重构系统不是本文探讨的问题,但是重构后如何上线部署和本文关系密切.这个大家可 ...

  5. net Mvc模块化开发

    Asp.net Mvc模块化开发之“部分版本部分模块更新(上线)” 项目开发从来就不是一个简单的问题.更难的问题是维护其他人开发的项目,并且要修改bug.如果原系统有重大问题还需要重构. 怎么重构系统 ...

  6. 在Azure DevOps Server(TFS系统)中部署回退/回滚方案(Rollback)

    概述 Azure DevOps Server(之前名TFS)是微软公司实现软件研发.测试和部署一体化的全流程解决方案.在近几年的研发过程中,Azure DevOps Server 大幅增强了软件部署过 ...

  7. 3.SDL落地方案

    01.安全培训 安全意识培训(全员) 邮件安全 钓鱼邮件 邮件伪造 第三方转存 检查发件人 开启二次验证 邮件转发 第三方代收 邮件附件敏感信息加密 病毒防范 什么是木马病毒 我安装哪些杀毒软件? 定 ...

  8. 一位IT行业高收入者的理财规划方案

    一位IT行业高收入者的理财规划方案 http://zhuanlan.zhihu.com/invest/19670220 Alex · 12 天前 回望2013,这一年是极其不寻常的.理财浪潮席卷大江南 ...

  9. 闪回还原点(Flashback Restore Point)

    Flashback Restore Point(闪回还原点) 闪回还原点分两种,一种是Normal Restore Points(正常还原点),另一种是Guaranteed Restore Point ...

随机推荐

  1. Away3D引擎学习笔记(一)资源加载解析块

    前文:Away3D断断续续用了一段时间了,三维相关的很多算法,计算转换还是有点绕,整理些自己觉得还有点意思东西,希望大家有用. 三维开始,Away3D构架你场景那几行代码各处都有,这里就不copy了, ...

  2. 自制小工具大大加速MySQL SQL语句优化(附源码)

    引言 优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又 ...

  3. 【转】【Pycharm大全】

    感谢:陈俊岭的程序员之路 [Pycharm大全]:http://blog.csdn.net/u013088062/article/details/50388329

  4. typeof 与 instanceof 区别

    typeof typeof 是一元运算符,返回值是字符串,且只能是number,string,boolean,object,function,undefined typeof用来判断一个值是否存在 i ...

  5. 目标检测之行人检测(Pedestrian Detection)基于hog(梯度方向直方图)--- 梯度直方图特征行人检测、人流检测2

    本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类.其实使用起来是很简单的,从后面的代码就可以看出来.本文参考的资料为opencv自带的sample. 关于op ...

  6. lnmp建站常识

    1.nginx配置网站目录并修改访问的端口:nginx.conf文件 listen 666;//端口默认为80,修改后增强安全性 server_name www.lnmp.org; index ind ...

  7. ClassNotFoundException Log

    Studio 运行时异常: Error:Execution failed for task ':app:compileDebugJavaWithJavac'.> Compilation fail ...

  8. python 中读取excel

    第一步:  先下载一个xlrd 包 # pip install xlrd import xlrd from datetime import date, datetime file = '学生信息表.x ...

  9. Locality-sensitive hashing Pr[m(Si) = m(Sj )] = E[JSˆ (Si, Sj )] = JS(Si, Sj )

    A hash function that maps names to integers from 0 to 15. There is a collision between keys "Jo ...

  10. 远程服务器上的weblogic项目管理(二)发布完成后如何重启weblogic容器

    前面说到了每次更新服务器项目的java文件与配置文件后,需要更新weblogic容器以完成更新加载,下面来说说如何更新weblogic容器: 第一种方法可以通过ssh shell client工具直接 ...