前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle数据库误删的表以及表中记录的恢复

oracle数据库误删的表以及表中记录的恢复

作者头像
Java架构师必看
发布2021-05-14 11:34:22
2K0
发布2021-05-14 11:34:22
举报
文章被收录于专栏:Java架构师必看

oracle数据库误删的表以及表中记录的恢复

强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

oracle数据库误删的表以及表中记录的恢复

本文转载自:https://blog.csdn.net/fei7837226/article/details/80446552

一、表的恢复(闪恢复)

     对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:     1、从flash back里查询被删除的表

代码语言:javascript
复制
 select * from recyclebin

    2、执行表的恢复

代码语言:javascript
复制
flashback table  tbName  to before drop;                        这里的tbName代表你要恢复的表的名称。

二、表数据恢复

     对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:     1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。              如:select * from flashback_transaction_query where table_name='TEST';         2、执行表记录恢复一般先根据时间进行查询,查询语句模式为          select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名称,time指某个时间点               如select * from scott.test as of timestamp to_timestamp('2009-12-11 20:53:57','yyyy-mm-dd hh24:mi:ss');              若有数据,恢复极为简单了,语句为          flashback table tb to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');             如flashback table scott.test to timestamp to_timestamp('2009-12-11 20:47:30','yyyy-mm-dd hh24:mi:ss'); 注意:alter table testvarchar enable row movement;     这个命令的作用是,允许Oracle 修改分配给行的rowid。在Oracle 中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。闪回表处理会对EMP 完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回就必须允许Oracle 执行这个操作

还可以用一下方法:

1.先找到原有表还在数据库的时间 select timestamp_to_scn(to_timestamp('2017-02-21 09:00',                                      'YYYY-MM-DD HH24:MI')) as scn_number   from dual;

2.根据scn_number找到一删除的表并且复制表结构及数据

  create table  temp_xxxxx as  select * from 数据库.表名  as of SCN 14173437566; 

这样就可以将已删除的表结构和数据都恢复到temp_xxxxx表中    

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • oracle数据库误删的表以及表中记录的恢复
    • 一、表的恢复(闪恢复)
      • 二、表数据恢复
        • 还可以用一下方法:
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档