原标题:LINUX下误删除Oracle数据库恢复方法

在LINUX下的Ext3/Ext4文件系统下,如果误删除了数据,数据恢复难度很大。如果说删除的文件数量不大(一般在几百个文件以内),还能够通过.journal日志文件对比残留的inode信息进行恢复,恢复出来的数据目录结构不一定能保留完整;如果删除文件数量很大,数据恢复几乎不能完整保留文件目录结构。这是Ext3/Ext4文件系统的通病,不给误删除留后路!在数据恢复业案例中,有不少例子是LINUX下误删除了ORACLE数据库文件,我今天来讲讲Linux下删除Oracle数据库的数据恢复技术方案。

数据丢失案例背景:

计算机维护工程师停掉oracle服务,打算把oracle做一个冷备份,把库文件备份到windows PC Server上,用CuteFTP客户端下载。在下载过程中,发现下载速度特别慢,想删除下载任务,结果误操作,把要下载的oracle实例文件夹整个都删除了, oracle库文件、控制文件、日志文件全部删除了。

LINUX下EXT3文件系统恢复技术介绍:

EXT3文件系统没有预留反删除的功能。

在EXT3文件系统中,每个文件都是通过Inode来描述其数据存放的具体位置,当删除文件以后,Inode的数据指针部分被清零,文件目录区没有太多变化。文件的读写都是通过Inode来实现,当Inode数据指针被清零以后,即便文件内容还在,我们也没有办法把文件内容组合出来。

EXT3文件系统是一种带日志功能的文件系统,Inode的变化会在日志文件.journal中有记录,.journal文件比较小,一般是32MB。当EXT3文件系统中的metadata数据发生变化时,相应的metadata在.journal文件会有一份COPY。比如一个文件被删除了,它的Inode信息会在.journal文件中先保存一份,然后把要删除文件inode相关信息清零。这个.journal文件是循环使用的,当操作过多时,删除的文件的inode日志记录会被新的数据替换,这就彻底丧失了根据inode找回数据的机会了。如果是大量文件的删除,这个.journal文件会被反复循环利用多次,只留给最后删除的那些文件的恢复机会。

数据恢复技术:

客户要恢复的是oracle数据库,oracle数据库文件被删除以后,只要是数据内容没有被覆盖,达思数据恢复技术可以把文件单独提取出来。

经过深入分析,在.journal文件没有找到删除过的oracle数据文件,原因是用户删除数据以后,系统还在开机运行,同时尝试启动过oracle实例,oracle产生一些日志文件,这些日志文件数量比较多,而要恢复的删除过的文件数量只有16个,在.journal文件中已经没有了删除文件的inode信息。

恢复的思路有两条:

第一种:根据oracle数据文件内部结构,对全盘进行搜索,符合oracle数据页面的数据都提取出来,然后按照oracle数据文件的ID号进行重新组合。

第二种:根据oracle数据文件分布规律,精确定位oracle文件的数据指针地址,包括一级间接地址、二级间接地址和三级间接地址,重新构造出该文件的inode信息,然后把数据读取出来。

通过这两种恢复出来的数据效果都很好,最后oracle能正常启动。工程师把数据全部备份出来,最后发现有两个表数据少了一些记录,经查明,原因就是删除文件以后,一些日志文件的写入该分区,破坏了oracle数据文件的一些数据页面,幸好这两张表数据对用户来说不是很重要。

数据安全提醒:

在LINUX/UINX下误删除了文件,当发现数据丢失以后,最好不要进行任何操作,马上关机,保留现场。如果条件不允许关机,就要想办法把数据丢失的文件系统经过DD镜像到另外的存储空间上作为最原始的备份。

如有还有疑问的事情请咨询:TEL:13400027332 QQ:1731278955 上海蓝梦数据恢复官网:http://www.disksos.org/返回搜狐,查看更多

责任编辑:

