如何恢复一个被误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
 

 

你可能感兴趣的:(存储过程)