Linux中如何恢复被误删的数据文件
2014-04-10 12:35
621 查看
Linux环境中文件被删除的恢复,通常有几种情况,如果数据库实例还未停止,那么恢复很easy,如果实例停掉,
那么可能需要借助相关的工具来进行恢复,这里我进行简单的描述。
1. 使用工具进行恢复(ext3grep或者extundelete,e2fsprogs等工具)
我这里使用ext3grep来进行删除文件的恢复,如下是一个例子。
1). 安装rpm包
rpm -ivh ext3grep-0.10.2-1.el4.rf.i386.rpm
2).模拟数据文件被删除的恢复
SQL> !rm -rf /home/ora10g/oradata/roger/roger01.dbf
SQL> shutdown abort;
ORACLE instance shut down.
SQL>
3) 扫描文件inode并restore
?
?
?
开始恢复被删掉的文件:
ext3grep /dev/sda3 –restore-file ora10g/oradata/roger/roger01.dbf
注意这里的格式,后面的路径不能加/home。跟前面的Inode 1783429 is directory “ora10g/oradata/roger”. 保持一致。
或者
ext3grep /dev/sda3 –restore-inode 1784045
或者恢复整个目录
ext3grep /home/store/file –restore-all
如下是我的操作过程:
?
恢复出来的文件,会存放在如下地方:
?
4). 恢复完成之后并move,将文件属主改掉,最后进行recover
?
?
?
?
或者使用lsof命令进行查看,然后进行copy:
?
直接copy 相关文件即可,该操作更为简单:
?
总的来说,对于文件从操作系统级别删掉的情况,如果inode在未被覆盖之前,都是可以恢复,一旦覆盖就难以恢复了,
所以我们建议,一旦有文件被删掉,那么建议将该文件系统umount掉,以免信息被覆盖。
那么可能需要借助相关的工具来进行恢复,这里我进行简单的描述。
1. 使用工具进行恢复(ext3grep或者extundelete,e2fsprogs等工具)
我这里使用ext3grep来进行删除文件的恢复,如下是一个例子。
1). 安装rpm包
rpm -ivh ext3grep-0.10.2-1.el4.rf.i386.rpm
2).模拟数据文件被删除的恢复
SQL> !rm -rf /home/ora10g/oradata/roger/roger01.dbf
SQL> shutdown abort;
ORACLE instance shut down.
SQL>
3) 扫描文件inode并restore
?
ext3grep /dev/sda3 –restore-file ora10g/oradata/roger/roger01.dbf
注意这里的格式,后面的路径不能加/home。跟前面的Inode 1783429 is directory “ora10g/oradata/roger”. 保持一致。
或者
ext3grep /dev/sda3 –restore-inode 1784045
或者恢复整个目录
ext3grep /home/store/file –restore-all
如下是我的操作过程:
?
?
?
?
?
所以我们建议,一旦有文件被删掉,那么建议将该文件系统umount掉,以免信息被覆盖。
相关文章推荐
- Innodb ibdata数据文件误删,如何恢复
- 如何恢复Linux中的误删文件
- Linux ext3/ext4误删文件,数据恢复方法
- 利用Linux的特性恢复误删的数据文件
- linux系统误删文件怎么办!使用extundelete恢复数据
- linux下误删数据文件恢复
- 误删文件后如何恢复数据
- Linux 平台下 误删 oracle 数据文件的恢复方法
- 利用Linux的特性恢复误删的数据文件
- 如何恢复 Linux 分区下误删的文件?
- 干货分享丨如何恢复Linux下误删etc目录数据
- 如何恢复Linux中的误删文件
- Oracle误删数据文件灾难恢复-Linux_ghan-ChinaUnix博客
- 如何恢复被误删的 log 文件
- Linux中模拟oracle数据文件的误删除与恢复
- 如何恢复Mac格式化后的数据文件
- 如何恢复 Linux 上删除的文件,第 1 部分
- 监控录像文件有覆盖了该如何恢复数据
- 如何自己恢复丢失的文件丨迅龙数据恢复丨
- linux--如何查看文件内容具体的某一行数据