crsctl staet has
startup 发现数据库实例启动不起来,emo,昨天关机坏块了吧,恢复一下就好
SQL> startup
ORACLE instance started.Total System Global Area 2455228416 bytes
Fixed Size 2255712 bytes
Variable Size 654312608 bytes
Database Buffers 1778384896 bytes
Redo Buffers 20275200 bytes
Database mounted.
ORA-01172: recovery of thread 1 stuck at block 400 of file 2
ORA-01151: use media recovery to recover block, restore backup if needed
这里显示database mounted ,说明参数文件和控制文件没有问题
SQL> startup
ORACLE instance started.
Total System Global Area 2455228416 bytes
Fixed Size 2255712 bytes
Variable Size 654312608 bytes
Database Buffers 1778384896 bytes
Redo Buffers 20275200 bytes
Database mounted.
--问题根源是ORA-01172和ORA-01151
ORA-01172: recovery of thread 1 stuck at block 400 of file 2
ORA-01151: use media recovery to recover block, restore backup if needed
--查看file 2到底是哪一个文件,此步骤非必需
SQL> select file#,name from v$datafile where file#=2;
FILE# NAME
2 +DGSYSTEM/oomcdb/datafile/sysaux.257.1147962557
--恢复file 2
SQL> recover datafile 2;
Media recovery complete.
SQL> alter database open;
alter database open
*
ERROR at line 1:
--发现还有一个file 7也是有问题的
ORA-01172: recovery of thread 1 stuck at block 89361 of file 7
ORA-01151: use media recovery to recover block, restore backup if needed
--恢复file 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
启动成功