怎样恢复oracle函数,Oracle闪回恢复误删除的表、存储过程、包、函数...

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

对于一些误删的操作我们可以通过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等

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

原文:https://www.cnblogs.com/LoveShare/p/10251729.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值