ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 存储过程误删除的恢复

存储过程误删除的恢复

原创 Linux操作系统 作者:wenhual43 时间:2013-10-15 15:19:37 0 删除 编辑
今天在开发环境,同事不小心把存储过程删除了,同时还删除了3个表。是purge哦!

没有备份,怎么恢复呢。

查看版本:10.2.0.3
解决思路: 
sys登录
1.show parameter undo_retention; 发现时间很短,才900,我赶紧改大点,2小时,alter system set undo_retention=7200;
2.备份存储过程源码
create table before_drop_pro as select OWNER, NAME, TYPE, LINE, TEXT
  from dba_source as of timestamp sysdate - 1 / 24 where wner='xxx';
3.找到删除前的表
 select TABLE_NAME from dba_tables as of timestamp sysdate - 1 / 24 where WNER='xxxx' ;
4.根据第三步找到删除的表,把表的列信息找回来
create table bf_drop_tab as select table_name , column_name ,data_type ,data_length ,nullable ,column_id  from dba_tab_cols where wner='xxx' and table_name in (xxxxxx);

这样,存储过程,删除前的表结构已经保存到备份表。但是删除前表的记录貌似没有想到找回的办法。

有惊无险,能恢复一部分算一部分。听说truncate 的表也可以找回来,有时间了去研究一下。这个恢复有难度。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25027760/viewspace-774419/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-08-03

  • 博文量
    32
  • 访问量
    116541