专栏首页杨建荣的学习笔记巧用flashback database实现灵活的数据回滚(r5笔记第16天)

巧用flashback database实现灵活的数据回滚(r5笔记第16天)

之前写了一篇博文分享了使用flashback database的特性来在测试环境中避免重复导入大批量的数据,造成时间和存储空间的浪费。http://blog.itpub.net/23718752/viewspace-1584057/ 今天碰到的这个问题更有针对性和普遍性,在很多时候都需要一套独立的环境来作为客户的培训和演示需要,环境中的数据一旦配置完成,一般是很少需要改动的。如果培训完成后,第二天如果还有培训或者演示,想得到原来的初始化数据就很困难了。 这个时候我们可以尝试使用flashback database来实现。 在之前的例子中分享了根据时间点或者scn可以达到闪回数据库的目的,其实还有一种方式比较普遍通用,就是使用restore point来做闪回数据库的操作。 假设环境初始化完成之后,我们可以直接设置一个restore point,在后期就不用过分关注时间点或者scn来做闪回操作了。 create restore point original_state_BASE guarantee flashback database; 设置了这个restore point之后,我们可以使用下面的脚本来查看设置的这个恢复点。

col NAME for a20
col TIME for a35
set lines 200
col STORAGE_SIZE for a50
SELECT NAME, SCN, TIME, DATABASE_INCARNATION# DI,GUARANTEE_FLASHBACK_DATABASE, STORAGE_SIZE/1024/1024/1024 
FROM V$RESTORE_POINT
WHERE GUARANTEE_FLASHBACK_DATABASE='YES';
NAME                        SCN TIME                                        DI GUA STORAGE_SIZE/1024/1024/1024
-------------------- ---------- ----------------------------------- ---------- --- ---------------------------
ORIGINAL_STATE_BASE     4465165 17-APR-15 10.48.01.000000000 AM              1 YES                           0
ORIGINAL_STATE          4465180 17-APR-15 10.48.10.000000000 AM              1 YES                   .68359375

设置了之后,如果后面需要闪回恢复就很容易了。 参考脚本如下,可以很快达到预期的目的。

set echo on feed on
set time on timing on
-spoo logs/restore_flashback.log
select name from v$database;
SELECT current_scn FROM v$database;
col NAME for a20
col TIME for a35
set lines 100

SELECT NAME, SCN, TIME, DATABASE_INCARNATION# DI,GUARANTEE_FLASHBACK_DATABASE, STORAGE_SIZE
FROM V$RESTORE_POINT
WHERE GUARANTEE_FLASHBACK_DATABASE='YES';

shutdown immediate;
startup mount;
flashback database to restore point ORIGINAL_STATE;
alter database open read only;
shutdown immediate;
startup mount;
alter database open resetlogs;
spoo off

当然了这个回退的原理就是flashback database,但是在特定的使用场景中就赋予了更多的实际意义。 在这个基础上如果根据业务需要,每周的某几天需要做这个回退操作,就可以设置为crontab的方式来自动运行,就不用大半夜,大清早再去做这些回退了。

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:r5笔记第16天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-04-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于delete,drop,truncate的问题 (r6笔记第14天)

    有一个很常规的问题大量出现在笔试面试中,就是delete,truncate和drop的区别,当然这个问题我们也可以升华一下,通过这个简单的问题其实可以关联到Or...

    jeanron100
  • 关于Flashback的小测试(r10笔记第15天)

    对于Oracle的Flashback来说,在11g里面有了一个很细微的变化,可以说是一个很不错的福利,那就是开启闪回不需要重启数据库至mount状态下,...

    jeanron100
  • Oracle 12cR2中的ADG会话保留特性

    Oracle 12cR2中有一个不错的特性,那就是Active Data Guard会话保留,原本的叫法是Preserving Active Data Guar...

    jeanron100
  • 响铃:强者恒强,云计算行业要“赢家通吃”?

    云计算的势头不可谓不迅猛。7月26日,在北京召开的2017可信云大会发表《中国公有云发展调查报告(2017)》,2016 年,中国公有云市场整体规模达到170....

    曾响铃
  • 空间直线与球面相交算法

    在严格的数学定义中,直线是无线延长,没有端点的线;射线是一端有端点,另外一段没有端点无线延长的线。但在具体的计算机几何实现中,不可能去找到这种无线延长,没有端点...

    charlee44
  • 测试时间序列的40个问题

    时间序列预测与建模在数据分析中起着重要的作用。时间序列分析是统计学的一个分支,广泛应用于计量经济学和运筹学等领域。这篇技能测试文章是为了测试你对时间序列概念的了...

    磐创AI
  • nginx代理+https设置

    zhangheng
  • 富文本编辑器 tinymce 的使用

    一款简洁表格功能齐全的富文本编辑器,表格编辑有比较强大的功能,支持获取html,设置只读功能

    tianyawhl
  • 敲黑板了,这是新知识点

    这年头,不管什么应用,仿佛“上云“都成了标配,感觉拥抱了“云”,应用的逼格都上升了。那真的是这样的吗?

    出其东门
  • 为WordPress添加自定义设置上传头像功能

    虽热这个功能使用场景和频率都非常低,但在有时候还是需要WordPress来显示头像的,但是并不是每个人都有注册设置Gravatar头像。所以便需要我们手动为Wo...

    AlexTao

扫码关注云+社区

领取腾讯云代金券