ITPub博客

首页 > 数据库 > Oracle > 恢复oracle误删除的数据文件

恢复oracle误删除的数据文件

Oracle 作者:1006356403 时间:2017-05-09 12:04:44 0 删除 编辑

背景:恢复误删除的数据文件

恢复原理:
在 Linux 操作系统中,如果文件从操作系统级别被rm掉,之前打开该文件的进程仍然持有相应的文件句柄,所指向的文件仍然可以读写,并且该文件的文件描述符可以从 /proc 目录中获得。但是要注意的是,此时如果关闭数据库,则此句柄会消失,那么除了扫描磁盘进行文件恢复之外就没有其它方法了,因此在数据库出现问题的时候,如果不确认情况的复杂程度,千万不要随便关闭数据库。重启数据库往往是没有意义的,甚至是致命的。


[oracle@SHAPP7 trace]$ tail -f alert_orcl.log 
ORA-01110: data file 30: '/home/oracle/app/oracle/oradata/orcl/ats_data01.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_m000_17200.trc:


误删除了/ats_data01.dbf数据文件。
恢复过程:
一.找到误删除文件的文件句柄(fd代表句柄)


[oracle@SHAPP7 ~]$ ps -ef | grep dbw0
oracle 17893 17820 0 09:52 pts/5 00:00:00 grep dbw0
oracle 24097 1 0 Mar03 ? 00:06:27 ora_dbw0_orcl
[oracle@SHAPP7 ~]$ cd /proc/240
2401/ 24072/ 24079/ 24081/ 24083/ 24087/ 24089/ 24091/ 24093/ 24095/ 24097/ 24099/ 
[oracle@SHAPP7 ~]$ cd /proc/24097/fd


二:根据文件句柄恢复文件(截图)

已经删除的文件的文件句柄后会加deleted,将句柄文件拷贝到链接对应的文件位置

[oracle@SHAPP7 fd]$ cp 286 /home/oracle/app/oracle/oradata/orcl/ats_data01.dbf


三:表空间(数据文件recover)

SQL> alter database datafile 30 offline;
alter database datafile 30 offline
*
ERROR at line 1:
ORA-01145: offline immediate disallowed unless media recovery enabled 

SQL> 
SQL> 
SQL> 
SQL> 
SQL> alter tablespace ATS_DATA offline; 
Tablespace altered. 
SQL> alter database datafile 30 offline; 
Database altered. 
SQL> recover datafile 30 ;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required 

SQL> recover tablespace ATS_DATA;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required 

SQL> alter tablespace ATS_DATA online; 
Tablespace altered. 
SQL> alter database datafile 30 online; 
Database altered.


恢复完成
切记:如果误删了数据库任何文件,都不要关闭数据库,保留现场,才可以便于后续恢复。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30317998/viewspace-2138737/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
精通Oracle,mysql等常用数据库.精通Oracle主从架构,ogg同步复制,集群操作等.mysql主备复制,双活架构配置,数据库优化等

注册时间:2015-06-30

  • 博文量
    43
  • 访问量
    47613