上下求索

Linux误删数据库dbf数据文件的应急方法

上一篇 / 下一篇  2011-10-27 16:46:51

数据库空间满了,查看了下数据库硬盘空间,发现几个似乎无关紧要的dbf数据文件,很潇洒的rm -rf删除,结果当然杯具了,多个数据库的数据丢失,怎么恢复呢?
直接上最后的处理方法:
1.先找出 db writer 进程,该进程肯定会写数据文件的。
ps -ef|grep ora_dbw
查到ora_dbw0_skytest的进程号是8176
 
 
可以看到几个闪烁图标的文件,并且有一个 (deleted) 标记符,将误删的文件复制到原数据库文件目录
cat 29 > /oracle/oracle/product/10.2.0/db_1/oradata/skytest/TBS_APPLIST22.dbf
cat 30 > /oracle/oracle/product/10.2.0/db_1/oradata/skytest/TBS_APPLIST23.dbf
然后重启数据库,启动时会有一个错误:
ORA-01113: file 11 needs media recovery
ORA-01110: data file 1: ‘/oracle/oracle/product/10.2.0/db_1/oradata/skytest/TBS_APPLIST22.dbf’
recover 一下就好
SQL> RECOVER DATAFILE  ‘/oracle/oracle/product/10.2.0/db_1/oradata/skytest/TBS_APPLIST22.dbf’
Media recovery complete.
SQL> recover tablespace system;
Media recovery complete.
SQL> RECOVER DATABASE;
Media recovery complete.
SQL> ALTER DATABASE OPEN;
Database altered.

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-09  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 126416
  • 日志数: 65
  • 建立时间: 2009-06-24
  • 更新时间: 2013-11-01

RSS订阅

Open Toolbar