恢复当天删除的数据_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1551 | 回复: 1   主题: 恢复当天删除的数据        下一篇 
fireworks256
注册用户
等级:少校
经验:906
发帖:39
精华:0
注册:2015-7-15
状态:离线
发送短消息息给fireworks256 加好友    发送短消息息给fireworks256 发消息
发表于: IP:您无权察看 2015-7-22 11:20:18 | [全部帖] [楼主帖] 楼主

由于我误删了数据库,老大很不爽,命我再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,那么写法如下:


该贴被fireworks256编辑于2015-7-22 11:22:21




赞(0)    操作        顶端 
fireworks256
注册用户
等级:少校
经验:906
发帖:39
精华:0
注册:2015-7-15
状态:离线
发送短消息息给fireworks256 加好友    发送短消息息给fireworks256 发消息
发表于: IP:您无权察看 2015-7-22 11:22:57 | [全部帖] [楼主帖] 2  楼

/*

declare

time varchar2(20);

begin

time:='2011-12-02%';

proc_databack (time);

end;

*/



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论