⑴我们都知道Linux中的rm命令可用来删除文件,且删除的文件难以恢复,可是不小心删除了数据库文件,有没有办法恢复呢?别急,下面小编给大家介绍下Linux如何恢复rm删除的数据库文件,一起来了解下吧。
⑵.首先测试rm 误删除数据库文件
⑶[oracleprimary dbwdn]$ ll
⑷-rw-r----- oracle dba Nov : control.ctl
⑸-rw-r----- oracle dba Nov : control.ctl
⑹-rw-r----- oracle dba Nov : control.ctl
⑺-rw-r----- oracle dba Nov : ggs.dbf
⑻-rw-r----- oracle dba Nov : perfstat.dbf
⑼-rw-r----- oracle dba Nov : redo.log
⑽-rw-r----- oracle dba Nov : redo.log
⑾-rw-r----- oracle dba Nov : redo.log
⑿-rw-r----- oracle dba Nov : shkz_data_.dbf
⒀-rw-r----- oracle dba Nov : sysaux.dbf
⒁-rw-r----- oracle dba Nov : system.dbf
⒂-rw-r----- oracle dba Nov : temp.dbf
⒃-rw-r----- oracle dba Nov : test.dbf
⒄-rw-r----- oracle dba Nov : undotbs.dbf
⒅-rw-r----- oracle dba Nov : users.dbf
⒆[oracleprimary dbwdn]$ rm test.dbf
⒇.找到数据库后台进程dbw
⒈oracle : ? :: ora_dbw_dbwdn
⒉.找到被误删除的数据库文件
⒊[oracleprimary dbwdn]$ ll /proc//fd
⒋lr-x------ oracle oinstall Nov : -》 /dev/null
⒌lr-x------ oracle oinstall Nov : -》 /dev/null
⒍lr-x------ oracle oinstall Nov : -》 /dev/zero
⒎lr-x------ oracle oinstall Nov : -》 /dev/zero
⒏lr-x------ oracle oinstall Nov : -》 /u/app/oracle/product/../db_/rdbms/mesg/oraus.msb
⒐lrwx------ oracle oinstall Nov : -》 /u/app/oracle/product/../db_/dbs/hc_dbwdn.dat
⒑lrwx------ oracle oinstall Nov : -》 /u/app/oracle/product/../db_/dbs/lkDBWDN
⒒lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/control.ctl
⒓lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/control.ctl
⒔lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/control.ctl
⒕lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/system.dbf
⒖lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/undotbs.dbf
⒗lr-x------ oracle oinstall Nov : -》 /dev/null
⒘lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/sysaux.dbf
⒙lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/users.dbf
⒚lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/test.dbf (deleted
⒛lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/ggs.dbf
①lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/perfstat.dbf
②lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/shkz_data_.dbf
③lrwx------ oracle oinstall Nov : -》 /u/app/oracle/oradata/dbwdn/temp.dbf
④lr-x------ oracle oinstall Nov : -》 /u/app/oracle/product/../db_/rdbms/mesg/oraus.msb
⑤lr-x------ oracle oinstall Nov : -》 /dev/null
⑥lr-x------ oracle oinstall Nov : -》 /dev/null
⑦l-wx------ oracle oinstall Nov : -》 /u/app/oracle/admin/dbwdn/udump/dbwdn_ora_.trc
⑧l-wx------ oracle oinstall Nov : -》 /u/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log
⑨lrwx------ oracle oinstall Nov : -》 /u/app/oracle/product/../db_/dbs/hc_dbwdn.dat
⑩l-wx------ oracle oinstall Nov : -》 /u/app/oracle/admin/dbwdn/bdump/alert_dbwdn.log
Ⅰ误删除之后,数据库没有重启,系统也没用重启
Ⅱ.拷贝数据库文件
Ⅲ[oracleprimary ~]$ cp /proc//fd/ /u/app/oracle/oradata/dbwdn/test.dbf
Ⅳ[oracleprimary ~]$ cd /u/app/oracle/oradata/dbwdn
Ⅴ[oracleprimary dbwdn]$ ls
Ⅵcontrol.ctl control.ctl perfstat.dbf redo.log shkz_data_.dbf system.dbf test.dbf users.dbf
Ⅶcontrol.ctl ggs.dbf redo.log redo.log sysaux.dbf temp.dbf undotbs.dbf
Ⅷ数据库文件找回来了。
Ⅸ.恢复数据库文件
Ⅹ[oracleprimary dbwdn]$ sqlplus “/as sysdba”
㈠SQL*Plus: Release .... - Production on Tue Nov ::
㈡Copyright (c , , Oracle. All Rights Reserved.
㈢Connected to: