oracle如何恢复被覆盖的存储过程

如果你不小心覆盖了之前的存储过程,那得赶紧闪回,时长越长闪回的可能性越小。原理很简单,存储过程的定义就是数据字典,修改数据字典跟修改普通表的数据没有区别,此时会把修改前的内容放到undo中,我们可以根据这一点来进行闪回,所以我说要尽快,要不然找不回来了。

create table p_temp as

select *

from dba_source as of timestamp TO_TIMESTAMP(‘2014-05-14 09:30:00‘, ‘YYYY-MM-DD HH24:MI:SS‘)

where TYPE = ‘PROCEDURE‘

And owner = ‘DBSNMPTEST‘

And Name = ‘P_SC_MON‘;

select text

from p_temp

where Name = ‘P_SC_MON‘;

and  owner = ‘DBSNMPTEST‘

order by line;

oracle如何恢复被覆盖的存储过程

时间: 2024-12-29 11:47:37

oracle如何恢复被覆盖的存储过程的相关文章

oracle怎么恢复被覆盖的存储过程

在oracle数据库中,如果覆盖了之前的存储过程,那得赶紧闪回,时长越长闪回的可能性越小. 原理很简单,存储过程的定义就是数据字典,修改数据字典跟修改普通表的数据没有区别,此时会把修改前的内容放到undo中,可以根据这一点来进行闪回,所以我说要尽快,要不然找不回来了. 来做一个实验: 1.在用户TEST下14:31下建立存储过程 create or replace procedure GG_TEST as l_cnt number; begin for i in 1 .. 10000 loop

oracle恢复被覆盖的存储过程

如果你不小心覆盖了之前的存储过程,那得赶紧闪回,时长越长闪回的可能性越小.原理很简单,存储过程的定义就是数据字典,修改数据字典跟修改普通表的数据没有区别,此时会把修改前的内容放到undo中,我们可以根据这一点来进行闪回,所以我说要尽快,要不然找不回来了.下面我们来做一个实验: 1.在用户TEST下14:31下建立存储过程 create or replace procedure GG_TEST as l_cnt number; begin for i in 1 .. 10000 loop exec

oracle闪回使用以及删除存储过程恢复

oracle恢复删除的数据 恢复删除的存储过程 SELECT * FROM dba_source as of timestamp (systimestamp -interval'600'second) 分为两种方法:scn和时间戳两种方法恢复. 一.通过scn恢复删除且已提交的数据 1.获得当前数据库的scn号 select current_scn from v$database; (切换到sys用户或system用户查询) 查询到的scn号为:1499223 2.查询当前scn号之前的scn

关于oracle实例恢复的前滚和回滚的理解

关于oracle实例恢复的一些理解,一直都有误区,今天通过查看相关资料和与同学探讨,发觉了自己的错误,探讨结果如下: 实例恢复:当数据库非正常关闭的时候(断电或者shu  abort等等非一致性关闭),当你从新启动数据库的时候,数据库相关进程自动进行实例恢复,无须人工干预. 什么时候需要实例恢复 在shutdown normal or shutdown immediate下,也就是所谓的clean shutdown,checkpoint也会自动触发,并且把SCN纪录写回. 当发生checkpoi

案例:Oracle非常规恢复ODU恢复PACKAGE/VIEW/DBLINK等数据脚本操作

Oracle非常规恢复,通过ODU工具恢复包,过程,函数,视图,触发器等数据 当数据库不能拉起来时候,我们可以通过odu找回丢失的数据,今天客户出要求,需要我帮忙找回不能起来库中的包,过程,函数,视图,触发器等之类东西.这些东西都是存在system空间中,存在一些系统的基表中,我们如果能够拿到这些基表的数据然后进行处理,原则上就可以得到客户需要的东西 一.恢复PROCEDURE/FUNCTION/PACKAGE/PACKAGE BODY/TRIGGER/TYPE/TYPE BODY中的数据 1.

案例:Oracle非常规恢复 ASM磁盘组diskgroup被删除使用kfed进行完美恢复

Oracle RAC环境ASM磁盘组被强制删除,使用kfed工具完美恢复误删除磁盘组案例 在某些情况下,可能因为误操作,不小先drop diskgroup,这个时候千万别紧张,出现此类故障,可以通过kfed进行完美恢复(数据0丢失).如果进一步损坏了相关asm disk,那后续恢复就很麻烦了,可能需要使用dul扫描磁盘来进行抢救性恢复,而且可能导致数据丢失. 1.创建Oracle环境中的测试磁盘组 [[email protected] ~]$ sqlplus / as sysasm SQL*Pl

Oracle实践--PL/SQL基础之存储过程

PL/SQL基础之存储过程 存储过程:过程是用于完成特定任务的子程序(代码的集合) /* 子程序的优点:1.模块化,将程序分解为逻辑模块: 2.可重用性,可以被任意数目的程序调用: 3,可维护性,简化维护操作: 4.安全性:通过设置权限,使数据更安全 */ --存储过程1,打印HelloWorld create or replace procedure my_pro is --用于声明一些变量 v_string varchar2(20) :='helloworld!'; begin dbms_o

什么是oracle自动恢复操作

这是由系统进行的恢复.无需人的管理和操作.一般当系统由于突然掉电而出现故障时用这种方法.当再次启动数据库就会进行自动恢复.    不像简单的DOS系统,oracle系统在运行时有许多事务要处理,并且存在许多进程.无论此时人是否对系统进行了操作,这些事务和进程都是存在并运行着的.因此,oracle系统非常复杂,绝不允许中途突然关电源,那样会使系统受到损害.    但是有时并非人自愿的,电源不好而突然掉电,或是未通知的突然停电,而又没有使用不间断电源UPS,则此时数据库系统将难免受到损害.由于掉电,

Oracle 实例恢复

-======================= -- Oracle 实例恢复 --======================= 一.Oracle实例失败 Oracle实例失败多为实例非一致性关闭所致,通常称为崩溃(crash).实例失败的结果等同于shutdown abort. 实例失败的原因 电源负载故障 硬件故障 后台进程失败 异常关闭数据库 实例失败后的状况 数据库可能丢失已提交的事务以及存储了未提交的事务,导致数据库出现不一致的情况 解决方案 使用startup 重新启动实例.实例实