客户反映说他们的系统不能上传附件了,上传附件的时候就报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
...省略部分内容
global cache element dump (address: 0xc0000000bfbc5118):
id1: 0x12d4ca id2: 0x6 pkey: obj#83300 block: (6/1234122)
lock: s rls: 0x0 acq: 0x0 latch: 11
flags: 0x20 fair: 0 recovery: 0 fpin: 'ktsphwh39: ktspisc'
bscn: 0x0.2a5170ba bctx: 0x0000000000000000 write: 0 scan: 0x0
lcp: 0x0000000000000000 lnk: [null] lch: [0xc0000013ef335e28,0xc0000013ef335e28]
seq: 91 hist: 334 42 4 37:1 113 238 180 145:0 28 340 225 212 72
list of buffers linked to this global cache element:
flg: 0x0a200000 state: scurrent tsn: 6 tsh: 148
addr: 0xc0000013ef335cf8 obj: 83300 cls: seg head bscn: 0x0.2a5170ba
bh (0xc00000142ee9af48) file#: 6 rdba: 0x0192d4ca (6/1234122) class: 4 ba: 0xc0000014231f6000
set: 91 pool: 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 285,1
dbwrid: 2 obj: 83300 objn: 83300 tsn: 6 afn: 6 hint: f
hash: [0xc000001884264b78,0xc0000013ef335da8] lru: [0xc0000013ef32d6c0,0xc00000143ee399d8]
lru-flags: moved_to_tail
ckptq: [null] fileq: [null] objq: [null] objaq: [null]
st: cr md: null 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]
flags: block_written_once redo_since_read
buffer tsn: 6 rdba: 0x0192d4ca (6/1234122)
scn: 0x0000.2a50b974 seq: 0x02 flg: 0x04 tail: 0xb9742302
frmt: 0x02 chkval: 0x4fff type: 0x23=pagetable segment header
hex dump of block: st=0, typ_found=1
dump of memory from 0xc0000014231f6000 to 0xc0000014231f8000
注意到引起ora-600错误的为一个insert语句,对应的表为t_mx_attachment,与用户确认后得知,这个表正式用来存放附件的表。还注意两个对象编号,按如下方式查询两个出现问题的对象类型: