ORA-01033: ORACLE initialization or shutdown in progress的两种解决方法

本文详细介绍了如何解决Oracle数据库在初始化或关闭时遇到ORA-01033错误的问题。通过一系列操作如SQLPLUS登录、关闭数据库、重新启动并恢复数据文件等步骤,成功解决了数据库问题。对于类似故障排查提供了一套实用的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ORA-01033: ORACLE initialization or shutdown in progress通常是由于ORACLE数据库文件损坏引起的,以下是出现的问题及解决方法:

现象一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星期一928 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<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>787988 bytes<br> Variable Size<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>145750508 bytes<br> Database Buffers<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>25165824 bytes<br> Redo Buffers<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>262144 bytes<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
数据库装载完毕。
SQL> alter database open;
alter database open
*
1行出现错误:
ORA-01589:
要打开数据库则必须使用RESETLOGSNORESETLOGS选项


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<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>787988 bytes<br> Variable Size<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>145750508 bytes<br> Database Buffers<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>25165824 bytes<br> Redo Buffers<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>262144 bytes<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
数据库装载完毕。

到此,问题解决了。

现象二、并没有删除某些文件,可能是非法关机或是断电造成的。造成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检查,没有再提示错误。


=======================================================

Oracle专家(500人):60618621

欢迎oracle爱好者加入!

=======================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值