当前位置: 代码迷 >> Oracle技术 >> ORA-00603/ORA-00600有关问题
  详细解决方案

ORA-00603/ORA-00600有关问题

热度:423   发布时间:2016-04-24 08:06:49.0
ORA-00603/ORA-00600问题
今天断电,oracle启动不了。
初步断定是undo表空间坏掉,不知道怎么处理。


脚本:
SQL> create pfile='/home/oracle/bi.ora' from spfile;

File created.

SQL> shutdown immediate 
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount pfile='/home/oracle/bi.ora'
ORACLE instance started.

Total System Global Area 2.0110E+10 bytes
Fixed Size                  2237008 bytes
Variable Size            2483031472 bytes
Database Buffers         1.7583E+10 bytes
Redo Buffers               41787392 bytes
Database mounted.
SQL> show parameter undo

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      MANUAL
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1


SQL> shutdown immediate 
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount pfile='/home/oracle/bi.ora'
ORACLE instance started.

Total System Global Area 2.0110E+10 bytes
Fixed Size                  2237008 bytes
Variable Size            2483031472 bytes
Database Buffers         1.7583E+10 bytes
Redo Buffers               41787392 bytes
Database mounted.
SQL>  show parameter undo

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      MANUAL
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [8], [2975514792], [8],
[2975692561], [12587504], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [8], [2975514791], [8],
[2975692561], [12587504], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [8], [2975514789], [8],
[2975692561], [12587504], [], [], [], [], [], []
Process ID: 6438
Session ID: 853 Serial number: 5



日志:
Dump file /opt/oracle/diag/rdbms/bi/bi/incident/incdir_468251/bi_ora_19731_i468251.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /opt/oracle/product/OraHome
System name: Linux
Node name: server-dev
Release: 2.6.32-220.el6.x86_64
Version: #1 SMP Wed Nov 9 08:03:13 EST 2011
Machine: x86_64
Instance name: bi
Redo thread mounted by this instance: 1
Oracle process number: 19
Unix process pid: 19731, image: oracle@server-dev (TNS V1-V3)


*** 2014-11-18 13:40:36.066
*** SESSION ID:(853.5) 2014-11-18 13:40:36.066
*** CLIENT ID:() 2014-11-18 13:40:36.066
*** SERVICE NAME:(SYS$USERS) 2014-11-18 13:40:36.066
*** MODULE NAME:(sqlplus@server-dev (TNS V1-V3)) 2014-11-18 13:40:36.066
*** ACTION NAME:() 2014-11-18 13:40:36.066
 
Dump continued from file: /opt/oracle/diag/rdbms/bi/bi/trace/bi_ora_19731.trc
ORA-00600: internal error code, arguments: [2662], [8], [2975074220], [8], [2975692561], [12587504], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [8], [2975074219], [8], [2975692561], [12587504], [], [], [], [], [], []
ORA-0109
========= Dump for incident 468251 (ORA 600 [2662]) ========

*** 2014-11-18 13:40:36.066
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=1h50ks4ncswfn) -----
ALTER DATABASE OPEN

----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
skdstdst()+36        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FFF2B828508 ? 000000001 ?
                                                   000000001 ? 000000002 ?
ksedst1()+98         call     skdstdst()           000000000 ? 000000000 ?
                                                   7FFF2B828508 ? 000000001 ?
                                                   000000000 ? 000000002 ?
ksedst()+34          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FFF2B828508 ? 000000001 ?
                                                   000000000 ? 000000002 ?
dbkedDefDump()+2741  call     ksedst()             000000000 ? 000000001 ?
                                                   7FFF2B828508 ? 000000001 ?
                                                   000000000 ? 000000002 ?
ksedmp()+36          call     dbkedDefDump()       000000003 ? 000000002 ?
                                                   7FFF2B828508 ? 000000001 ?
                                                   000000000 ? 000000002 ?
ksfdmp()+64          call     ksedmp()             000000003 ? 000000002 ?
                                                   7FFF2B828508 ? 000000001 ?
                                                   000000000 ? 000000002 ?
dbgexPhaseII()+1764  call     ksfdmp()             000000003 ? 000000002 ?
                                                   7FFF2B828508 ? 000000001 ?
                                                   000000000 ? 000000002 ?
dbgexProcessError()  call     dbgexPhaseII()       7F4FE9B6B710 ? 7F4FE9B6E500 ?
+2675                                              7FFF2B834880 ? 000000001 ?
                                                   000000000 ? 000000002 ?
dbgeExecuteForError  call     dbgexProcessError()  7F4FE9B6B710 ? 7F4FE9B6E500 ?
()+83                                              000000001 ? 000000000 ?
                                                   100000000 ? 000000002 ?
dbgePostErrorKGE()+  call     dbgeExecuteForError  7F4FE9B6B710 ? 7F4FE9B6E500 ?
2138                          ()                   000000001 ? 000000001 ?
                                                   000000000 ? 000000002 ?
dbkePostKGE_kgsf()+  call     dbgePostErrorKGE()   00BAF3FA0 ? 7F4FE98F5B98 ?
66                                                 000000258 ? 7F4FE9B6E500 ?
                                                   100000000 ? 000000002 ?




SQL> shutdown immediate 
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount pfile='/home/oracle/bi.ora'
ORACLE instance started.

Total System Global Area 2.0110E+10 bytes
Fixed Size                  2237008 bytes
Variable Size            2483031472 bytes
Database Buffers         1.7583E+10 bytes
Redo Buffers               41787392 bytes
Database mounted.
SQL> show parameter undo

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      MANUAL
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1


SQL> shutdown immediate 
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount pfile='/home/oracle/bi.ora'
ORACLE instance started.

Total System Global Area 2.0110E+10 bytes
Fixed Size                  2237008 bytes
Variable Size            2483031472 bytes
Database Buffers         1.7583E+10 bytes
Redo Buffers               41787392 bytes
Database mounted.
SQL>  show parameter undo

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      MANUAL
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [8], [2975514792], [8],
[2975692561], [12587504], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [8], [2975514791], [8],
[2975692561], [12587504], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [8], [2975514789], [8],
[2975692561], [12587504], [], [], [], [], [], []
Process ID: 6438
Session ID: 853 Serial number: 5



------解决思路----------------------
startup mount;
select name from v$datafile;
alter database datafile '' offline drop;
alter database open;
------解决思路----------------------
本帖最后由 wildwave 于 2014-11-18 18:35:06 编辑
怎么判断是undo表空间坏了??
应该是断电导致数据库文件不一致
可能需要备份来进行不完全恢复

ORA-600 [2662]

A data block SCN is ahead of the current SCN.
The ORA-600 [2662] occurs when an SCN is compared to the dependent SCN stored in a UGA variable.
If the SCN is less than the dependent SCN then we signal the ORA-600 [2662] internal error.

 Format: ORA-600 [2662] [a] [b] [c] [d] [e]
ARGUMENTS:
  Arg [a]  Current SCN WRAP
  Arg [b]  Current SCN BASE
  Arg [c]  dependent SCN WRAP
  Arg [d]  dependent SCN BASE 
  Arg [e]  Where present this is the DBA where the dependent SCN came from.