ORA-01033: ORACLE initialization or shutdown in progress的两种解决方法
ORA-01033: ORACLE initialization or shutdown in progress的两种解决方法
现象一: sysdba可以登录,但是在使用中就出现“数据库未打开,仅允许在固定表/视图中查询”,而normal用户无法登录使用,出现ORA-01033: ORACLE initialization or shutdown in progress 的错误。
分析:这个错误的原因应该是Oracle在启动后,用户登录时是要将方案中原有配置信息装载进入,装载过程中配置中有文件未找到,所以就报出错误。
解决过程:
C:\Documents and Settings\zhuanyou8>sqlplus /nolog SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 9月 28 14:35:38 2009 Copyright (c) 1982, 2004, Oracle. All rights reserved. SQL> connect sys/zhuanyou8 as sysdba; 已连接。 SQL> shutdown normal ORA-01109: 数据库未打开 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 171966464 bytes Fixed Size 787988 bytes Variable Size 145750508 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes 数据库装载完毕。 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项 SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 2: 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORAL\FSCREDIT40' SQL> alter database datafile 2 offline drop; 数据库已更改。 SQL> alter database open resetlogs; 数据库已更改。 SQL> alter database datafile 2 offline drop; 数据库已更改。 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01531: 例程已打开数据库 SQL>shutdown normal 提示:数据库已经关闭 已经卸载数据库 ORACLE 例程已经关闭 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 171966464 bytes Fixed Size 787988 bytes Variable Size 145750508 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes
数据库装载完毕。
到此,问题解决了。
现象二、并没有删除某些文件,可能是非法关机或是断电造成的。造成sysdba可以登录,但是在使用中就出现“数据库未打开,仅允许在固定表/视图中查询”,而normal用户无法登录使用
解决过程:
1、进入CMD,执行set ORACLE_SID=www.zhuanyou8.com,确保连接到正确的SID;
2、运行sqlplus "/as sysdba"
SQL>shutdownimmediate 停止服务 SQL>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号 SQL>shutdownimmediate 再次停止服务 SQL>startupmount SQL>recover datafile 2 恢复出错的数据文件 SQL>shutdownimmediate 再次停止服务 SQL>startup 启动服务,此次正常
3、进入PL/SQL Developer检查,没有再提示错误。