Restore Points 制定回退方案「建议收藏」

Restore Points 制定回退方案

大家好,又见面了,我是全栈君。

                                                                                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;

转载于:https://www.cnblogs.com/andy6/p/6531144.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108630.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 恐怖保姆下载安装汉化版_eclipse汉化不成功怎么办

    恐怖保姆下载安装汉化版_eclipse汉化不成功怎么办eclipse汉化官方汉化包首先,在eclipseIDE中找到’help’,打开’Installnewsoftware…’在点击弹出的新窗口中的Add按钮,Name项任意填Location项是在Eclipse官方的babel语言包project网页上找的,需要自行去查看最新的location查看最新Location方法:https://www.eclipse.org/babel/downloads.php、打开上面网站找到,红框框住的部分,复制地址后,填写到Lo

  • 不允许对虚拟列执行 UPDATE 操作

    不允许对虚拟列执行 UPDATE 操作

  • 【已解决】戴尔笔记本电脑的卡顿问题.

    【已解决】戴尔笔记本电脑的卡顿问题.卡顿检测(主要用于戴尔笔记本):卡顿超过300ms的时候会记录卡顿发生的时间点和卡顿持续的时间.用的是一个Timer(定时器)来检测触发间隔,原理非常简单.此程序使用VB.NET编写,绝无病毒,你可以使用ilspy反编译来查看源代码.在每次开机的时候打开此软件,在每次关机前查看此软件的显示内容,判断是否有卡顿.你可以根据卡顿的状况来判断卡顿是哪些软件造成的.若卡顿出现的不频…

  • 实例与数据库的区别_mysql数据库实例是什么

    实例与数据库的区别_mysql数据库实例是什么mysql目前是开源界应用最为广泛的数据库软件了。相对于重量级的商业产品如oracle、DB2、SQLServer等,Mysql最大的特点就是开源免费。个人用户可以down一个下来,自己搭个网站玩玩。大型互联网企业诸如阿里、网易之类的也可以针对mysql做mysql集群和存储引擎的开发。今天主要是想解释一下mysql体系中,数据库和数据库实例的概念。很多人都在用mysql,也有很多人认为数据库就…

    2022年10月21日
  • 解决windows update 8024402C错误[通俗易懂]

    解决windows update 8024402C错误[通俗易懂]安装了2003SP1更新时总是会有8024402C错误错误网上daimoon兄的解决方式他的机器在ISASERVER后而我的机器是ISASERVER2004网上daimoon兄的解决方式他的机器在ISASERVER后环境:windowsxpsp1,位于isaserver后问题:使用windowsautoupdate后出错误提示:0x8024402C…

  • flutter 自定义播放器进度条

    flutter 自定义播放器进度条FijkPlayer第三方的一个视频播放器,这是一个大佬基于比利比利播放器封装的,有常用的API可自定义样式pub传送门默认的样式展示:自定义的样式展示:**使用:**fijkplayer:^0.8.4///声明一个FijkPlayerfinalFijkPlayerplayer=FijkPlayer();@overridevoidinitState(){///指定视频地址player.setDataSource(“ht…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号