Oracle异常关闭导致的故障及解决办法
Oracle shutdown的时候突然断电,导致使用sql/plus启动时无法连接到数据库,具体描述为: y0Uk* I 5T+M*N3N@" connection can not permitted, shut in progress. ol=>;g\}# W7kLC| Fp 到dos 提示符 键入: M/X=]$ vTvX3]- c:\> sqlplus /nolog |AZ9Mcv]A j5db#D0n c"io(* N= 显示: G
N<|YAy A E<c @y*D2{V sql/plus: Realease9.0.2……..all rights reserved 3VmK6oW( sql> connect /as sysdba e; }Q CE5^j 5wA 4uyBRTs9 显示已连接至空闲例程 Rc>kxz(+ 0;k
ldrz RCeG},L sql>startup uE
ueHgS RW=), 1;'RM
fu* 显示 1EVxO&'M` r?jZgx @<Q nS, shutdown in progress. /=I:P 6[85z!tYk[ kq:HX 到sqlplus 里面连接: ``pgm|W_ N0P:<3 sys/manager@orcl92 显示信息连接成功。 /7Ub$6vV`
D'lb~0T RsZ#uhV@6% Sql: select * from tab; MUwF.!nM:R U3txj5) c.
NR c 显示 O3DkNe+ (Mq&*I$ "cYnZ>J norows selected; +EWGVU]V ien_=NEXV ep7)CyI,|Q 表明:没有启动数据库。 f
RYx<|_9U hKa-`z 查阅资料后得出的解决办法: +/@%L.g _ /\*$# 到dos 提示符 键入:
YPTtd5R
\ cG|*50k$9 YJ.`c8T< c:\> sqlplus /nolog k&"\1cM YD> @>* B
@&4 显示 5|s!xJu
KLa,eq7 F?koME;!@* sql/plus: Realease9.0.2……..all rights reserved :\4
t' sql> connect /as sysdba LVcG?*
zY g2OwG 2|
!X+CJ 显示已连接至空闲例程 ! _$QO; Nmc6&- Pjd1^"v| sql> startup force 6+>=V7fz FrHW"nqQs( wFu;Fx"b 显示:已启动。数据库已正常启动。 we!]
UOs
pQ. 也可以先将 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 命令改变数据库的可用性。 <Ny3DOX} ~]g"hPl!@ 当一个实例以nomount状态启动时,只能访问sga读取数据的视图。关于v$thread,v$controlftle等信息从sga 读取数据的词典视图。当数据库被装配时,关于 v$thread,v$controlftle等信息从控制文件中被读出。分析,当数据库异常关闭时,shutdown在程序里没有退出,因此启动实例时检测到shutdown,则系统报错。因此需要先关闭数据库,再启动数据库。
|