在日常的数据库开发过程汇总难免会出现一些误删除的动作,

对于一些误删的操作我们可以通过oracle提供的闪回机制恢复误删数据,

从而避免出现较大的生产事故.

下面是本人平时工作中积累的一些常用的操作,非常简单实用,分享给大家.

恢复dml误删的数据:

select * from  误删除的表名 as of timestamp(systimestamp-interval '10' minute);--此处的10代表10分钟前表中的数据,可以根据实际情况进行查询

恢复drop掉的存储过程、函数、包等:

select *
from (select u.name AS username,
o.name AS procedurename,
decode(o.type#,
7,
'PROCEDURE',
8,
'FUNCTION',
9,
'PACKAGE',
11,
'PACKAGE BODY',
12,
'TRIGGER',
13,
'TYPE',
14,
'TYPE BODY',
'UNDEFINED') AS sptype,
s.line AS LINE,
s.source codetext
from sys.obj$ o, sys.source$ s, sys.user$ u
where o.obj# = s.obj#
and o.owner# = u.user#
and (o.type# in (7, 8, 9, 11, 12, 14) OR
(o.type# = 13 AND o.subname is null))
and u.name = '数据库用户名需要大写') as of timestamp(systimestamp - interval '21' minute) --按照时间进行闪回操作 此处为21分钟前的状态
where sptype = 'PROCEDURE'; --也可以单独查询FUNCTION、PACKAGE等

备注:如果以上代码看不懂,可以动手查询一下,效果一目了然。

Oracle闪回恢复误删除的表、存储过程、包、函数...的更多相关文章

  1. Oracle闪回恢复

    Oracle的闪回功能包括 1.闪回数据库(前提 归档模式下 启用闪回数据库) mount 下 alter database archivelog; alter database flashback ...

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

    2014-07-02 Created By BaoXinjian

  3. Oracle 中利用闪回查询确定某表在某时间点之后的修改内容,并恢复至该时间点

    Oracle 中利用闪回查询确定某表在某时间点之后的修改内容: 1.查看 DELETE 及 UPDATE 操作修改的数据: SQL> SELECT * FROM tab AS OF TIMEST ...

  4. oracle闪回表详解

    --- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间 ...

  5. Oracle闪回表

    Oracle闪回技术 场景:测试环境数据库的表数据被误删除. 解决思路:使用闪回表技术 原理 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小 ...

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

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

  7. Oracle数据库中闪回恢复的详细分析

    Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的.这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了.oracle10g大 ...

  8. oracle 闪回功能详解

    Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复.闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行.事务.表和数据库范围.使用闪回特性,您可以查询以前 ...

  9. ORACLE闪回机制分析与研究应用

    1.查看数据库归档和闪回状态,及环境准备SQL> archive log list;SQL> select flashback_on from v$database;关闭数据库,启动归档和 ...

随机推荐

  1. C#事件(event)解析委托

    namespace Vczx.ProCSharp.Event { /// <summary> /// 类EatEventArgs 必须继承自类EventArgs,用来引发事件时封装数据 / ...

  2. bootstrap清除数据源

    下拉框使用动态数据源,当下拉框触发change事件时,想让下拉框改变数据源,加了个if判断 $('#@idForCostCategory').change(function (event) { if( ...

  3. JavaScript实现StringBuffer

    function StringBuffer() { this._strings = new Array(); } StringBuffer.prototype.Append = function(_s ...

  4. node之log4js

    log4js的配置文件: "log4js": { "appenders": { "out": { "type": &qu ...

  5. 一般处理程序、ASP.NET和MVC的区别

    这个问题说起来,我有点惭愧 想当初在大学里学的就是ASP.NET WebForms 在实习期间也是用的WebForms来开发网站,然后就觉得.NET开发网站就是用这个开发模式 现在想想都想笑...实在 ...

  6. STL库中string类内存布局的探究

    在STL中有着一个类就是string类,他的内存布局和存储机制究竟是怎么样的呢? 这就是建立好的string 可以看出,图中用黄色框框标注的部分就是主要区域 我们用来给string对象进行初始化的字符 ...

  7. 有关ie9 以下不支持placeholder属性以及获得焦点placeholder的移除

    (一)placeholder 属性起到提示客户输入信息作用 (二)ie9以下出问题了 placeholder不支持 (三)解决办法 先贴html 加上jquery代码就可以了 关于表单获取焦点,chr ...

  8. eclipse的应用和整理

    1如何在eclipse中获取动态项目的绝对路径 1.鼠标选中项目,右击菜单,选择properties2.出来弹出框,选择resource,location的值就是你想要的项目绝对路径 JSP中获得当前 ...

  9. 企业Web应用创新实验

    我现在设计一个小而美的管理工具,为此费劲心思搞“创新”.“创新”一词已经被滥用,但我...真的想弄出一点创新. 基于Web的企业应用,如CRM.项目管理.OA等软件,尽管经历十几年发展,所谓的理论有所 ...

  10. 用C#实现工资计算公式动态编写

    1,工资计算公式 每一个企业都一定会用到工资计算,发工资是一件非常神圣的事情,而计算工资就是一项非常重要的工作.Excel有非常强大的公式功能,帮助了很多财务人员计算工资,但如果企业的人数比较多,而且 ...