解决ORA-00600: 内部错误代码, 参数: [4194], [15], [8]

解决ORA-00600: 内部错误代码, 参数: [4194], [15], [8]
1.错误描述:在做一次恢复后,数据库能正常打开,数据表也能正常查询,但过不了多久数据库会自动down掉
2.查看alert日志,发现如下信息
Thu May  05   13 : 30 : 26   2011
Flush retried 
for  xcb  0x333acd74 , pmd  0x33bdaa68
Doing block recovery 
for   file   2  block  499
No block recovery was needed
Thu May 
05   13 : 30 : 27   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_mmon_2392.trc:
ORA
- 00600 : 内部错误代码, 参数:  [ 4194 ] [ 15 ] [ 8 ] [] [] [] [] []

ORA
- 600  encountered  when  generating server alert SMG - 4120
Flush retried 
for  xcb  0x333acd74 , pmd  0x33bdaa68
Doing block recovery 
for   file   2  block  499
No block recovery was needed
Thu May 
05   13 : 30 : 29   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_mmon_2392.trc:
ORA
- 00600 : 内部错误代码, 参数:  [ 4194 ] [ 15 ] [ 8 ] [] [] [] [] []
ORA
- 00001 : 违反唯一约束条件 (SYS.RECENT_RESOURCE_INCARNATIONS$P)

Flush retried 
for  xcb  0x333acd74 , pmd  0x33bdaa68
Doing block recovery 
for   file   2  block  499
No block recovery was needed
Thu May 
05   13 : 30 : 32   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_mmon_2392.trc:
ORA
- 00600 : 内部错误代码, 参数:  [ 4194 ] [ 15 ] [ 8 ] [] [] [] [] []
ORA
- 00600 : 内部错误代码, 参数:  [ 4194 ] [ 15 ] [ 8 ] [] [] [] [] []
ORA
- 00001 : 违反唯一约束条件 (SYS.RECENT_RESOURCE_INCARNATIONS$P)

Thu May 
05   13 : 30 : 40   2011
Flush retried 
for  xcb  0x333acd74 , pmd  0x33bdaa68
Doing block recovery 
for   file   2  block  499
No block recovery was needed
Thu May 
05   13 : 30 : 41   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_pmon_836.trc:
ORA
- 00600 : 内部错误代码, 参数:  [ 4194 ] [ 15 ] [ 8 ] [] [] [] [] []

Thu May 
05   13 : 30 : 42   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_pmon_836.trc:
ORA
- 00600 : 内部错误代码, 参数:  [ 4194 ] [ 15 ] [ 8 ] [] [] [] [] []

PMON: terminating instance due 
to  error  472
Thu May 
05   13 : 30 : 42   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_q001_3192.trc:
ORA
- 00472 : PMON 进程因错误而终止

Thu May 
05   13 : 30 : 43   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_lgwr_1072.trc:
ORA
- 00472 : PMON 进程因错误而终止

Thu May 
05   13 : 30 : 43   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_mman_660.trc:
ORA
- 00472 : PMON 进程因错误而终止

Thu May 
05   13 : 30 : 43   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_dbw0_1384.trc:
ORA
- 00472 : PMON 进程因错误而终止

Thu May 
05   13 : 30 : 43   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_psp0_2288.trc:
ORA
- 00472 : PMON 进程因错误而终止

Thu May 
05   13 : 30 : 44   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_smon_544.trc:
ORA
- 00472 : PMON 进程因错误而终止

Thu May 
05   13 : 30 : 44   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_ckpt_300.trc:
ORA
- 00472 : PMON 进程因错误而终止

Thu May 
05   13 : 30 : 49   2011
Errors 
in   file  d:\oracle\product\ 10.2 . 0 \admin\suredd\bdump\suredd_reco_1700.trc:
ORA
- 00472 : PMON 进程因错误而终止
3.经查询metalink,有如下提示
Short Description  of  ORA - 00600 [ 4194 ]

-- -------------------------------------

A mismatch has been detected 
between  Redo records  and   rollback  (Undo) 
records.

ARGUMENTS:
Arg 
[ a ]  Maximum Undo record  number   in  Undo block
Arg 
[ b ]  Undo record  number   from  Redo block


