出现问题-- oracle 11.2.0.1.0 ,无备份,SUSE Linux Enterprise Server 11 (x86_64) SP2
ORA-01114: IO error writing block to file 7 (block # 1)
ORA-01110: data file 7: '/u01/app/oracle/oradata/prod1/disk3/womodel03.dbf'Linux-x86_64 Error: 30: Read-only file system
1.查看文件的权限
ls -lrth /u01/app/oracle/oradata/prod1/disk3/womodel03.dbf'
-rw-r----- 1 oracle oinstall 32G Aug 3 23:18 /u01/app/oracle/oradata/prod1/disk3/woreport03.dbf
2.首先在文件层面检查文件是否坏块
dbv file=/u01/app/oracle/oradata/prod1/disk3/womodel03.dbf' blocksize=8192--现在无记录了,但是得到的结果是没有坏块
3.因为紧急,所以想通过offline datafile 7后启动数据库,但是接下来竟然对datafile 11报同样的错误
alter database datafile 7 offline;
alter database open;
ORA-01114: IO error writing block to file 11(block # 1)
ORA-01110: data file 11: '/u01/app/oracle/oradata/prod1/disk3/womodel11.dbf'Linux-x86_64 Error: 30: Read-only file system
此时我肯定的由Linux-x86_64 Error: 30: Read-only file system推断,磁盘阵列挂载出了问题
5.重新挂载磁盘
1)查看fstab
vi /etc/fstab --后得知有此磁盘的配置,那么只需要做如下操作即可
umount /u01/app/oracle/oradata/prod1/disk3
mount -a
6.重启数据库
SQL> startup
ORACLE instance started.
Total System Global Area 5.0508E+10 bytes
Fixed Size 2217504 bytes
Variable Size 2.5770E+10 bytes
Database Buffers 2.4696E+10 bytes
Redo Buffers 39710720 bytes
Database mounted.
ORA-01113: file 7 needs media recovery
ORA-01110: data file 7: '/u01/app/oracle/oradata/prod1/disk3/woreport03.dbf'
7.由上面可知道现在报错变了,可以读写了,就只需要恢复即可。
SQL> recover datafile 7;
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
到此问题解决,希望大家遇到问题多多交流。谢谢!