今天在清理测试环境目录的时候,不小心误删除了目录下的.dbf数据文件(不知道前任DBA怎么想的,跟备份文件放一个目录= =)
此时此刻,我们第一个想到的应该是先“物理恢复”恢复数据文件,而且一定要牢记一点:不能关库!不能关库!
如果关库,数据库会报错:
1、查看数据库现在的状态:
2、查看数据文件:
3、模拟删除 /data/ORACLE/test01.dbf 这个文件
rm -rf /data/ORACLE/test01.dbf
4、此时关闭数据库会报错(见上面)
5、开始物理恢复数据文件
这里查看dbw0这个进程对应的进程号,然后进入该进程号对应的fd中。
这里会发现已经误删除的文件在这里是一个软连接(261),此时执行如下命令将它物理恢复到相应的位置上。
[oracle@db01 fd]$ cp 261 /data/ORACLE/test01.dbf
执行完上述命令之后,发现该物理文件已经恢复到了/data/ORACLE/ 目录下面了。
然后进入数据库执行如下命令:
恢复完成!