朋友的一个问题:9i的库open之后大量ora-00600错误(一)

2014-11-24 16:16:09 · 作者: · 浏览: 7

首先我们来看下朋友传我的alert log:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 Sat May 24 18:29:27 2014 SMON: enabling tx recovery Sat May 24 18:29:27 2014 Database Characterset is ZHS16GBK Sat May 24 18:29:28 2014 FAST_START_MTTR_TARGET 300 is out of the valid MTTR range, use 540 instead. Sat May 24 18:31:36 2014 Errors in file e:\oracle\admin\oracle\bdump\oracle_smon_4044.trc: ORA-00600: internal error code, arguments: [kcoapl_blkchk], [1], [51720], [6401], [], [], [], [] ......省略部分内容 Sat May 24 18:55:36 2014 Errors in file e:\oracle\admin\oracle\udump\oracle_ora_404.trc: ORA-00600: 内部错误代码,参数: [12700], [18], [4246724], [2], [], [], [], [] ORACLE Instance oracle (pid = 6) - Error 600 encountered while recovering transaction (10, 38) on object 36. Sat May 24 18:58:13 2014 Errors in file e:\oracle\admin\oracle\bdump\oracle_smon_4044.trc: ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], [] Sat May 24 19:09:55 2014 Errors in file e:\oracle\admin\oracle\bdump\oracle_smon_4044.trc: ORA-00600: internal error code, arguments: [kcoapl_blkchk], [1], [51720], [6401], [], [], [], [] ORACLE Instance oracle (pid = 6) - Error 607 encountered while recovering transaction (10, 37) on object 3. Sat May 24 19:17:50 2014 Errors in file e:\oracle\admin\oracle\bdump\oracle_smon_4044.trc: ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [kcoapl_blkchk], [1], [51720], [6401], [], [], [], [] Recovery of Online Redo Log: Thread 1 Group 3 Seq 4 Reading mem 0 Mem# 0 errs 0: E:\ORACLE\ORADATA\ORACLE\REDO03.LOG Sat May 24 19:18:59 2014 Errors in file e:\oracle\admin\oracle\udump\oracle_ora_4072.trc: ORA-00600: 内部错误代码,参数: [12700], [18], [4246724], [2], [], [], [], [] Sat May 24 19:29:35 2014 Errors in file e:\oracle\admin\oracle\bdump\oracle_smon_4044.trc: ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], [] Sat May 24 19:38:19 2014 Errors in file e:\oracle\admin\oracle\udump\oracle_ora_2296.trc: ORA-00600: 内部错误代码,参数: [12700], [18], [4246724], [2], [], [], [], []

可以看到虽然该数据库能正常open,但是不停的报ora-00600错误,这里主要涉及到3个internal错误,分别为如下:

ORA-00600: internal error code, arguments: [kcoapl_blkchk]
ORA-00600: internal error code, arguments: [6006]
ORA-00600: 内部错误代码,参数: [12700]

我们先来看第一个错误:[kcoapl_blkchk],从该错误来看,可以判断是block存在问题,而又异常的block为:file 1 block 51720

我们可以看到open后smon进程在进行事务rollback的时候,回滚(10, 37) 事务失败了,主要是操作对象object 3.

这里可以简单的解释一下:(10,37) 中,标示回滚段编号,37标示slot编号。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production PL/SQL Release 9.2.0.8.0 - Production CORE 9.2.0.8.0 Production TNS for Linux: Version 9.2.0.8.0 - Production NLSRTL Version 9.2.0.8.0 - Production SQL> select owner,object_name,object_type from dba_objects where object_id=3; OWNER OBJECT_NAME OBJECT_TYPE ------------------------------ ------------------------- ------------------ SYS I_OBJ# INDEX

我们可以确认,在Oracle 9i的环境中,object id=3 是i_obj#这个index。

我们从trace中搜索下,看下这个51720 的block有问题是什么问题 ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 buffer tsn: 0 rdba: 0x0040ca08 (1/51720) scn: 0x0000.0a2c991d seq: 0x01 flg: 0x06 tail: 0x991d0601 frmt: 0x02 chkval: 0x221e type: 0x06=trans