您的位置:首页 > 数据库 > Oracle

Oracle 删除数据恢复

2014-03-19 14:58 176 查看
一、通过scn恢复删除且已提交的数据
  1、获得当前数据库的scn号(切换到sys用户或system用户查询)

select current_scn from v$database;

             查询到的scn号为:12447151259442

  2、查询当前scn号之前的scn

    

select * from 用户名.表名 as of scn 12447151259442;

           (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)      

3、恢复删除且已提交的数据

  

 flashback table 用户名.表名 to scn 12447151259442;

二、通过时间恢复删除且已提交的数据

  1、查询当前系统时间

   

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

  2、查询删除数据的时间点的数据

    

select * from 用户名.表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');

           (如果不是,则继续缩小范围)

  3、恢复删除且已提交的数据

flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss')  

注意:如果在执行上面的语句,出现错误。可以尝试执行
alter table 表名 enable row movement; //允许更改时间戳
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 数据库 database