温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle误删除表数据后如何恢复

发布时间:2021-07-29 17:24:14 来源:亿速云 阅读:148 作者:Leah 栏目:数据库

Oracle误删除表数据后如何恢复,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

  Oracle误删除表数据后怎么快速恢复

  一、undo_retention参数的查询、修改:

  用show parameter undo;命令查看当时的数据库参数undo_retention设置。

  显示如下:

  undo_management string AUTO

  undo_retention integer 10800

  undo_suppress_errors boolean FALSE

  undo_tablespace string UNDOTBS1

  undo_retention(保持力),10800单位是秒。即3个小时。

  修改默认的undo_retention参数设置:

  ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH;

  Oracle误删除表数据后怎么快速恢复

  二、oracle误删除表数据后的的快速回复功能方法:

  【方法一】:

  通过oracle提供的回闪功能:

  exec dbms_flashback.enable_at_time(to_date('2007-07-23 10:21:00','yyyy-mm-dd hh34:mi:ss'));

  set serveroutput on

  DECLARE r_temp hr.job_history%ROWTYPE;

  CURSOR c_temp IS SELECT * FROM hr.job_history;

  BEGIN

  OPEN c_temp;

  dbms_flashback.disable;

  LOOP

  FETCH c_temp INTO r_temp;

  EXIT WHEN c_temp%NOTFOUND;

  insert into hr.job_history(EMPLOYEE_ID,JOB_ID,START_DATE,END_DATE) values (r_temp.EMPLOYEE_ID,r_temp.JOB_ID,r_temp.START_DATE,r_temp.END_DATE);

  commit;

  END LOOP;

  CLOSE c_temp;

  END;

  这种办法可以将删除的数据回复到对应的表中,首先要保证该用户有执行dbms_flashback包的权限

  【方法二】:

  insert into hr.job_history

  select * from hr.job_history as of timestamp to_timestamp('2007-07-23 10:20:00', 'yyyy-mm-dd hh34:mi:ss');

  这种方法简单,容易掌握,功能和上面的一样时间为你误操作之前的时间,最好是离误操作比较近的。

关于Oracle误删除表数据后如何恢复问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI