[推荐] oracle数据恢复:恢复删除的数据库数据

[复制链接]
  • TA的每日心情
    开心
    2015-4-15 14:15
  • 签到天数: 1 天

    [LV.1]布衣百姓

    22

    主题

    7

    回帖

    668

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    668
    发表于 2015-1-7 17:37:23 | 显示全部楼层 |阅读模式
    在执行维护计划的时候,如果准备备份数据库或者进行数据库例行维护,误操作导致oracle数据库数据被删除了,想知道有什么办法能恢复,可以通过scn和时间戳两种方法进行数据恢复

    恢复删除的oracle数据分为两种方法:

    一、通过scn恢复删除且已提交的数据

      1、获得当前数据库的scn号

        select current_scn from v$database; (切换到sys用户或system用户查询)

        查询到的scn号为:1499223

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

        select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)

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

        flashback table 表名 to scn 1499220;

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

      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; //允许更改时间戳

    该用户从未签到

    2

    主题

    1132

    回帖

    1003

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    1003
    发表于 2015-1-8 13:28:22 | 显示全部楼层
    complicated...
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-2-5 10:03
  • 签到天数: 71 天

    [LV.6]五品郎中

    4

    主题

    186

    回帖

    416

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    416
    发表于 2015-1-20 11:30:48 | 显示全部楼层
    谢谢 楼主分享 学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-3-30 15:00
  • 签到天数: 2 天

    [LV.1]布衣百姓

    0

    主题

    32

    回帖

    21

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    21
    发表于 2015-1-24 22:53:59 | 显示全部楼层

    学习了学习了学习了学习了学习了学习了学习了学习了学习了学习了学习了学习了学习了学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    68

    主题

    477

    回帖

    1万

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    15869
    QQ
    发表于 2015-3-17 10:22:51 | 显示全部楼层
    这些命令ORACLE维护人员都会的。数据恢复技术人员需要做的是不支持闪回和不能闪回的ORACLE数据库删除恢复。一般是通过获取表ID来实现,如果表ID无法获取,海云自主开发软件寻找表ID,实现真正意义上的ORACLE删除表恢复。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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