日期:2014-05-16  浏览次数:20893 次

oracle数据库连不上,报错输入口令: ERROR: ORA-01033: ORACLE initialization or shutdown in prog
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>lsnrctl start

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 06-3月 -2012 16:5
9:13

Copyright (c) 1991, 2010, Oracle. All rights reserved.

TNS-01106: 使用名称LISTENER的监听程序已经启动

C:\Users\Administrator>set Oracle_SID=PMADB

C:\Users\Administrator>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 3月 6 17:00:01 2012

Copyright (c) 1982, 2010, Oracle. All rights reserved.

SQL> select * from role;
SP2-0640: 未连接
SQL> conn sys/sys as sysdba
已连接到空闲例程。
SQL> conn sys/sys as pmadb;
SP2-0306: 选项无效。
用法: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM}] [edition=value]]
其中 <logon> ::= <username>[/<password>][@<connect_identifier>]
  <proxy> ::= <proxyuser>[<username>][/<password>][@<connect_identifier>]
SQL> conn sys/sys as sysdba
已连接到空闲例程。
SQL> start up;
SP2-0310: 无法打开文件 "up.sql"
SQL>
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area 535662592 bytes
Fixed Size 1375792 bytes
Variable Size 289407440 bytes
Database Buffers 239075328 bytes
Redo Buffers 5804032 bytes
数据库装载完毕。
ORA-00600: 内部错误代码, 参数: [4193], [: 未


SQL> shutdown immediate
ORA-03113: 通信通道的文件结尾
SQL> recover database until change 511754;
ERROR:
ORA-03114: 未连接到 ORACLE

各位高手提点提点:下面该接着怎么做?

------解决方案--------------------
对数据库进行全库恢复先要进到mount模式下,首先修复数据库,然后再恢复到某个时间点,最后将数据库置于open状态。

rman>startup mount;
rman>restore database;
rman>recover database;
rman>alter database open;
------解决方案--------------------
从错误ORA-600 [4193]看,有可能是ROLLBACK SEGMENT出现损坏,或者是碰到Bug 8240762 Undo corruptions with ORA-600 [4193].
如果有备份,则做下数据库恢复。
另外试下设置参数_corrupted_rollback_segments启动数据库:
1. 在init.ora文件中加入
_corrupted_rollback_segments=(_SYSSMU1$) #_SYSSMU1$为损坏的回滚段
2.启动数据库
startup pfile='init.ora'

最佳选择是找ORACLE支持。