Oracle 9i 数据库异常关闭后的启动

oracle 数据库启动

Oracle shutdown 的时候突然断电,导致使用 sql/plus 启动时无法连接到数据库,具体描述为 connection can not permitted, shut in progress.

到 dos 提示符 键入

c:> sqlplus /nolog

显示 sql/plus: Realease9.0.2……..all rights reserved

sql> connect /as sysdba

显示已连接至空闲例程

sql>startup 显示 shutdown in progress.

到 sqlplus 里面连接: sys/manager@orcl92 显示信息连接成功。

Sql : select * from tab;

显示 norows selected;

表明:没有启动数据库。

后来查阅相关资料:得出解决方法:

到 dos 提示符 键入

c:> sqlplus /nolog

显示 sql/plus: Realease9.0.2……..all rights reserved

sql> connect /as sysdba

显示已连接至空闲例程

sql> startup force

显示:已启动。数据库已正常启动。

也可以先将 windows services 中将 oraclehome92 service 停止,再启动 oracle enterprise manager console ,选择独立启动,选择数据库,点击 orcl( 全局数据库名 ) ,弹出对话框,输入用户名 system 密码 password ,连接身份: sysdba, 选择例程,配置,在一般信息标签下将例程状态先改为关闭,在打开。如果提示 oraclehome92 service 停止,则将这个服务启动起来,再启动数据库,也可解决问题。

附: startup force 强制启动一个没有关闭或没能正常启动的数据库;过程:先关闭实例,再启动。

Startup restrict 以限制模式启动数据库,从而限制访问数据库,只有具有 restricted session 权限的用户能与数据库连接

alter system [enable/disable] restricted session 在数据库打开后,该语句启动或关闭访问限制功能。如果相对主结构做更改或想得到导出一致性,应将数据库设置为限制模式。 只有具有 alter system 权限,才可以用 alter system [enable/disable] restricted session 命令改变数据库的可用性。

当一个实例以 nomount 状态启动时,只能访问 sga 读取数据的视图。关于 v$thread,v$controlftle 等信息从 sga 读取数据的词典视图。当数据库被装配时,关于 v$thread,v$controlftle 等信息从控制文件中被读出。

分析,当数据库异常关闭时, shutdown 在程序里没有退出,因此启动实例时检测到 shutdown ,则系统报错。因此需要先关闭数据库,再启动数据库

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus