解决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,有如下提示
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 进程因错误而终止
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的)
-- -------------------------------------
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.
代码如下:
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 >
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 >