如果EXT4文件系统上的ORACLE数据文件被误删除了,那么一般可以考虑下面2种恢复方式:
使用testdisk工具从文件系统角度恢复数据文件
使用prmscan工具从oracle 数据块角度恢复数据文件
这里我们介绍使用testdisk的恢复ext4上数据文件的步骤:
删除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创建日志
摩托车销售模拟器内置菜单中文版
摩托车出售模拟器,又名摩托车销售模拟器,这是一个以摩托车销售
船舶模拟2020最新版
船舶模拟2020是玩法非常有意思的模拟驾驶游戏,高清3d画质
油管主播的生活2内置菜单版
油管主播的生活2内置菜单版是一款模拟养成类游戏,在这里你将体
网吧老板模拟器2手机版
网吧老板模拟器2是非常受欢迎的模拟经营题材手游,在原本的基础
美国警察模拟器巡警2024最新版
美国警察模拟器是一款好玩的模拟手游,游戏中你将扮演一位警察,