0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Oracle数据恢复—Oracle删除数据不用怕!这些数据恢复方法了解一下

Frombyte ? 来源:Frombyte ? 作者:Frombyte ? 2024-07-19 16:40 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

相信有很多oracle数据库用户都遇到过在操作Oracle数据库时误删除某些重要数据的情况,这个时候如果数据库没有备份且数据十分重要的,怎么才能恢复误删除的数据呢?北亚企安数据恢复工程师下面简单介绍几个误删除Oracle数据库数据的恢复方法。

Oracle数据库误删除数据的恢复方法一:
利用oracle提供的闪回方法恢复数据,该方法适用于delete删除(一条记录)的情况:
首先需要知道是什么时间进行的删除操作,如果不能确定具体时间点则选择尽量准确的删除数据前的时间。然后利用“select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')”语句可以找回删除的数据。
利用“insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'))”语句就可以将恢复出来的数据插入原表中(注意要保证主键不重复)。
另一种方法可以通过闪回整个表来恢复误删除的数据,但仅适用于表结构没有发生改变且用户有flash any table权限的情况下,语句如下:
alter table 表名 enable row movement
flashback table 表名 to timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')

Oracle数据库误删除数据的恢复方法二:
oracle数据库在删除表时会将删除信息存放于某虚拟“回收站”中而非直接清空,再此种状态下数据库标记该表的数据库为“可以复写”,所以在该块未被重新使用前依然可以恢复数据。该方法适用于drop删除。
首先需要通过查询user_table视图找到被删除的表:
select table_name,dropped from user_tables
select object_name,original_name,type,droptime from user_recyclebin
注意此时的表名称已经被重新命名,table_name和object_name就是回收站中的存放表名。如果知道原表的名称可以通过“flashback table 原表名 to before drop”语句恢复数据,如果不知道原表的名称可以直接按照回收站中的表名称将数据恢复,然后通过
“flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名”语句就可以重新命名。

Oracle数据库误删除数据的恢复方法三:
利用oracle数据库的闪回功能可以将数据库恢复到过去某一状态,语句如下:
SQL>alter database flashback on;
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss');
Oracle数据库虽然提供了恢复数据的保障机制,但是也占用了大量空间,使用drop删除一个表或者delete删除数据后空间并不能自动回收。如果确实需要恢复删除的数据又不想空间被浪费又该如何操作呢?可以采用以下方法:
1、采用truncate方式进行截断。
2、在drop时加上purge选项:drop table 表名 purge,该选项也可以通过删除recyclebin区域来永久性删除表。
删除表:
SQL>drop table emp cascade constraints;
SQL>purge table emp;
删除当前用户的回收站:
SQL>purge recyclebin;
删除全体用户在回收站的数据:
SQL>purge dba_recyclebin

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据恢复
    +关注

    关注

    10

    文章

    658

    浏览量

    18263
  • 数据库
    +关注

    关注

    7

    文章

    3948

    浏览量

    66811
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数据数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司台服务器上部署Oracle数据库。服务器意外断电导致数据库报
    的头像 发表于 07-24 11:12 ?195次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—服务器异常断电导致<b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>库故障的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    台服务器上个分区存放Oracle数据数据。由于管理员误操作不小心删除了该分区,
    的头像 发表于 07-22 14:06 ?87次阅读
    <b class='flag-5'>Oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—格式化分区导致<b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>库报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    oracle数据恢复oracle数据库误执行错误truncate命令如何恢复数据

    oracle数据库误执行truncate命令导致数据丢失是种常见情况。通常情况oracle
    的头像 发表于 06-05 16:01 ?394次阅读
    <b class='flag-5'>oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>oracle</b><b class='flag-5'>数据</b>库误执行错误truncate命令如何<b class='flag-5'>恢复数据</b>?

    适用于Oracle的Devart Excel插件:轻松管理数据

    工作簿中的数据,编辑这些数据并将其保存回 Oracle。它使您能够像使用 Excel 工作表样处理
    的头像 发表于 01-14 11:11 ?590次阅读
    适用于<b class='flag-5'>Oracle</b>的Devart Excel插件:轻松管理<b class='flag-5'>数据</b>

    服务器数据恢复—raid5阵列上层win系统+oracle数据数据恢复案例

    台服务器上的8块硬盘组建了组raid5磁盘阵列。上层安装windows server操作系统,部署了oracle数据库。 raid5阵列中有2块硬盘的硬盘指示灯显示异常报警。服务
    的头像 发表于 01-10 14:40 ?417次阅读

    数据数据恢复ORACLE常见故障的数据恢复可行性分析

    Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、
    的头像 发表于 12-10 11:35 ?504次阅读

    服务器数据恢复—LINUX系统删除/格式化的数据恢复可行性分析

    Linux操作系统是世界上流行的操作系统之,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统数据被误删除或者误格式化的问题非常普遍。下面北亚企安
    的头像 发表于 12-06 13:52 ?544次阅读

    Oracle报错“system01.dbf需要更多的恢复来保持致性”的数据恢复案例

    Oracle数据库故障&分析: Oracle数据库打开报错,报错信息: “system01.dbf需要更多的
    的头像 发表于 11-27 13:10 ?687次阅读
    <b class='flag-5'>Oracle</b>报错“system01.dbf需要更多的<b class='flag-5'>恢复</b>来保持<b class='flag-5'>一</b>致性”的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    oracle数据恢复—存储掉盘导致Oracle数据库文件大小变为0kb的数据恢复案例

    &并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
    的头像 发表于 11-21 11:29 ?522次阅读
    <b class='flag-5'>oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—存储掉盘导致<b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>库文件大小变为0kb的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据数据恢复Oracle ASM实例无法挂载的数据恢复案例

    Oracle数据数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle
    的头像 发表于 10-28 11:26 ?499次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>Oracle</b> ASM实例无法挂载的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—EXT3文件系统删除数据恢复案例

    服务器数据恢复环境: 邮件服务器中有组由8块盘组成的RAID5阵列, 上层是Linux操作系统+EXT3文件系统。 服务器故障: 由于误删除导致文件系统中的邮件
    的头像 发表于 10-23 15:11 ?515次阅读
    服务器<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—EXT3文件系统<b class='flag-5'>下</b>误<b class='flag-5'>删除数据</b>的<b class='flag-5'>恢复</b>案例

    oracle数据恢复Oracle数据库打开报错的数据恢复案例

    打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持致性,数据库无法打开”。急需
    的头像 发表于 10-17 13:20 ?572次阅读
    <b class='flag-5'>oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>库打开报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—异常断电后Oracle数据库启库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持
    的头像 发表于 09-30 13:31 ?811次阅读
    <b class='flag-5'>Oracle</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—异常断电后<b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>库启库报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据数据恢复Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 ?1057次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>数据</b>库文件system01.dbf损坏的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复Oracle数据库delete删除数据恢复方法

    删除Oracle数据数据般有以下2种方式:delete、drop或truncate。下面针对这2种
    的头像 发表于 09-11 11:45 ?792次阅读