服务器突然断电造成oracle实例不能正常启动报ora-01172 ora-01151的解决办法
昨天的突然停电造成公司3号服务器上的kyy实例无法启动,而xty实例可正常启动。
kyy实例在启动过程中停留在数据库已装载的状态,却不能打开。用sys用户可以登录到oracle EMC中。但只能看EMC中的配置,方案、存储、安全都不能查看。其它用户不能登录数据库(报数据库正在初始化或shutdown中)。
查看D:\oracle\ora92\database\OraDim.Log文件,可看到如下错误:
Tue Jan 22 11:35:32 2008
ORA-01172: ??1???????1452614????9??
ORA-01151: ?????????????????????
大意是数据文件被损坏了,需要恢复
----------------------------
我的解决办法:
在数据库服务器上,用以下过程恢复数据文件
c:>sqlplus /nolog
SQL> connect sys/sys@kyy as SYSDBA
已连接
SQL> startup mount
ORA-01081: 无法启动已在运行的 ORACLE --- 请首先关闭
SQL> alter database open read only;
alter database open read only
*
ERROR 位于第 1 行:
ORA-16005: 数据库需要恢复
SQL> recover database
完成介质恢复。
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 730931140 bytes
Fixed Size 454596 bytes
Variable Size 411041792 bytes
Database Buffers 318767104 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>
----------------------------------------------
之后,kyy实例终于可以正常启动了。