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

简介: ORA-01033:ORACLE initialization or shutdown in progress通常是由于ORACLE数据库文件损坏引起的,以下是出现的问题及解决方法:现象一: sysdba可以登录,但是在使用中就出现“数据库未打开,仅允许在固定表/视图中查询”,而normal用户无法登录使用,出现ORA-01033: ORACLE initialization or shutdown in progress 的错误。

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 星期一 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检查,没有再提示错误。


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

Oracle专家QQ群(500人):60618621

欢迎oracle爱好者加入!

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

相关文章
|
存储 Oracle 关系型数据库
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
755 0
|
4月前
|
Oracle 关系型数据库 数据库
Oracle数据库协议适配器错误解决方法
Oracle数据库协议适配器错误解决方法
447 2
|
4月前
|
SQL Oracle 关系型数据库
ORACLE错误码及解决方法
ORACLE错误码及解决方法
144 0
|
网络协议 Oracle 关系型数据库
winserver2019下安装oracle 安装出现INS-30131报错的解决方法
winserver2019下安装oracle 安装出现INS-30131报错的解决方法
|
Oracle 关系型数据库 Windows
排错-windows平台下访问oracle em出现空白的解决方法
排错-windows平台下访问oracle em出现空白的解决方法
119 0
|
SQL Oracle 网络协议
SQL Developer 连接 oracle数据库 报错 Io 异常 The Network Adapter could not establish the connection的三种解决方法
SQL Developer 连接 oracle数据库 报错 Io 异常 The Network Adapter could not establish the connection的三种解决方法
1299 0
SQL Developer 连接 oracle数据库 报错 Io 异常 The Network Adapter could not establish the connection的三种解决方法
|
SQL Oracle 关系型数据库
oracle学习39-oracle11g密码过期后的解决方法
oracle学习39-oracle11g密码过期后的解决方法
93 0
|
Oracle 关系型数据库 数据库
ORA-01033:ORACLE initialization or shutdown in progress解决方法
ORA-01033:ORACLE initialization or shutdown in progress解决方法
|
1月前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。