今天一个朋友在11g中误删除生产中的一个过程,让他通过对dba_source视图的flashback query找回该过程.

从10g及其以后的版本中,如果被删除的plsql被及时发现(undo 未被覆盖掉)可以使用flashback query功能实现恢复.

创建plsql并删除

SQL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE 10.2.0.1.0 Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

SQL> create or replace PROCEDURE p_test_del(in_put varchar2) as

2 begin

3 dbms_output.put_line(in_put);

4 end;

5 /

Procedure created.

SQL> set serveroutput on

SQL> exec p_test_del('www.xifenfei.com');

www.xifenfei.com

PL/SQL procedure successfully completed.

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY

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

2012-07-02 08:34:45

SQL> drop PROCEDURE p_test_del;

Procedure dropped.

恢复plsql

SQL> set pagesize 0

SQL> column text format a4000

SQL> spool /tmp/get_delete_proc.xff

SQL> SELECT text

2 FROM DBA_source AS OF TIMESTAMP TO_TIMESTAMP('2012-07-02 08:34:45', 'YYYY-MM-DD HH24:MI:SS')

3 WHERE OWNER = 'CHF' AND NAME = 'P_TEST_DEL' ORDER BY LINE;

PROCEDURE p_test_del(in_put varchar2) as

begin

dbms_output.put_line(in_put);

end;

SQL> spool off;

SQL> !more /tmp/get_delete_proc.xff

SQL> SELECT text

2 FROM DBA_source AS OF TIMESTAMP TO_TIMESTAMP('2012-07-02 08:34:45', 'YYYY-MM-DD HH24:MI:SS')

3 WHERE OWNER = 'CHF' AND NAME = 'P_TEST_DEL' ORDER BY LINE;

create PROCEDURE p_test_del(in_put varchar2) as

begin

dbms_output.put_line(in_put);

end;

SQL> spool off;

重建plsql

SQL> create PROCEDURE p_test_del(in_put varchar2) as

2 begin

3 dbms_output.put_line(in_put);

4 end;

5 /

Procedure created.

SQL> set serveroutput on

SQL> exec p_test_del('惜分飞');

惜分飞

PL/SQL procedure successfully completed.

plsql 误删表,使用flashback query恢复被删除plsql相关推荐

  1. PLSQL 误删表恢复及误删数据恢复

    误删表恢复 1.查看你删除的是哪张表: select * from user_recyclebin t where DROPTIME >'2022-08-26 00:00:00' and t.o ...

  2. 如何利用Flashback Query 恢复误删除的数据

    网上有很多关于数据回复的文章,这里整理一篇供大家参考,希望能帮助的大家! 推荐一家即时通讯云服务商:www.yun2win.com,功能包含im即时通讯.实时音视频.电子白板.屏幕共享的多种融合通讯云 ...

  3. 误删表数据,如何恢复过来

    /* 真实案例:在执行语句的时候错误的把系统中的一个表的数据全部删除 在删除之前,我做过一次完整的数据库备份,再删除之后,我第一时 间做了尾日志备份 也就是说  我手上现在有一份最新的完整备份  和删 ...

  4. linux怎么找回误删的文件,Linux:恢复被删除的文件

    一.利用FD恢复 FD(文件描述符)是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表.当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符,linux的话fd一般位 ...

  5. PLSQL的表窗口开启(不小心把PLSQL的表窗口关了,在哪里打开)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 菜单条---工具---浏览器.

  6. 利用flashback query解决误删除表数据

    [使用场景]:1.操作失误导致delete.update的数据已经提交. 2.对一个表做了改动,你想看看有哪些数据发生了变化. 3.误删除了function,procedure,trigger等 [使 ...

  7. oracle误删数据和误删表的恢复方法

    之前在操作数据的时候,我在思考如何编写SQL,但是不小心按下了F8执行了drop语句,不小心删除了表,不过之后被我恢复了,但是之后我又不小心删错了表数据,虽然很快恢复了,但是我也找了几篇博客对比,虽然 ...

  8. MySQL误操作数据恢复之误删表

    一.前言 之前介绍了误删表数据后闪回的操作,本次介绍误删表后要如何进行操作. 二.数据恢复演示 set1:操作前先做个数据库的全备 mysqldump -uroot -p -S /root/mysql ...

  9. Entity framework 意外删除了表,如何在不影响其它表的情况下恢复回来 (EF数据库迁移原理)...

     关于EntityFramework数据迁移原理 查询数据库的表"__MigrationHistory",遍历代码库的Migrations文件夹下的所有文件,如果文件不在__Mig ...

最新文章

  1. 如何刷新JTable
  2. VC实现将对话框最小化到系统托盘
  3. VError - Found 0 matching services的根源分析
  4. jdk 安装_Jdk 安装使用教程
  5. python俄罗斯方块课程设计报告_用python实现俄罗斯方块
  6. msyql 禁止远程访问
  7. [水力建模]EPANET代码解读1
  8. 袁隆平杂交水稻创新团队发布“农业芯片”,世界顶级科学家点赞拼多多新农人...
  9. sql表格模型获取记录内容_SQL Server和BI –如何使用Reporting Services 2016记录表格模型
  10. mysql 80070057_返回E_INVALIDARG (0x80070057)
  11. java实现打印功能_Js 打印功能的实现(Java)
  12. java.io.StreamCorruptedException: invalid stream header: 20200909
  13. Canvas 仿百度贴吧客户端 loading 小球
  14. 江西省赣州市谷歌高清卫星地图下载
  15. 分布式系统中可用性及容错性的区别
  16. [Python从零到壹] 五十四.图像增强及运算篇之局部直方图均衡化和自动色彩均衡化处理
  17. 【收藏】JavaWeb项目详解:水果库存后台管理系统(servlet+thymeleaf+mysql)
  18. python中求二维列表的最大最小值_python+numpy按行求一个二维数组的最大值方法
  19. 【TIPC】三、Messaging
  20. BZOJ[3620]似乎在梦中见过的样子 KMP

热门文章

  1. c++篇 vc++2010设置和c#一样的代码段,vs2010 两下tab设置
  2. Jenkins持续集成之小试牛刀
  3. ASP.NET Core 中的 ORM 之 Entity Framework
  4. Thread 等待异步方法执行完成方案:AutoResetEvent.WaitOne()
  5. APP中某个页面巨卡
  6. C++编译器与链接器工作原理
  7. java中的List排序[转]
  8. postgreSQL源码分析——索引的建立与使用——Hash索引(1)
  9. android finish后不能ondestroy_Android面试基础(一)
  10. python 判断div 之间的内容是否为空_python实现数据结构与算法之双端队列实现