Linux使用rm删除了数据库文件如何恢复?


我们都知道Linux中的rm命令可用来删除文件,且删除的文件难以恢复,可是不小心删除了数据库文件,有没有办法恢复呢?别急,下面小编给大家介绍下Linux如何恢复rm删除的数据库文件,一起来了解下吧。

1.首先测试rm 误删除数据库文件

[oracle@primary dbwdn]$ ll

total 2153164

-rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control01.ctl

-rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control02.ctl

-rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control03.ctl

-rw-r----- 1 oracle dba 104865792 Nov 27 21:32 ggs01.dbf

-rw-r----- 1 oracle dba 525344768 Nov 27 21:32 perfstat.dbf

-rw-r----- 1 oracle dba 52429312 Nov 27 21:10 redo01.log

-rw-r----- 1 oracle dba 52429312 Nov 27 21:49 redo02.log

-rw-r----- 1 oracle dba 52429312 Nov 27 21:10 redo03.log

-rw-r----- 1 oracle dba 10493952 Nov 27 21:32 shkz_data_01.dbf

-rw-r----- 1 oracle dba 524296192 Nov 27 21:49 sysaux01.dbf

-rw-r----- 1 oracle dba 524296192 Nov 27 21:49 system01.dbf

-rw-r----- 1 oracle dba 209723392 Nov 18 10:54 temp01.dbf

-rw-r----- 1 oracle dba 52436992 Nov 27 21:32 test01.dbf

-rw-r----- 1 oracle dba 251666432 Nov 27 21:49 undotbs01.dbf

-rw-r----- 1 oracle dba 26222592 Nov 27 21:32 users01.dbf

[oracle@primary dbwdn]$ rm test01.dbf

2.找到数据库后台进程dbw0

oracle 3493 1 0 21:10 ? 00:00:00 ora_dbw0_dbwdn

进程号3493

3.找到被误删除的数据库文件

[oracle@primary dbwdn]$ ll /proc/3493/fd

total 0

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 0 -》 /dev/null

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 1 -》 /dev/null

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 10 -》 /dev/zero

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 11 -》 /dev/zero

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 12 -》 /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 13 -》 /u01/app/oracle/product/10.2.0/db_1/dbs/hc_dbwdn.dat

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 14 -》 /u01/app/oracle/product/10.2.0/db_1/dbs/lkDBWDN

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 15 -》 /u01/app/oracle/oradata/dbwdn/control01.ctl

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 16 -》 /u01/app/oracle/oradata/dbwdn/control02.ctl

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 17 -》 /u01/app/oracle/oradata/dbwdn/control03.ctl

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 18 -》 /u01/app/oracle/oradata/dbwdn/system01.dbf

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 19 -》 /u01/app/oracle/oradata/dbwdn/undotbs01.dbf

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 2 -》 /dev/null

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 20 -》 /u01/app/oracle/oradata/dbwdn/sysaux01.dbf

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 21 -》 /u01/app/oracle/oradata/dbwdn/users01.dbf

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 22 -》 /u01/app/oracle/oradata/dbwdn/test01.dbf (deleted)

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 23 -》 /u01/app/oracle/oradata/dbwdn/ggs01.dbf

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 24 -》 /u01/app/oracle/oradata/dbwdn/perfstat.dbf

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 25 -》 /u01/app/oracle/oradata/dbwdn/shkz_data_01.dbf

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 26 -》 /u01/app/oracle/oradata/dbwdn/temp01.dbf

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 27 -》 /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 3 -》 /dev/null

lr-x------ 1 oracle oinstall 64 Nov 27 21:52 4 -》 /dev/null

l-wx------ 1 oracle oinstall 64 Nov 27 21:52 5 -》 /u01/app/oracle/admin/dbwdn/udump/dbwdn_ora_3485.trc

l-wx------ 1 oracle oinstall 64 Nov 27 21:52 6 -》 /u01/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log

lrwx------ 1 oracle oinstall 64 Nov 27 21:52 7 -》 /u01/app/oracle/product/10.2.0/db_1/dbs/hc_dbwdn.dat

l-wx------ 1 oracle oinstall 64 Nov 27 21:52 8 -》 /u01/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log

误删除之后,数据库没有重启,系统也没用重启

4.拷贝数据库文件

[oracle@primary ~]$ cp /proc/3493/fd/22 /u01/app/oracle/oradata/dbwdn/test01.dbf

[oracle@primary ~]$ cd /u01/app/oracle/oradata/dbwdn

[oracle@primary dbwdn]$ ls

control01.ctl control03.ctl perfstat.dbf redo02.log shkz_data_01.dbf system01.dbf test01.dbf users01.dbf

control02.ctl ggs01.dbf redo01.log redo03.log sysaux01.dbf temp01.dbf undotbs01.dbf

数据库文件找回来了。

5.恢复数据库文件

[oracle@primary dbwdn]$ sqlplus /as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Nov 27 21:55:15 2012

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

Connected to:


上一篇:Ubuntu安装Xtreme的方法

下一篇:Linux如何安装使用pidstat命令


Linuxrm删除文件 Linuxrm删除 Linux数据库文件
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器