加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flashback六大技术之flashback version query

发布时间:2020-12-15 07:10:29 所属栏目:百科 来源:网络整理
导读:环境: 23:47:03 hr@ORCL (^ω^) select * from v$version where rownum=1;BANNER--------------------------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod ??? 1 原理介绍 ???

环境:

23:47:03 hr@ORCL (^ω^) select * from v$version where rownum=1;

BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod


??? 1 原理介绍

??????? flashback query只能“穿越”到过去的某个时间点上的数据库版本,但是在当前时间和过去的某个时间点上,一个表中的数据可能已经被变更多次,单一版本可能无法满足恢复的需求。通过flashback version query能够查看指定时间段内undo表空间中被提交的记录的不同版本。

??????????????????????????????? flashback version query的伪列说明

?

versions_startscn

versions_starttime

记录了操作时的SCN或时间,如果为空,表示在查询范围外创建的

versions_endscn

versions_endtime

记录了失效时的SCN或时间,配合version_operation列查看,如果为空,或者被删除、或者

该记录当前时间在当前表不存在

versions_operation I:insert???? D:delete??? U:update
versions_operation 事务ID

?

??? 2 实验

23:38:26 hr@ORCL (^ω^) select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 3930808

23:38:48 hr@ORCL (^ω^) update t1 set empno=122 where ename='Water';

已更新 1 行。

23:39:42 hr@ORCL (^ω^) commit;

提交完成。

23:40:06 hr@ORCL (^ω^) delete t1 where rownum<5;

已删除4行。

23:40:25 hr@ORCL (^ω^) commit;

提交完成。

23:40:29 hr@ORCL (^ω^) insert into t1 values(155,'qao');

已创建 1 行。

23:40:56 hr@ORCL (^ω^) insert into t1 values(156,'qinqin');

已创建 1 行。

23:41:19 hr@ORCL (^ω^) commit;

提交完成。

23:41:22 hr@ORCL (^ω^) select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 3931066

23:46:34 hr@ORCL (^ω^) select empno,ename,versions_startscn,versions_endscn,versions_operation,versions_xid
23:47:00   2              from t1 versions between scn 3930808 and 3931066;

     EMPNO ENAME      VERSIONS_STARTSCN VERSIONS_ENDSCN VE VERSIONS_XID
---------- ---------- ----------------- --------------- -- ----------------
       155 qao                  3930985                 I  04002000D4030000
       111 Linshuibin           3930897                 D  06002F00B6040000
       122 Water                3930897                 D  06002F00B6040000
       122 Water                3930883         3930897 U  02001100BD040000
       111 Water                                3930883
       111 Linshuibin                           3930897
      7566 JONES                3930897                 D  06002F00B6040000
      7521 WARD                 3930897                 D  06002F00B6040000
      7521 WARD                                 3930897
      7566 JONES                                3930897
      7788 SCOTT
      7844 TURNER
      7900 JAMES
      7902 FORD
       156 qinqin               3930985                 I  04002000D4030000
       110 Think

已选择16行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读