闪回技术查询数据

闪回技术查询数据,在我们的工作生产当中也会经常用到。一般情况下,我们常用两种方式作为确定条件,
一个是基于时间戳Timestamp 的闪回查询,另一种是基于scn的闪回查询,当然他们也可以相互转化,则利用
timastamp_to_scn与scn_to_timestamp相互转化,便于大家运用。往后再另作这两个的相互转化用法。

在此,我们首先在scott用户下的dept表作为实验数据来源:
进入到Scott用户:
SQL> conn scott/tiger0520
Connected.

SQL> show user
USER is "SCOTT"

创建表test1:
SQL> create table test1  as select * from dept;
Table created.
SQL> select * from test1;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

1、基于时间点的闪回查询:
这种情况是基于我们记得打给的时间范围:(在此我们通过set time on )来显示时间
SQL> set tima on 
21:05:05 SQL> 
21:05:42 SQL> delete test1 where deptno=10;
1 row deleted.
21:06:10 SQL> select * from test1;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
21:06:20 SQL> commit;
以上看出,我们已经成功删除一条数据,大概3分钟过后,我们在此查询3分钟前的数据
21:08:53 SQL> select * from test1 as of timestamp sysdate -3/1440;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
以上通过时间点,可以查看会我们删除之前的数据,这就是基于时间点的闪回查询。

2、基于scn 的闪回查询:
这里,我们通过打开一个oracle数据库系统的包来帮助我们查询scn码:如下
grant execute on dbms_flashback to scott;
Grant succeeded.

SQL> select dbms_flashback.get_system_change_number as scn
  2  from dual;

       SCN
----------
    742826
SQL> delete test1;

3 rows deleted.
SQL> commit;
Commit complete.
SQL> select dbms_flashback.get_system_change_number as scn
  2  from dual;

       SCN
----------
    742899

SQL> select * from test1;

no rows selected



现在我们查询scn码为 742826 状态下表test1中的数据
SQL> select * from test1
  2  as of scn 742826;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
由此我们看出,我们通过删除之前的scn码,作为一个参考点,当我们成功全部删除表中的
数据之后,我们依然能查看到删除之前的数据,这就是基于scn的闪回查询技术。

谢谢大家观赏,祝大家工作学习愉快!











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

转载于:http://blog.itpub.net/31392094/viewspace-2125770/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值