2014-07-02 Created By BaoXinjian


在PLSQL开发时,有时候会遇到对表中数据的误删除,其实遇到这种情况不需要紧张,如果问题较大,请DBA帮忙,如果只是小问题,只需自己处理,利用flashback闪回操作即可,可可将表进行恢复

在删除中数据时,系统会自动记录一个SCN和时间戳,按SCN和时间戳就可以查询出被误删除的资料

1.SCN 概念

SCN是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字。Oracle数据库中一共有4种SCN分别为

系统检查点SCN: 系统检查点SCN位于控制文件中,当检查点进程启动时(ckpt),Oracle就把系统检查点的SCN存储到控制文件中

2. 使用闪回操作时一些前提条件

  • 该表的Flashback权限
  • 拥有该表的SELECT\INSERT\DELETE\ALTER权限
  • 必须保证表示ROW MOVEMENT
  • 采用PURGE参数删除表中数据时不能使用Flashback进行恢复

3. 闪回查询

  • 作用: 用以查询以前的被删除资料,用以在执行删除恢复时,有一个正确的scn或者时间戳,系统并没有进行恢复
  • 语法: select * from bxj_tst_recyclebin as of [scn or timestamp]

4. 闪回恢复

  • 作用:  通过已确认的SCN和时间戳对表被删除的数据真正进行恢复
  • 语法: flashback table bxj_tst_recyclebin to [scn or timestamp]

5. 闪回查询恢复前,执行以下语句

alter table bxj_tst_recyclebin enable row movement


Step1. 创建8笔测试资料如下

Step2. 删除其中4笔资料,COMMIT后无法Rollback,通过flashback进行恢复

Step3.1  通过时间间隔确定需恢复的时间戳,在没有恢复之前, 通过闪回查询该事件戳为8笔资料,确定以该时间戳进行恢复

alter table bxj_tst_recyclebin enable row movement

Step3.2  直接通过具体的时间戳进行恢复, 在没有恢复之前, 通过闪回查询该事件戳为8笔资料,确定以该时间戳进行恢复

Step4. 通过flashback进行恢复

flashback table bxj_tst_recyclebin to timestamp(systimestamp - interval'600'second);
flashback table bxj_tst_recyclebin to timestamp(to_timestamp(to_date('20140702 11:40:00','YYYYMMDD HH:MI:SS')));

Step5. 恢复完成后,无需闪回查询,即可以查询到该4笔被删除资料


Step1. 系统一旦将事物Commit后,会系统产生一个SCN,一旦发现误删除数据,马上查询当前的SCN

Step2. 通过闪回查询,确认该SCN是否能查询出该4笔被删除资料

Step4. SCN确认无误后,进行闪回恢复操作

flashback table bxj_tst_recyclebin to scn 10132214657206

Step5. 恢复完成后,无需闪回查询,即可以查询到该4笔被删除资料

Thanks and Regards

PLSQL_闪回删除FlashBack Delete表误删除如何进行恢复(案例)的更多相关文章

  1. PLSQL_闪回删除FlashBack Drop表误删除如何进行恢复(案例)

    2014-06-25 Created By BaoXinjian

  2. SQL Fundamentals: 表的创建和管理(表的基本操作,闪回技术flashback,表结构修改)

    SQL Fundamentals || Oracle SQL语言 1.表的基本操作 (CREATE TABLE, DROP TABLE,TRUNCATE TABLE, RENAME tablename ...

  3. oracle闪回(flashback)的部分实用操作(彻底删除的除外)

    一.数据delete并且commit提交之后的闪回 (一):根据时间来恢复:1.查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点)select  ...

  4. Oracle Flashback Technologies - 闪回被drop的表

    Oracle Flashback Technologies - 闪回被drop的表 在oracle10g中,drop一个表后,表没有真正被删除,支持被rename后放在recyclebin中. #新建 ...

  5. Flashback删除(闪回删除)

    oracle 9i以前,当drop一个表时,到该表的所有引用都会从数据字典中删除. oracle 10g及以后,当drop一个表时,数据库根本没有删除表,而只是重命名了并放入了回收站.即当发出drop ...

  6. oracle recyclebin详解(闪回删除的表)

    今天在SOA应用数据库上运用DBMS_REDEFITION包进行在线非分区表转换分区表操作时,本想DROP掉建的临时表cube_scope_temp不小心后面忘记加"temp"直接 ...

  7. Oracle 的闪回技术 --flashback

    SQL Fundamentals: 表的创建和管理 如何开启数据库闪回? SQL> shutdown immediate; ORA-01109: database not open Databa ...

  8. Oracle闪回技术(Flashback)

    闪回技术有闪回表.闪回删除.闪回查询.闪回事务查询.闪回事务.闪回数据库.闪回数据归档.其中,闪回查询.闪回事务查询用来“观察”过去:闪回数据归档并不是一个独立的功能,其功能是扩展闪回查询的时间窗口: ...

  9. Oracle 闪回特性(FLASHBACK DATABASE)

    --===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...

随机推荐

  1. 两篇很牛的vim使用技巧

    读本文之前请注意: 1. 本文的目标是提供一些vim的使用技巧,利用这些技巧可以提高vim的操作效率.部分技巧在vi上也可以使用,但是现在基本上都是用vim了. 2. 本文是整理和总结使用技巧,而非讲 ...

  2. Git-rebase与merge小结

    git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 ---------------------- ...

  3. 采用libsvm进行mnist训练

    #coding:utf8 import cPickle import gzip import numpy as np from sklearn.svm import libsvm class SVM( ...

  4. python程序的调试方法

      [转自:http://blog.csdn.net/luckeryin/article/details/4477233] 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 ...

  5. easyui datagrid 添删改(纪录)

    var groups;//用户组为另一个表,所以需先加载,用于编辑时下拉框 var editindex = undefined; var action; $(function () { $.ajax( ...

  6. 华东师大OJ:IP Address【IP地址转换】

    /*===================================== IP Address Time Limit:1000MS Memory Limit:30000KB Total Subm ...

  7. Openjudge计算概论-DNA排序

    /*===================================== DNA排序 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一系列基因序列,由A,C,G,T四种字符组 ...

  8. web前端-面试经验总结

    这几次面试主要是冲着百度去的 面试1的主要问题: 笔试: 1.解释css盒子模型 2.常用选择器,以及优先级 3.B如何继承A 4.写一个闭包实例,有什么优点缺点 5.html5的心特性有哪些 6. ...

  9. Dom之表单提交与默认行为

    一.button提交表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  10. 浅析Struts1和Struts2的Action线程安全问题 转

    浅析Struts1和Struts2的Action线程安全问题  转 http://blog.csdn.net/virgoboy2004/article/details/5876133 [问题描述]最近 ...