一、首先:问题的产生原因,出现这个错误是因为我将oracle/oradata/oradb下的一个文件误删除掉后出现的。

二、现象:SQL*Plus无法连接,显示以下错误: ORA-01033 : ORACLE initialization or shutdown in progress

三、分析:应该是Oracle在启动后,用户登录时是要将方案中原有配置信息装载进入,装载过程中遇到原有文件指定的位置上没有找到,所以就报出错误。

四、解决过程:

 

以DBA用户登录,具体命令是

 sqlplus /NOLOG

SQL>connect sys/123456  as sysdba

提示:已成功

SQL>shutdown normal

提示:数据库已经关闭已经卸载数据库 ORACLE 例程已经关闭

SQL>startup mount

提示:ORACLE例程已经启动

Total System Global Area 118255568 bytes Fixed Size

282576 bytes Variable Size 

82886080 bytes Database Buffers  

33554432 bytes Redo Buffers 

532480 bytes

数据库装载完毕

SQL>alter database open;

提示:第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 19 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 19: ''C:/oracle/oradata/oradb/FYGL.ORA' 这个提示文件部分根据每个人不同情况有点差别。

继续输入

SQL>alter database datafile 19 offline drop;

提示:数据库已更改。

循环使用最后两步,直到alter database open;后不再提示错误,出现“数据库已更改”。

到这里可能会出现另外一种情况:

ORA-01172:线程1的恢复停止在块118368(在文件2中)

ORA-01151:如果需要,请使用介质恢复以恢复块和还原备份

此时可以进行介质恢复:

SQL>recover datafile 2

完成介质恢复。

 

SQL>alter database open;

数据库已更改。

然后接着输入即可

SQL>shutdown normal

提示:数据库已经关闭已经卸载数据库 ORACLE 例程已经关闭

SQL>startup

提示:ORACLE例程已经启动

Total System Global Area 118255568 bytes Fixed Size                 

282576 bytes Variable Size            

82886080 bytes Database Buffers         

33554432 bytes Redo Buffers               

532480 bytes

数据库装载完毕

就可以解决了。

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