plsql 误删表,使用flashback query恢复被删除plsql
今天一个朋友在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相关推荐
- PLSQL 误删表恢复及误删数据恢复
误删表恢复 1.查看你删除的是哪张表: select * from user_recyclebin t where DROPTIME >'2022-08-26 00:00:00' and t.o ...
- 如何利用Flashback Query 恢复误删除的数据
网上有很多关于数据回复的文章,这里整理一篇供大家参考,希望能帮助的大家! 推荐一家即时通讯云服务商:www.yun2win.com,功能包含im即时通讯.实时音视频.电子白板.屏幕共享的多种融合通讯云 ...
- 误删表数据,如何恢复过来
/* 真实案例:在执行语句的时候错误的把系统中的一个表的数据全部删除 在删除之前,我做过一次完整的数据库备份,再删除之后,我第一时 间做了尾日志备份 也就是说 我手上现在有一份最新的完整备份 和删 ...
- linux怎么找回误删的文件,Linux:恢复被删除的文件
一.利用FD恢复 FD(文件描述符)是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表.当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符,linux的话fd一般位 ...
- PLSQL的表窗口开启(不小心把PLSQL的表窗口关了,在哪里打开)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 菜单条---工具---浏览器.
- 利用flashback query解决误删除表数据
[使用场景]:1.操作失误导致delete.update的数据已经提交. 2.对一个表做了改动,你想看看有哪些数据发生了变化. 3.误删除了function,procedure,trigger等 [使 ...
- oracle误删数据和误删表的恢复方法
之前在操作数据的时候,我在思考如何编写SQL,但是不小心按下了F8执行了drop语句,不小心删除了表,不过之后被我恢复了,但是之后我又不小心删错了表数据,虽然很快恢复了,但是我也找了几篇博客对比,虽然 ...
- MySQL误操作数据恢复之误删表
一.前言 之前介绍了误删表数据后闪回的操作,本次介绍误删表后要如何进行操作. 二.数据恢复演示 set1:操作前先做个数据库的全备 mysqldump -uroot -p -S /root/mysql ...
- Entity framework 意外删除了表,如何在不影响其它表的情况下恢复回来 (EF数据库迁移原理)...
关于EntityFramework数据迁移原理 查询数据库的表"__MigrationHistory",遍历代码库的Migrations文件夹下的所有文件,如果文件不在__Mig ...
最新文章
- 如何刷新JTable
- VC实现将对话框最小化到系统托盘
- VError - Found 0 matching services的根源分析
- jdk 安装_Jdk 安装使用教程
- python俄罗斯方块课程设计报告_用python实现俄罗斯方块
- msyql 禁止远程访问
- [水力建模]EPANET代码解读1
- 袁隆平杂交水稻创新团队发布“农业芯片”,世界顶级科学家点赞拼多多新农人...
- sql表格模型获取记录内容_SQL Server和BI –如何使用Reporting Services 2016记录表格模型
- mysql 80070057_返回E_INVALIDARG (0x80070057)
- java实现打印功能_Js 打印功能的实现(Java)
- java.io.StreamCorruptedException: invalid stream header: 20200909
- Canvas 仿百度贴吧客户端 loading 小球
- 江西省赣州市谷歌高清卫星地图下载
- 分布式系统中可用性及容错性的区别
- [Python从零到壹] 五十四.图像增强及运算篇之局部直方图均衡化和自动色彩均衡化处理
- 【收藏】JavaWeb项目详解:水果库存后台管理系统(servlet+thymeleaf+mysql)
- python中求二维列表的最大最小值_python+numpy按行求一个二维数组的最大值方法
- 【TIPC】三、Messaging
- BZOJ[3620]似乎在梦中见过的样子 KMP
热门文章
- c++篇 vc++2010设置和c#一样的代码段,vs2010 两下tab设置
- Jenkins持续集成之小试牛刀
- ASP.NET Core 中的 ORM 之 Entity Framework
- Thread 等待异步方法执行完成方案:AutoResetEvent.WaitOne()
- APP中某个页面巨卡
- C++编译器与链接器工作原理
- java中的List排序[转]
- postgreSQL源码分析——索引的建立与使用——Hash索引(1)
- android finish后不能ondestroy_Android面试基础(一)
- python 判断div 之间的内容是否为空_python实现数据结构与算法之双端队列实现