flashback version query某表一段时间内的变化记录

flashback version query

1参数准备

         相对flashback query只能看到某一时间点的对象状态,oracle 10g引入的flashback version query可以看到去过某个时间段内,记录是如何发生变化的,根据这个历史,DBA就可以快速的判断数据是在什么时间点发生了错误,进而恢复到之前的状态。

         当然和flashback query一样需要设置两个参数:

         UNDO_MANAGEMENT = AUTO

         undo_retention = 1800;   #这个时间可以随便设,他表示在系统中保留提交了的UNDO信息的时间,1800就是保留30分钟。

2环境准备

sys@ORCL>create table zhong1(x int);

Table created.

 

sys@ORCL>insert into zhong1 values(1);

1 row created.

sys@ORCL>commit;

Commit complete.

 

sys@ORCL>update zhong1 set x=2;

1 row updated.

sys@ORCL>commit;

Commit complete.

 

sys@ORCL>update zhong1 set x=4 where x=2;

1 row updated.

sys@ORCL>commit;

Commit complete.

 

3利用flashback version query查看期间变化

sys@ORCL>col versions_starttime for a30

sys@ORCL>col versions_endtime for a30

sys@ORCL>l

  1  select versions_starttime,versions_endtime,versions_xid,versions_operation,x from zhong1

  2  versions between scn minvalue and maxvalue

  3* order by versions_starttime

sys@ORCL>/

 

VERSIONS_STARTTIME    VERSIONS_ENDTIME           VERSIONS_XID     V          X

------------------------------ ------------------------------ ---------------- - ----------

02-MAY-16 06.05.46 AM   02-MAY-16 06.06.22 AM        15000700BA000000 I          1

02-MAY-16 06.06.22 AM   02-MAY-16 06.06.49 AM       10001600B3000000 U          2

02-MAY-16 06.06.49 AM                              0E0003008B000000 U          4

 

 

----当然也可以利用时间查询

sys@ORCL>l

  1  select versions_starttime,versions_endtime,versions_xid,versions_operation,x from zhong1

  2  versions between timestamp to_timestamp('2016-05-02 06:06:30','yyyy-mm-dd hh24:mi:ss') and to_timestamp('2016-05-02 06:07:00','yyyy-mm-dd hh24:mi:ss')

  3* order by versions_endtime

sys@ORCL>/

 

VERSIONS_STARTTIME  VERSIONS_ENDTIME          VERSIONS_XID     V          X

------------------------------ ------------------------------ ---------------- - ----------

                      02-MAY-16 06.06.49 AM                                 2

02-MAY-16 06.06.49 AM                           0E0003008B000000 U          4

 

----上面第可以看出,在06:06:49时,用户做了提交,提交后x值为2,是插入还是修改不知道

 

 

----插入一条数据,不提交

sys@ORCL>insert into zhong1 values(3333);

1 row created.

 

----查询下是否有记录

 select versions_starttime, versions_endtime, versions_xid, versions_operation, x

          from zhong1

        versions between scn minvalue and maxvalue

        order by versions_starttime;

 

VERSIONS_STARTTIME    VERSIONS_ENDTIME         VERSIONS_XID     V          X

------------------------------ ------------------------------ ---------------- - ----------

02-MAY-16 06.05.46 AM   02-MAY-16 06.06.22 AM      15000700BA000000 I          1

02-MAY-16 06.06.22 AM   02-MAY-16 06.06.49 AM      10001600B3000000 U          2

02-MAY-16 06.06.49 AM                             0E0003008B000000 U          4

 

----提交后,在查看

sys@ORCL>commit;

Commit complete.

 

sys@ORCL> select versions_starttime, versions_endtime, versions_xid, versions_operation, x

  2   from zhong1

  3     versions between scn minvalue and maxvalue

  4     order by versions_starttime;

VERSIONS_STARTTIME    VERSIONS_ENDTIME          VERSIONS_XID     V          X

------------------------------ ------------------------------ ---------------- - ----------

02-MAY-16 06.05.46 AM   02-MAY-16 06.06.22 AM       15000700BA000000 I          1

02-MAY-16 06.06.22 AM   02-MAY-16 06.06.49 AM       10001600B3000000 U          2

02-MAY-16 06.06.49 AM                              0E0003008B000000 U          4

02-MAY-16 06.39.22 AM                              0D000000C1000000 I       3333

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30130773/viewspace-2102644/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30130773/viewspace-2102644/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值