赛迪网技术社区 » Oracle » Oracle异常关闭导致的故障及解决办法 转到动态网页
--> 本页主题: Oracle异常关闭导致的故障及解决办法 返回 | 悬赏 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
同来的陌生人


用户名: bitao1986
级别: 助理工程师
精华: 120
发帖: 0
经验值: 0 点
积分: 0 分
贡献值: 0
注册时间:2006-09-18


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,则系统报错。因此需要先关闭数据库,再启动数据库。

本贴标签:
顶端 Posted:2007-03-15 13:53 | [楼 主]
zxyouyou




用户名: zxyouyou
级别: 技术员
精华: 0
发帖: 19
经验值: 21 点
积分: 10 分
贡献值: 0
注册时间:2007-04-02



先支持下 再说了,感谢楼主了!!!!!!!!!!!

顶端 Posted:2007-04-02 09:35 | 1 楼
ptgs




用户名: ptgs
级别: 高级工程师
精华: 0
发帖: 266
经验值: 267 点
积分: 7 分
贡献值: 0
注册时间:2007-03-25



顶 顶 谢谢奉献

顶端 Posted:2007-04-15 20:44 | 2 楼

 赛迪网技术社区 -> Oracle
快速发帖 顶端
内容
HTML 代码不可用

使用签名
Wind Code自动转换

字数检查 恢复数据
按 Ctrl+Enter 直接提交
表情 [更多]