Welcome 微信登录

首页 / 数据库 / MySQL / Oracle基础教程:恢复当天删除的数据

我误删了数据库,老大很不爽,命我再30分钟之内恢复,情急之下,写了一个存储过程,适用于恢复当天删除了表而没有记住表的名称。 只需要传入当天的时间,调用一下就ok了。
  1. 存储过程如下:   
  2.   create or replace procedure proc_databack (deletetime in varchar2)   
  3.   as  
  4.   --把当天已经删除的信息查询出来放入游标   
  5.   cursor mycursor isselect  object_name   from recyclebin  where droptime like deletetime);   
  6.   temp_emp    varchar2(2000);   
  7.   vflash_back   varchar2(2000);   
  8.   begin  
  9.     open mycursor;   
  10.     loop   
  11.     fetch mycursor  into temp_emp;   
  12.     exit when mycursor%notfound;   
  13.    --构建恢复语句   
  14.     vflash_back:="flashback table ""||temp_emp||""  to  before drop";   
  15.      --循环恢复被删除的表,直到全部恢复完成   
  16.     execute immediate vflash_back;   
  17.     end loop;   
  18.     close mycursor;   
  19. end;   
  20.   
  21. --调用存储过程   
  22. --比如今天是2011-12-02,那么写法如下:   
  23. /*   
  24. declare  
  25. time varchar2(20);   
  26. begin  
  27. time:="2011-12-02%";   
  28. proc_databack (time);   
  29. end;   
  30. */  
如何管理Oracle的表空间和数据文件MongoDB 与 Cassandra相关资讯      Oracle基础教程 
  • Oracle块编程返回结果集详解  (11/10/2013 10:45:58)
  • Oracle基础教程之设置系统全局区  (08/22/2013 14:24:00)
  • Oracle基础教程知识点总结  (06/18/2013 07:43:32)
  • Oracle基础教程之tkprof程序详解  (10/22/2013 11:49:50)
  • Oracle基础教程之sqlplus汉字乱码  (07/18/2013 16:30:00)
  • Oracle 管理之 Linux 网络基础  (02/16/2013 18:37:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数