客户意外rm掉了数据文件,导致数据库无法打开,由于没有完整的备份和归档,需要使用别的方法,而客户又关闭了数据库,导致无法使用文件描述符恢复,就要使用linux上别的方法了,现记录使用extundelete来恢复丢失的文件

[root@server119 ~]# cd
/db

[root@server119 db]# ll

总计 32

drwxrwxr-x 2 oracle
oinstall 16384 2011-05-06 lost+found

-rwxr-xr-x 3 oracle
oinstall  21096 08-02 18:05 odu

drwxrwxr-x 7 oracle
oinstall  4096 2011-05-06 oracle10g

[root@server119 db]# rm
-rf odu

[root@server119 db]# df
-h

文件系统             
容量  已用 可用 已用% 挂载点

/dev/sda3             
39G   26G   12G  70% /

/dev/sda10           
331G  312G  2.3G 100% /opt

/dev/sda9             
20G  175M   19G   1% /tmp

/dev/sda8             
20G  439M   18G   3% /var

/dev/sda7             
20G   11G  8.3G  56% /home

/dev/sda6             
20G  1.7G   17G   9% /vol

/dev/sda2            
331G  310G  4.1G  99% /db

/dev/sda1            
2.0G   42M  1.8G   3% /boot

tmpfs                 
16G     0   16G   0% /dev/shm

/dev/sdb1            
929G  709G  173G  81% /db2

/dev/sdb2            
905G  622G  238G  73% /opt2

192.168.0.121:/nfs7  
1.1T  621G  391G  62% /dbbak2

[root@server119
extundelete-0.2.0]# mount -n -r -o remount /db

最好尽快将所在分区修改为只读方式,防止数据被覆盖使用。

[root@server119 /]# cd
root

[root@server119 ~]# ll

-rw-r–r– 1
root   root   97851 08-31 12:10 extundelete-0.2.0.tar.bz2

这里上传一个工具主要用于ext3文件系统,ext4没有测试过。

[root@server119 ~]# tar
xjvf extundelete-0.2.0.tar.bz2

extundelete-0.2.0/

extundelete-0.2.0/README

extundelete-0.2.0/acinclude.m4

extundelete-0.2.0/configure.ac

extundelete-0.2.0/aclocal.m4

……

安装extundelete工具

root@server119 ~]# cd
extundelete-0.2.0

[root@server119
extundelete-0.2.0]# ls

acinclude.m4 
autogen.sh  config.h.in  configure.ac  install-sh 
Makefile.am  missing  src

aclocal.m4   
compile     configure   
depcomp       LICENSE    
Makefile.in  README

[root@server119
extundelete-0.2.0]# ./configure

Configuring extundelete
0.2.0

Writing generated files
to disk

[root@server119
extundelete-0.2.0]# make

make -s all-recursive

Making all in src

[root@server119
extundelete-0.2.0]# make install

Making install in src

/usr/bin/install
-c ‘extundelete’ ‘/usr/local/bin/extundelete’

使用extundelete进行rm文件或者文件夹的恢复

[root@server119
extundelete-0.2.0]# extundelete /dev/sda2 –restore-all

Loading filesystem
metadata … 2236 groups loaded.

Loading journal
descriptors … 30441 descriptors loaded.

Writing output to
directory RECOVERED_FILES/

此时可以将、dev/sda2分区的被删除但是还没有被重用的block恢复,而如果block已经被重用了,此种方法不行了,而后会在当前目录下创建一个RECOVERD_FILES的目录,目录下就是extundelete恢复的文件或者文件夹(个人尝试恢复文件夹,发现恢复的文件夹存在部分文件丢失,无法恢复,可能是block被重用导致)。

[root@server119
extundelete-0.2.0]# ll RECOVERED_FILES/

总计 16

-rwxr-xr-x 2 root root
21096 08-31 14:53 odu

已经成功恢复

来自 <http://blog.163.com/scott_guo/blog/static/1810260832012913113728302/>

以上方式,仅适用于超级快没有损坏的情况,在suer-block损坏后,用fsck修复会擦掉记录的信息,这会导致extundelete无法扫出任何可恢复的文件,也就是说,如果你恢复时报super-block的错误的话,基本上是找不回来了

