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

    文章

    506

    浏览量

    17186
  • 数据库
    +关注

    关注

    7

    文章

    3709

    浏览量

    64020
收藏 人收藏

    评论

    相关推荐

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

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

    NetApp数据恢复—NetApp存储误删除数据恢复案例

    某公司台NetApp存储,该存储中有24块磁盘。 工作人员误删除了NetApp存储中个文件夹,文件夹中有非常重要的数据数据
    的头像 发表于 08-12 13:35 132次阅读
    NetApp<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—NetApp存储误<b class='flag-5'>删除</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—存储中卷被删除后重建如何恢复删除卷的数据

    服务器存储数据恢复环境: 某品牌FlexStorage P5730服务器存储,存储中有组由24块硬盘组建的RAID5阵列,包括1块热备硬盘。 服务器存储故障: 存储中的2个卷被删除
    的头像 发表于 06-05 11:03 406次阅读

    Oracle数据恢复Oracle数据库误truncate表的数据恢复案例

    数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCA
    的头像 发表于 03-11 17:30 290次阅读
    <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><b class='flag-5'>恢复</b>案例

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

    oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
    的头像 发表于 02-01 17:39 369次阅读
    【<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>库ASM实例无法挂载的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    小米电脑数据恢复的常用方法、工具和步骤

    、工具和步骤。 数据恢复方法: 垃圾箱恢复:当我们删除文件时,它们通常被送往电脑的垃圾箱,我们可以在垃圾箱中找回已
    的头像 发表于 01-25 11:10 1637次阅读

    【NetApp数据恢复】NetApp存储误操作删除lun的数据恢复案例

    NetApp数据恢复环境: NetApp某型号存储,存储中有数十块SAS硬盘,该型号NetApp存储硬盘是扇区大小是520字节。存储中的lun都映射给小型机使用,存放Oracle数据
    的头像 发表于 01-11 11:40 377次阅读
    【NetApp<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>】NetApp存储误操作<b class='flag-5'>删除</b>lun的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

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

    台Windows server操作系统的服务器上部署Oracle数据库。
    的头像 发表于 12-13 14:10 606次阅读
    <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数据库是进行任何
    的头像 发表于 12-06 10:14 543次阅读

    oracle数据库的使用方法

    数据库的使用方法,包括安装和配置、基本操作、高级功能等方面。 、安装和配置 安装Oracle数据库前,您需要先下载合适的安装包,根据操作系
    的头像 发表于 12-06 10:10 1042次阅读

    如何去掉oracle字符型数据里的null

    去掉Oracle字符型数据中的NULL值可以通过以下几种方法实现。在介绍这些方法之前,首先需要了解
    的头像 发表于 12-06 09:46 915次阅读

    oracle怎么往表里插数据

    Oracle种关系型数据库管理系统(RDBMS),提供了插入数据到表中的多种方式。下面将详细介绍在Oracle中如何往表里插入
    的头像 发表于 11-21 14:12 1822次阅读

    数据数据恢复—断电导致Oracle数据库故障的数据恢复案例

    北京某公司台运行oracle数据库的服务器,机房意外断电导致该服务器重启,重启后发现oracle数据库报错。该
    的头像 发表于 10-25 14:52 515次阅读
    <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数据数据恢复环境: 台服务器,底层由12块硬盘组成组磁盘阵列,上层操作系统上
    的头像 发表于 10-12 14:00 698次阅读

    数据数据恢复-数据库文件被删除/分区被格式化的SQL SERVER数据恢复方

    数据数据恢复-数据库文件被删除/分区被格式化的SQL SERVER数据
    的头像 发表于 09-21 14:34 720次阅读