只所以不专业,是因为存储原因导致数据文件被破坏,不像网上其他人遇到的情况,数据文件是好的

由于服务器接的存储发生问题,部分文件无法访问导致Oracle无法启动

报错:



RA-01157: 无法标识/锁定数据文件 10 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件


这里报错的文件很多个,因为文件已经损坏了,所以无法从根本上修复,只有移除这些错误才能保障oracle


启动起来,然后其他表空间才能访问


参考文件:

http://blog.51cto.com/3891779/1229428



1. startup mount
2. alter database open
ORA-01157: cannot identify/lock data file 10 - see DBWR trace file
  ORA-01110: data file 12: '/oradata/orcldata/sacproduce02.dbf'
3. cd /oradata
4. cd orcldata
   报错信息为不能进行读写操作,哈哈。找到原因了,挂载的硬盘不能进行读写操作了。要打开数据库,只能将该文件进行离线操作了。    
5. archive log list
归档模式下
   alter database datafile '/oradata/orcldata/sacproduce02.dbf' offline 
 非归档模式下
   alter database datafile '/oradata/orcldata/sacproduce02.dbf'offline drop
6. 到此,数据库就可以open了。但是文件中还有需要的数据,接下来就是挂载硬盘,online数据文件,open数据库。
   alter database datafile '/oradata/orcldata/sacproduce02.dbf' online;
   ORA-01113: file 12 needs media recovery
   ORA-01110: data file 12: '/oradata/orcldata/sacproduce02.dbf'
   recover datafile '/oradata/orcldata/sacproduce02.dbf'
   alter database datafile '/oradata/orcldata/sacproduce02.dbf' online;
   alter database open;


在这里,我是把所有报错的db文件offline以后,就直接open的数据库。