有关extdelete恢复测试的更多相关文章

  1. 使用zfs进行pg的pitr恢复测试

    前段时间做了一下zfs做pg的增量恢复测试,mark一下. 服务器信息: 主机:192.168.173.43 备机:192.168.173.41 主备使用流复制搭建,在备机上面进行了zfs快照备份. ...

  2. RMAN备份介质的移动与再恢复测试 [ catalog start with ‘dir’ ]

    --RMAN备份介质的移动与再恢复测试 ---------------------------------------------------------2013/09/21   由于目前生产环境中没 ...

  3. RMAN基础恢复测试

    --RMAN恢复测试实战   RMAN> list backup;   using target database control file instead of recovery catalo ...

  4. 一个简单的binlog恢复测试

    日常的数据备份及恢复测试,是DBA工作重中之重的事情,所以要做好备份及测试,日常的备份常见有mysqldump+binlog备份.xtrabackup+binlog备份,无论那一种,几乎都少不了对bi ...

  5. Mongodb 5节点异地两中心故障转移恢复测试案例

    Mongodb5节点异地两中心故障转移恢复测试案例 架构方式:5节点,主中心(2数据1仲裁),备中心(1数据1仲裁) 1基本情况 操作系统:Red Hat Enterprise Linux Serve ...

  6. Oracle之使用rman进行异机恢复测试记录

    本次测试目的是从生产数据库导出rman备份然后在测试数据库恢复 1,拷贝备份至相应目录 2,进入rman rman target \ 3,关闭数据库 shutdown 4,以nomount模式启动数据 ...

  7. 存在单点故障的namenode宕机恢复测试

    前提:如果namenode没有做HA,那么至少应该启用secondarynamenode,以便namenode宕机之后手动恢复数据 实验环境:3个节点(cenos 6.10) 测试前数据: 1.为了确 ...

  8. oracle异机恢复测试

    (一)问题背景 最近在生产环境中,开发人员误操作,使用truncate将oracle数据库某个表的数据全部删除了,在删除之后,开发人员发现自己闯祸了,于是联系值班的DBA进行紧急数据恢复. 经过分析, ...

  9. RMAN数据库恢复测试

    RMAN恢复实践   RMAN> list backup; using target database control file instead of recovery catalog List ...

随机推荐

  1. Hadoop webHDFS设置和使用说明

    1.配置 namenode的hdfs-site.xml是必须将dfs.webhdfs.enabled属性设置为true,否则就不能使用webhdfs的LISTSTATUS.LISTFILESTATUS ...

  2. Eclipse和PyDev搭建完美Python开发环境 Windows篇

    1,安装Python Python是一个跨平台语言,Python从3.0的版本的语法很多不兼容2版本,官网找到最新的版本并下载:http://www.python.org, 因为之前的一个项目是2版本 ...

  3. 【python】一个备份把文件备份到邮箱的python实现

    公司服务器弄了跳板机,从服务器上拉文件变得好麻烦,弄了个脚本从服务器上向邮箱发送文件,还蛮方便哈- #!/usr/bin/env python2.7 #! coding:UTF-8 import sm ...

  4. (简单) CF 44D Hyperdrive,数学。

    In a far away galaxy there are n inhabited planets, numbered with numbers from 1 to n. They are loca ...

  5. mahout第一篇-----Mahout学习路线图

    Mahout学习路线图 前言 Mahout是Hadoop家族中与众不同的一个成员,是基于一个Hadoop的机器学习和数据挖掘的分布式计算框架.Mahout是一个跨学科产品,同时也是我认为Hadoop家 ...

  6. SQL SERVER 2008 Hierarchyid数据类型

    以往我们在关系数据库中建立树状结构的时候,通常使用ID+ParentID来实现两条纪录间的父子关系.但这种方式只能标示其相对位置.解决这类问题在SqlServer2005出现之前通常是采用游标来操作, ...

  7. ASer Python学习笔记

    最近又开始学习python了,希望自己能坚持下去. 我看的书是thinkingpython,是在豆瓣的python学习组看到的. 连续看了3,4天左右,然后尝试着写了个小程序,复制文件的,代码如下: ...

  8. 170113、CentOs6.4中安装和配置vsftp简明教程

    一.vsftp安装篇 代码如下: # 安装vsftpdyum -y install vsftpd# 启动service vsftpd start# 开启启动chkconfig vsftpd on 二. ...

  9. jascript基础教程学习总结(2)

    摘自:javascript基础教程 用链接对用户进行重定向: js001.html 这个HTML页面基于链接对用户进行重定向 <!DOCTYPE html PUBLIC "-//W3C ...

  10. 【转】Linux Shell脚本面试25问

    Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件( ...