ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用Oracle10g的Flashback Query进行数据闪回

使用Oracle10g的Flashback Query进行数据闪回

原创 Linux操作系统 作者:kiddwyl 时间:2019-06-10 18:42:05 0 删除 编辑
Oracle10g对于闪回查询进行了增强,支持更简单的SQL操作,允许对误删除、误更新等DML操作进行闪回。
看一下以下测试:
1.原表记录

$ sqlplus sys/sys@10.163.139.68 as sysdba SQL*Plus: Release 10.1.0.2.0 - Production on Wed Mar 30 08:52:04 2005 Copyright (c) 1982, 2004, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production With the Partitioning, OLAP and Data Mining options SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
                  804052

2.误修改后所有记录
并且提交更改。
select * from crm3.tsub_info as of scn 804052;
<显示数据>


我们看到在SCN=10670000时,数据都在。
3.恢复数据.
select * from crm3.tsub_info as of scn 800000;
sql> update crm3.tsub_info t1 set t1.taskid = (select t2.taskid from crm3.tsub_info as of scn 800000)
where exists (
      (
      select 'X' from crm3.tsub_info as of scn 800000
      ) t2 where t1.taskid =  t2.taskid
) SQL >commit; Commit complete.

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

请登录后发表评论 登录
全部评论

注册时间:2004-08-27

  • 博文量
    66
  • 访问量
    59991