Refer 
to  Note: 39283.1   for  more details  on  the description  of  this error.


4.根据metalink的提示方案来解决问题(ID 281429.1)(我的数据库版本是10.2.1,window32的)
代码如下:
SQL * Plus: Release  10.2 . 0.1 . 0   -  Production  on  星期四 5月  5   14 : 28 : 31   2011

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

已连接到空闲例程。

/**/ /** 第一步:启动到nomount状态,创建pfile,
将pfile里面的自动undo管理改为手工管理,并打开数据库
*/

SQL
>  startup nomount
ORACLE 例程已经启动。

Total System Global Area  
612368384  bytes
Fixed Size                  
1250428  bytes
Variable Size             
222301060  bytes
Database  Buffers           381681664  bytes
Redo Buffers                
7135232  bytes
SQL
>   create  pfile = ' c:\p1.ora '   from  spfile;

文件已创建。

SQL
>   shutdown  immediate
ORA
- 01507 : ??????


ORACLE 例程已经关闭。
SQL
>  startup mount pfile = ' c:\p1.ora ' ;
ORACLE 例程已经启动。

Total System Global Area  
612368384  bytes
Fixed Size                  
1250428  bytes
Variable Size             
222301060  bytes
Database  Buffers           381681664  bytes
Redo Buffers                
7135232  bytes
数据库装载完毕。
SQL
>  show parameter undo

NAME                                 TYPE        VALUE
-- ---------------------------------- ----------- ------------------------------
undo_management                      string      MANUAL
undo_retention                       
integer       900
undo_tablespace                      string      UNDOTBS1
SQL
>   alter   database   open ;

数据库已更改。

/**/ /**第二步:先创建一个回滚段并使用,
再新建一个新的undo表空间,并将老的undo表空间drop
*/

SQL
>   Create   rollback  segment r01 ; 

回退段已创建。

SQL
>  
SQL
>    Alter   rollback  segment r01 online ; 

回退段已变更。

SQL
>   Create  undo tablespace undotbs_new datafile  ' D:\oracle\product\10.2.0\oradata\suredd\untotbs_new_01.dbf '  size 50M;

表空间已创建。

SQL
>   drop  tablespace UNDOTBS1 including contents  and  datafiles;

表空间已删除。

/**/ /**第三步:关闭数据库,使用spfile启动到nomount状态(其实就是让undo继续自动管理),
将undo表空间指向新创建的undo表空间,再关闭数据库再启动数据库
*/

SQL
>   shutdown  immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL
>  startup nomount
ORACLE 例程已经启动。

Total System Global Area  
612368384  bytes
Fixed Size                  
1250428  bytes
Variable Size             
222301060  bytes
Database  Buffers           381681664  bytes
Redo Buffers                
7135232  bytes
SQL
>   alter  system  set  undo_tablespace = undotbs_new scope = spfile;

系统已更改。

SQL
>   shutdown  immediate
ORA
- 01507 : ??????


ORACLE 例程已经关闭。
SQL
>  startup
ORACLE 例程已经启动。

Total System Global Area  
612368384  bytes
Fixed Size                  
1250428  bytes
Variable Size             
222301060  bytes
Database  Buffers           381681664  bytes
Redo Buffers                
7135232  bytes
数据库装载完毕。
数据库已经打开。
SQL
>   select   *   from  dd.t1;

        ID NAME
-- -------- ----------
          1  test1
         
2  test2

SQL
>   /

        ID NAME
-- -------- ----------
          1  test1
         
2  test2

SQL
>   alter  system  checkpoint ;

系统已更改。

SQL
>   alter  system archive  log   current ;

系统已更改。

SQL
>    select   *   from  dd.t1;

        ID NAME
-- -------- ----------
          1  test1
         
2  test2

SQL
>   /

        ID NAME
-- -------- ----------
          1  test1
         
2  test2

SQL
>  show parameter undo

NAME                                 TYPE        VALUE
-- ---------------------------------- ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       
integer       900
undo_tablespace                      string      UNDOTBS_NEW
SQL
>  

你可能感兴趣的:(解决ORA-00600: 内部错误代码, 参数: [4194], [15], [8])