六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 49|回复: 0

恢复当天删除的数据

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-14 09:03:31 | 显示全部楼层 |阅读模式
12月2日,我误删了数据库,老大很不爽,命我再30分钟之内恢复,情急之下,写了一个存储过程,适用于恢复当天删除了表而没有记住表的名称。
只需要传入当天的时间,调用一下就ok了。
存储过程如下:  create or replace procedure proc_databack (deletetime in varchar2)  as  --把当天已经删除的信息查询出来放入游标  cursor mycursor is(select  object_name   from recyclebin  where droptime like deletetime);  temp_emp    varchar2(2000);  vflash_back   varchar2(2000);  begin    open mycursor;    loop    fetch mycursor  into temp_emp;    exit when mycursor%notfound;   --构建恢复语句    vflash_back:='flashback table "'||temp_emp||'"  to  before drop';     --循环恢复被删除的表,直到全部恢复完成    execute immediate vflash_back;    end loop;    close mycursor;end;--调用存储过程--比如今天是2011-12-02,那么写法如下:/*declaretime varchar2(20);begintime:='2011-12-02%';proc_databack (time);end;*/ 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表