问题描述
客户的数据库环境中出现ORA-600(kghstack_underflow_internal_3)错误。
详细错误信息为:
Errors IN file /home/oracle/admin/db1/bdump/db1_dw05_18423.trc: ORA-00600: internal error code, arguments: [kghstack_underflow_internal_3], [0xFFFFFD7FFB6D5FC0], [rpi ROLE SPACE], [], [], [], [], [] ORA-19502: WRITE error ON file "/oradata03/dmp /exp05.20100916.dmp", blockno 11292695 (blocksize=4096) ORA-27063: NUMBER OF bytes READ/written IS incorrect Solaris-AMD64 Error: 28: No SPACE LEFT ON device Additional information: -1 Additional information: 262144
专家解答
从错误信息不难判断,虽然这时一个ORA-600错误,但是问题肯定和数据泵导出时空间不足有直接的关系。
ksedmp: internal OR fatal error ORA-00600: internal error code, arguments: [kghstack_underflow_internal_3], [0xFFFFFD7FFB6D5FC0], [rpi ROLE SPACE], [], [], [], [], [] ORA-19502: WRITE error ON file "/oradata03/dmp/exp05.20100916.dmp", blockno 11292695 (blocksize=4096) ORA-27063: NUMBER OF bytes READ/written IS incorrect Solaris-AMD64 Error: 28: No SPACE LEFT ON device Additional information: -1 Additional information: 262144 ----- PL/SQL Call Stack ----- object line object handle NUMBER name 5f8fb8b80 14 package body SYS.KUPD$DATA_INT 5f75ca850 1263 package body SYS.KUPD$DATA 5f8963a88 10716 package body SYS.KUPW$WORKER 5f8963a88 2575 package body SYS.KUPW$WORKER 5f8963a88 6868 package body SYS.KUPW$WORKER 5f8963a88 1259 package body SYS.KUPW$WORKER 5d8f07c38 2 anonymous block ----- Call Stack Trace ----- calling CALL entry argument VALUES IN hex location TYPE point (? means dubious VALUE) -------------------- -------- -------------------- ---------------------------- ksedst()+23 ? 0000000000000000 0017B341C 000000000 0FFDEDDA0 0FFFFFD7F ksedmp()+636 ? 0000000000000000 0017B1EB1 000000000 0FB6D5FC0 0FFFFFD7F ksfdmp()+16 ? 0000000000000000 0017F4FF5 000000000 0FFDEDDE0 0FFFFFD7F kgerinv()+257 ? 0000000000000000 0040D2E2E 000000000 0FB6D5F88 0FFFFFD7F kgeasnmierr()+170 ? 0000000000000000 0040D3A5F 000000000 005F71AD8 000000000 kghstack_underflow_ ? 0000000000000000 0040CBA2F 000000000 000000001 internal()+330 000000000 kghstack_free()+90 ? 0000000000000000 0040CADBF 000000000 005F5F848 000000000 ksmfrs()+19 ? 0000000000000000 0018C6E38 000000000 0FFDEDFF0 0FFFFFD7F kluucln()+95 ? 0000000000000000 0038BCD84 000000000 0FC0E01F0 0FFFFFD7F kluabort()+224 ? 0000000000000000 0038C7235 000000000 0FFDF38D8 0FFFFFD7F kpodpmop()+930 ? 0000000000000000 0036CCFE7 000000000 000000000 000000000 opiodr()+1087 ? 0000000000000000 000E97C5C 000000000 005F84678 000000000 kpoodr()+459 ? 0000000000000000 002900D90 000000000 0FC02BFF0 0FFFFFD7F upirtrc()+801 ? 0000000000000000 003C7E56E 000000000 000000000 000000000 kpurcsc()+107 ? 0000000000000000 003C02670 000000000 000000000 000000000 kpudprc()+361 ? 0000000000000000 003C1E48E 000000000 000000000 000000000 kpudpxa_ctxAbort()+ ? 0000000000000000 003C156BA 000000000 0FC45E8D0 645 0FFFFFD7F OCIDirPathAbort()+6 ? 0000000000000000 003C578DB 000000000 0FFDF3960 0FFFFFD7F kupd_finish()+183 ? 0000000000000000 00360EF4C 000000000 000000000 000000000
从详细TRACE信息中,没有找到进一步有价值的信息,随后查询了MOS,发现ORA-600 [Kghstack_underflow_internal_3], [Rpi Role Space] ORA-19502 ORA-27072 [ID 862398.1]文档和当前的描述最为借鉴,虽然最后一个错误信息并不一致,但是问题和现象基本上都和MOS中记录的十分相似。不同之处在于,MOS的中的文章是在进行RMAN备份时,而当前的问题是在进行数据泵导出。由于最后的错误都与操作系统上的具体错误有关,而MOS中的系统是Linux,而当前是Solaris 10,所以二者存在一定的差异是很正常的。
由于是空间不足引发的错误,因此借鉴问题的方法也很简单,删除不需要的对象,确保导出路径下有空闲的既可避免这个错误的。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。