存储过程恢复

    技术2022-05-20  48

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

    简单的问了一下他们说从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 isJOB_INST   beginJOB_INST      execute immediate('truncate table t_job');JOB_INST      execute immediate ('insert into t_jobJOB_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)