在一台Windows2008ServerR2上安装了Oracle11g。一次断电重启后,客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连接Oracle服务。所有基于oracle的应用程序都无法连接到oracle。
1、进入CMD,执行set ORACLE_SID=orcl,确保连接到正确的SID;
C:\Users\Administrator>set oracle_sid=orcl
2、运行sqlplus "/as sysdba"
C:\Users\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 1月 9 12:30:23 2019
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>shutdown immediate 停止服务
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 5.4784E+10 bytes
Fixed Size 2188768 bytes
Variable Size 3.9997E+10 bytes
Database Buffers 1.4630E+10 bytes
Redo Buffers 154783744 bytes
数据库装载完毕。
ORA-01172: 线程 1 的恢复停止在块 16276 (在文件 3 中)
ORA-01151: 如果需要, 请使用介质恢复以恢复块和还原备份
SQL>shutdown immediate 再次停止服务
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭
SQL>startup mount
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 5.4784E+10 bytes
Fixed Size 2188768 bytes
Variable Size 3.9997E+10 bytes
Database Buffers 1.4630E+10 bytes
Redo Buffers 154783744 bytes
数据库装载完毕。
SQL> recover datafile 3 恢复出错的数据文件
SQL> recover datafile 3;
完成介质恢复。
如果找不到数据文件,则将数据文件D:\app\Administrator\oradata\orcl\CONTROL01.CTL复制一份,改成CONTROL03.CTL即可。 SQL>shutdown immediate 再次停止服务
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>startup 启动服务,此次正常。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 5.4784E+10 bytes
Fixed Size 2188768 bytes
Variable Size 3.9997E+10 bytes
Database Buffers 1.4630E+10 bytes
Redo Buffers 154783744 bytes
数据库装载完毕。
数据库已经打开。
3、进入PL/SQL Developer检查,没有再提示错误。