误删除oracle目录,LINUX下误删除Oracle数据库恢复方法相关推荐

  1. linux postgresql 创建数据库,Linux下创建Postgresql数据库的方法步骤

    Linux下创建Postgresql数据库的方法步骤 前言 PostgreSQL (也叫 Postgres)是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行. ...

  2. linux确定刻录机目录,Linux下使用刻录机的具体方法(1)

    Linux下使用刻录机的具体方法(1) 1.1 先决条件 a. Linux内核 >=V2.4.0-test8 b. cdrecord V1.10a4 (http://www.fokus.gmd. ...

  3. roseha 8.9 for linux oracle 11g,Linux下安装Oracle 11g详细过程

    8.14,点击Finish按钮,如下图所示: 点击OK按钮,有报错说/etc/oratab读取错误,报错如下图所示 所以去建立下这个目录 [root@powerlong4 rpms]# mkdir / ...

  4. linux下oracle升级,Linux下升级ORACLE 10

    环境:虚拟机 OS: linux 5 oracle 升级前版本: 10.2.0.0.1 先关闭数据库和监听 然后杀掉所有的oracle进程 ps -ef |grep oracle |grep -v g ...

  5. linux访问oracle配置,Linux下配置Oracle监听器

    1. 修改监听器配置文件 Linux下Oracle监听器配置文件在:$ ORACLE_HOME/network/admin/listerer.ora, 如: /bank/oracle/oracle10 ...

  6. suse linux 安装oracle,SUSE Linux下安装Oracle 11g服务器

    安装环境 Linux服务器:SUSE10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  7. linux机器启动pg数据库命令,Linux下创建Postgresql数据库的方法步骤

    前言 PostgreSQL (也叫 Postgres)是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行.因为之前用默认的配置创建pgsql数据库,导致root ...

  8. linux下重启数据库,Linux下重启mysql数据库的方法

    方法一: 命令: [root@localhost /]# /etc/init.d/mysql start|stop|restart|reload|force-reload [root@localhos ...

  9. 卸载linux下的mysql数据库实例_Linux下卸载MySQL数据库实例教程

    本文主要介绍了Linux下卸载MySQL数据库的方法,不知道Linux下卸载MySQL数据库的小伙伴们可以学习一下,本文具有一定的参考价值,希望能帮助到大家. 如何在Linux下卸载MySQL数据库呢 ...

最新文章

  1. SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制...
  2. Spring Http Invoker
  3. BOOST_PREDEF_TESTED_AT宏相关的测试程序
  4. C语言执行shellcode的五种方法
  5. 03-树1 树的同构 (25 分)
  6. 烂泥:通过vsphere给esxi添加本地硬盘
  7. java 发送邮件昵称_利用JavaMail发送QQ邮件
  8. 基于JAVA+Servlet+JSP+MYSQL的在线购物系统
  9. 【硬件解码系列】之DXVA2
  10. java输入年月判断当月天数_java输入月份,年份,显示对应月份的天数,
  11. 基于统计的压缩算法:游程编码
  12. matepad和鸿蒙,华为MatePadPro配置速看:搭载了鸿蒙系统的它真比iPadPro强?
  13. python实现携程网站爬取
  14. android 自定义textview圆形,Android 自定义TextView可以设置圆角和按下效果
  15. android前置摄像头预览,Android - 前置摄像头预览SurfaceView
  16. DPDK-l3fwd示例IPv6测试
  17. 计算机硬盘无法共享文件,求解磁盘为什么不能共享
  18. 刷题笔记 | 朋友圈、岛屿的最大面积、岛屿数量
  19. Spark中distinct、reduceByKey和groupByKey的区别与取舍
  20. IOS(iphone,ipad,itouch)开发 之 屏幕旋转

热门文章

  1. KUKA机器人信息编程—信息类型介绍
  2. 上海长途汽车站客运站点及时刻表
  3. java在FTP服务器创建文件夹,java在ftp服务器上创建文件夹
  4. 网络基础CCNP|OSPF(2)
  5. 青锋开源架构-springboot2.6.x+vue3-antdesign-vite之搭建IDEA+Maven+JDK+Mysql开发环境
  6. Oracle数据库-李兴华-专题视频课程
  7. 混凝土抗压弹性模量自动计算表_混凝土静力抗压弹性模量记录表自动计算
  8. 四季田间生活精品店•枣庄市中店盛大开业
  9. JDB附加调试线上JAVA程序
  10. composer安装phpqrcode