您现在的位置是:群英 > 数据库 > 关系型数据库
快速恢复误删oracle数据库有什么方法?
Admin发表于 2022-08-08 17:33:26531 次浏览
这篇文章分享给大家的内容是关于快速恢复误删oracle数据库有什么方法?,本文介绍得很详细,内容很有参考价值,希望可以帮到有需要的小伙伴,接下来就让小编带领大家一起了解看看吧。

 


本篇文章给大家带来了关于Oracle的相关知识,其中主要介绍了关于误删oracle数据库中的数据,在不考虑全库备份和利用归档日志情况,怎样快速恢复数据的相关问题,下面一起来看一下,希望对大家有帮助。

误删oracle数据库中的数据,在不考虑全库备份和利用归档日志情况,怎样快速恢复数据呢?

下面介绍3种方法。

1. 利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式

首先获取删除数据的时间点:

select * from v$sql where sql_text like '%table_name%' ;
1

根据结果中的sql_text内容,找到delete执行语句对应的删除时间点,执行下面语句查询出删除的数据。

select * from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’)
where (删除时的条件)
12

检查数据无误后,执行下面操作,将数据插回原表中。注意主键不重复

insert into table_name
select * from from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’)
where (删除时的条件)
123

2. 利用oracle虚拟回收站功能

原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟回收站中而非直接清空,在此种状态下数据库标记该表的数据库为可以复写,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。

首先查询user_table视图,找到被删除的表:

select table_name,dropped from user_tables;
select object_name,original_name,type,droptime from user_recyclebin;
12

注意此时的,object_nameoriginal_name就是回收站存放的表名和原来删除的表名,如果表名没有被重新命名,可以通过下面语句进行恢复:

flashback table original_name to before drop;
1

如果不知道源表名,或者需要重新命名新的表名存放数据,则可以通过回收站中的object_name进行恢复,命令如下:

flashback table object_name to before drop new_table_name;
1

3. 用oracle数据库的闪回功能可以将数据库恢复到过去某一状态

注意,此时是整库恢复,具体语法如下:

SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’);
123

4. 彻底删除数据

如果确定需要删除的数据又不想无谓的占用空间,我们可以使用以下3种方式:

  1. 采用truncate方式进行截断。(不能进行数据回恢复)
  2. 在drop时加上purge选项:drop table table_name purge
  3. 通过删除recyclebin区域来永久性删除表 ,drop table table_name cascade constraints purge table table_name;

5. 关于清空回收站

  1. 删除当前用户回收站

    purge recyclebin;

  2. 删除全体用户在回收站的数据

    purge dba_recyclebin;


以上就是关于快速恢复误删oracle数据库有什么方法?的介绍,本文内容仅供参考,有需要的朋友可以借鉴了解看看,希望对大家学习或工作,想要了解更多欢迎关注群英网络,小编每天都会为大家更新不同的知识。

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

标签: Oracle
相关信息推荐
2022-06-09 17:57:23 
摘要:转换方法:首先打开需要进行操作的文件,选择指定表;然后点击鼠标右键,在弹出右键菜单中选择“导出”,点击“Excel”;接着在弹出的“导出”菜单中选择指定文件格式,指定名称以及指定位置;最后点击“完成”按钮即可。
2022-06-13 17:06:27 
摘要:sql出现无效的列索引原因:1、占位符与参数数量不一致;2、sql拼接错误,注意每个【%】都要用 【''】 包括起来 ,与参数用【||】拼接;3、错误的注释。
2021-11-13 17:39:58 
摘要:这篇文章给大家分享的是在Kubernetes上部署MySQL数据库的方法,下文有对Kubernetes的介绍以及基于 Kubernetes 部署 MySQL 数据库的详细操作过程,感兴趣的朋友接下来一起跟随小编看看吧。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部