客户反映说他们的系统不能上传附件了,上传附件的时候就报ORA-600错误,具体错误如下:ORA-00600: internal error code, argument
客户反映说他们的系统不能上传附件了,上传附件的时候就报ORA-600错误,具体错误如下:ORA-00600: internal error code, arguments: [6002], [32], [0], [2], [0], [], [], [], [], [], [], [],
网上有很多针对6002的处理方法,说的原因基本都是说表上的索引有问题,MOS上也有相关说明,具体请参看MOS文章[ID 47449.1], 用户也根据这个思路进行了处理,对表上的索引进行了rebuild,后来又将索引删除,在create index,但是问题一直还是出现。
以下是我的处理过程,首先我们来看trace文件:
Dump continued from file: /u01/app/Oracle/diag/rdbms/cisd/CISD1/trace/CISD1_ora_25643.trc
ORA-00600: internal error code, arguments: [6002], [32], [0], [2], [0], [], [], [], [], [], [], []
========= Dump for incident 96487 (ORA 600 [6002]) ========
----- Beginning of Customized Incident Dump(s) -----
GLOBAL CACHE ELEMENT DUMP (address: 0xc0000000efcf2e28):
id1: 0x1e362d id2: 0x10 pkey: OBJ#83301 block: (16/1979949)
lock: S rls: 0x0 acq: 0x0 latch: 11
flags: 0x20 fair: 0 recovery: 0 fpin: 'kdiwh22: kdifind'
bscn: 0x0.0 bctx: 0x0000000000000000 write: 0 scan: 0x0
lcp: 0x0000000000000000 lnk: [NULL] lch: [0xc0000013cf1dd768,0xc0000013cf1dd768]
seq: 8 hist: 334 297 67 143:0 85 16 352 32
LIST OF BUFFERS LINKED TO THIS GLOBAL CACHE ELEMENT:
flg: 0x00000000 lflg: 0x2 state: SCURRENT tsn: 6 tsh: 0 mode: SHR
pin: 'kdiwh22: kdifind'
addr: 0xc0000013cf1dd638 obj: 83301 cls: DATA bscn: 0x0.0
GCS CLIENT 0xc0000000efcf2ea0,1 resp[0x0000000000000000,0x1e362d.10] pkey 83301.0
grant 1 cvt 0 mdrole 0x1 st 0x100 lst 0x20 GRANTQ rl LOCAL
master 2 owner 1 sid 1 remote[0xc0000017e8f57c70,2] hist 0x11e16
history 0x16.0x3c.0x4.0x0.0x0.0x0.0x0.0x0.0x0.0x0.
cflag 0x0 sender 2 flags 0x0 replay# 0 abast 0x0000000000000000.x0.1 dbmap 0x0000000000000000
disk: 0x0000.00000000 write request: 0x0000.00000000
pi scn: 0x0000.00000000 sq[0x0000000000000000,0x0000000000000000]
msgseq 0x1 updseq 0x0 reqids[1,0,0] infop 0x0000000000000000 lockseq x4e1a
pkey 83301.0
hv 70 [stat 0x0, 2->2, wm 32768, RMno 0, reminc 4, dom 0]
kjga st 0x4, step 0.0.0, cinc 4, rmno 4, flags 0x0
lb 0, hb 0, myb 468677, drmb 468677, apifrz 0
GCS CLIENT END
2014-08-07 09:23:51.348026 : kjbmbassert [0x1e362d.10]
2014-08-07 09:23:51.348069 : kjbmsassert(0x1e362d.10)(2)
----- End of Customized Incident Dump(s) -----
*** 2014-08-07 09:23:51.399
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=6frrb2h7z863a) -----
insert into T_MX_ATTACHMENT (TABLE_NAME, PK_VAL, ATT_NAME, ATT_PATH, COL_NAME, ATT_SIZE, ATT_FILE, ATTACHMENT_ID) values (:1, :2, :3, :4, :5, :6, :7, :8)
...省略部分内容
GLOBAL CACHE ELEMENT DUMP (address: 0xc0000000efcf2e28):
id1: 0x1e362d id2: 0x10 pkey: OBJ#83301 block: (16/1979949)
lock: S rls: 0x0 acq: 0x0 latch: 11
flags: 0x20 fair: 0 recovery: 0 fpin: 'kdiwh22: kdifind'
bscn: 0x0.0 bctx: 0x0000000000000000 write: 0 scan: 0x0
lcp: 0x0000000000000000 lnk: [NULL] lch: [0xc0000013cf1dd768,0xc0000013cf1dd768]
seq: 8 hist: 334 297 67 143:0 85 16 352 32
LIST OF BUFFERS LINKED TO THIS GLOBAL CACHE ELEMENT:
flg: 0x00000000 lflg: 0x2 state: SCURRENT tsn: 6 tsh: 0 mode: SHR
pin: 'kdiwh22: kdifind'
addr: 0xc0000013cf1dd638 obj: 83301 cls: DATA bscn: 0x0.0
buffer tsn: 6 rdba: 0x041e362d (16/1979949)
scn: 0x0000.00000000 seq: 0x01 flg: 0x05 tail: 0x00000001
frmt: 0x02 chkval: 0x3395 type: 0x00=unknown
Hex dump of block: st=0, typ_found=0
Dump of memory from 0xC0000013C78FA000 to 0xC0000013C78FC000
...省略部分内容
全局缓存元素转储(地址:0xc0000000bfbc5118):
id1:0x12d4ca ID2:0x6 pkey:obj#83300块:( 6/1234122) 🎜> 标志:0x20 公平:0 恢复:0 fpin:'ktsphwh39:ktspisc'
bscn:0x0.2a5170ba bctx:0x0000000000000000 写入:0 扫描:0x0
lcp:0x000000000000 0000 lnk: [NULL] lch: [0xc0000013ef335e28 ,0xc0000013ef335e28]
seq: 91 hist: 334 42 4 37:1 113 238 180 145:0 28 340 225 212 72
链接到此全局缓存的缓冲区列表:
flg:0x0a200000 状态:SCURRENT tsn:6 tsh:148
地址:0xc0000013ef335cf8 obj:83300 cls:SEG HEAD bscn:0x0.2a5170ba
BH(0xc00000142ee9af48)文件#:6 rdba:0x0192d 4ca (6/1234122) 类别:4 ba:0xc0000014231f6000
设置:91 池:3 bsz:8192 bsi:0 sflg:2 pwc:285,1
dbwrid:2 obj:83300 objn:83300 tsn:6 afn:6 提示:f
哈希:[0xc000001884264b7 8 ,0xc0000013ef335da8] lru: [0xc0000013ef32d6c0,0xc00000143ee399d8]
lru-flags: moving_to_tail
ckptq: [NULL] fileq: [NULL] objq: [NULL] objaq: [NULL]
st: CR m d: 空fpin: 'ktsphwh39: ktspisc' tch: 1 le: 0x0000000000000000
cr: [scn: 0x0.2a50bc59],[xid: 0x0.0.0],[uba: 0x0.0.0],[cls: 0x0.2a50bc59], [sfl: 0x0],[lc: 0x0.0]
标志:block_writing_once redo_since_read
缓冲区 tsn:6 rdba:0x0192d4ca (6/1234122)
scn:0x0000.2a50b974 seq:0x02 flg:0 x04尾部: 0xb9742302
frmt: 0x02 chkval: 0x4fff 类型: 0x23=页表段标头
块的十六进制转储:st=0,typ_found=1
内存从 0xC0000014231F6000 转储到 0xC00000142 31F8000
注意到引起ORA-600错误的为一个插入语句,对应的表为T_MX_ATTACHMENT,与用户确认后得知,这个表正式用作货架附件的表。还注意两个对象编号,按如下方式查询出现问题的对象类型: