存储过程恢复

今天在家复习准备下午的考试,接到另外一个项目组同事的电话。说生产环境的存储过程被删了,问怎么恢复。

简单的问了一下他们说从v$sql里看到这个存储过程大约是在10:00左右被删除的。

 

下面模拟一下解决过程。

SQL> drop procedure job_inst;
Procedure dropped

 

SQL> SELECT  r.object_name ,r.original_name,r.operation ,r.droptime FROM user_recyclebin  r;
OBJECT_NAME  ORIGINAL_NAME  OPERATION DROPTIME   
------------        --------------             ---------        -----------


SQL> conn / as sysdba
已连接。
SQL> col name for a10;
SQL> col text for a60;


SQL> SELECT NAME, TEXT
  2    FROM DBA_SOURCE AS OF TIMESTAMP TO_TIMESTAMP('2011-04-15 12:20:00', 'yyyy-mm-dd hh24:mi:ss')
  3   WHERE OWNER = 'REPORT'
  4     AND TYPE = 'PROCEDURE'
  5     AND NAME = 'JOB_INST';

 

 

NAME       TEXT
---------- ------------------------------------------------------------
JOB_INST   procedure job_inst is
JOB_INST   begin
JOB_INST      execute immediate('truncate table t_job');
JOB_INST      execute immediate ('insert into t_job
JOB_INST       select INSTANCE_NUMBER,INSTANCE_NAME ,sysdate  from v$instance');
JOB_INST      commit;
JOB_INST   end job_inst;


SQL>    create or replace procedure job_inst is
  2     begin
  3        execute immediate('truncate table t_job');
  4        execute immediate ('insert into t_job
  5         select INSTANCE_NUMBER,INSTANCE_NAME ,sysdate  from v$instance');
  6        commit;
  7     end job_inst;
  8  /

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值