EXT4文件系统上ORACLE数据文件误删除的对应恢复方法

如果EXT4文件系统上的ORACLE数据文件被误删除了,那么一般可以考虑下面2种恢复方式:

  1. 使用testdisk工具从文件系统角度恢复数据文件
  2. 使用prmscan工具从oracle 数据块角度恢复数据文件

关于prmscan 可以参考文档:http://www.askmaclean.com/archives/prmscan-oracle%E7%A2%8E%E7%89%87%E6%89%AB%E6%8F%8F%E5%90%88%E5%B9%B6%E5%B7%A5%E5%85%B7.html

这里我们介绍使用testdisk的恢复ext4上数据文件的步骤:

  1. 删除users数据文件

 

[oracle@dbdao01 ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      990G   14G  925G   2% /
/dev/sda1              99M   23M   71M  25% /boot
tmpfs                 2.0G  976M  1.1G  49% /dev/shm
/dev/sdb1              20G  3.2G   16G  17% /home/oracle/oradata

[root@dbdao01 ~]# rm -rf /home/oracle/oradata/auchan/users01.dbf

SQL> select object_name,object_id,data_object_id from dba_objects where object_name='TORDER';

OBJECT_NAME	 OBJECT_ID DATA_OBJECT_ID
--------------- ---------- --------------
TORDER   14162	14162

SQL> select count(*) from auchan.torder;

  COUNT(*)
----------
     91982

 SQL> select object_name,object_id,data_object_id from dba_objects where object_name='TT';

OBJECT_NAME	 OBJECT_ID DATA_OBJECT_ID
--------------- ---------- --------------
TT	      14205	 14205

SQL> select count(*) from auchan.tt;

  COUNT(*)
----------
     16383



TESTDISK测试

 

上传TESTDISK软件并解压安装

[root@dbdao01 ~]# mkdir -p testdisk
[root@dbdao01 testdisk]# ls -l
total 2740
-rw-r--r-- 1 root root 2801512 Apr  4 19:44 testdisk-6.14.linux26.tar.bz2
[root@dbdao01 testdisk]# tar -xf testdisk-6.14.linux26.tar.bz2


 

卸载掉数据被删的磁盘,防止被覆盖

 

[root@dbdao01 ~]# umount -l /home/oracle/oradata
[root@dbdao01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      990G   13G  927G   2% /
/dev/sda1              99M   23M   71M  25% /boot
tmpfs                 2.0G  492M  1.5G  25% /dev/shm


使用testdisk进行恢复

 

[root@dbdao01 testdisk-6.14]# ./testdisk_static

点击CREATE创建日志

 

 

选择要恢复的文件所在的磁盘

 

这里选择默认

 

 

选择Advanced

 

 

选择List

 

 

找到要恢复的文件,按C复制

 

 

将文件粘贴到其他磁盘上

 

[root@dbdao01 auchan]# ls -ll

total 1360700

-rw-r—– 1 root root 1391992832 Apr  6  2015 users01.dbf

 

 

  1. 使用PRM扫描恢复出来的数据文件

 

非字典模式

 

 

关注dbDao.com的新浪微博

扫码关注dbDao.com 微信公众号:

Speak Your Mind

沪公网安备 31010802001379号

TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569