日期:2014-05-16  浏览次数:20374 次

如何恢复一个被误drop的存储过程

这种恢复是非常容易的,原理就是利用了oracle里所有的存储过程的源代码都是存在dba_source里,而drop某个存储过程的时候,oracle这里肯定要去dba_source里把相关的源代码给delete掉,既然是delete,那就好办咯,直接flashback query就可以了

?

如下是完整的恢复过程:

用sys用户登陆,执行如下的查询:

?

SQL> select text from dba_source as of timestamp to_timestamp('2011-11-30 16:25:00', 'YYYY-MM-DD HH24:MI:SS') where owner='UUMS' and name= 'BITOR' order by line;
 
TEXT
--------------------------------------------
function bitor(x in NUMBER, y in NUMBER) return integer is
  Result integer;
begin
  return(x+y-bitand(x,y));
end bitor;
 
7 rows selected
?

?


我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html