怎样恢复oracle函数,Oracle闪回恢复误删除的表、存储过程、包、函数...
在日常的數(shù)據(jù)庫(kù)開(kāi)發(fā)過(guò)程匯總難免會(huì)出現(xiàn)一些誤刪除的動(dòng)作,
對(duì)于一些誤刪的操作我們可以通過(guò)oracle提供的閃回機(jī)制恢復(fù)誤刪數(shù)據(jù),
從而避免出現(xiàn)較大的生產(chǎn)事故.
下面是本人平時(shí)工作中積累的一些常用的操作,非常簡(jiǎn)單實(shí)用,分享給大家.
恢復(fù)dml誤刪的數(shù)據(jù):
select * from? 誤刪除的表名 as of timestamp(systimestamp-interval ‘10‘ minute);--此處的10代表10分鐘前表中的數(shù)據(jù),可以根據(jù)實(shí)際情況進(jìn)行查詢
恢復(fù)drop掉的存儲(chǔ)過(guò)程、函數(shù)、包等:
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 = ‘?dāng)?shù)據(jù)庫(kù)用戶名需要大寫(xiě)‘) as of timestamp(systimestamp - interval ‘21‘ minute) --按照時(shí)間進(jìn)行閃回操作 此處為21分鐘前的狀態(tài)
where sptype = ‘PROCEDURE‘; --也可以單獨(dú)查詢FUNCTION、PACKAGE等
備注:如果以上代碼看不懂,可以動(dòng)手查詢一下,效果一目了然。
原文:https://www.cnblogs.com/LoveShare/p/10251729.html
總結(jié)
以上是生活随笔為你收集整理的怎样恢复oracle函数,Oracle闪回恢复误删除的表、存储过程、包、函数...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab ssgs工具箱,基于PI控
- 下一篇: oracle unused用法,set