ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ITPUB SQL大赛之BUG(四)

ITPUB SQL大赛之BUG(四)

原创 Linux操作系统 作者:yangtingkun 时间:2011-04-03 21:06:12 0 删除 编辑

由于SQL大赛题目相对比较困难,不但需要使用大量的特性,且SQL实现十分复杂,一般运行时间也会比较长,这些因素导致碰到bug的几率直线上升。这里介绍SQL大赛期间碰到的几个bug

这篇描述碰到的ORA-7445(kditpin)错误。

ITPUB SQL大赛之BUG(一):http://yangtingkun.itpub.net/post/468/515815

ITPUB SQL大赛之BUG(二):http://yangtingkun.itpub.net/post/468/515926

ITPUB SQL大赛之BUG(三):http://yangtingkun.itpub.net/post/468/515982

 这个问题其实很简单,基本上看得错误信息就可以判断问题所在了:

Tue Mar 15 00:51:47 2011
ORA-1652: unable to extend temp segment by 64 in tablespace                 TEMP
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x0] [PC:0x4BEB610, kditpin()+54] [flags: 0x0, count: 1]
Errors in file /data/oracle/diag/rdbms/test112/test112/trace/test112_ora_19832.trc  (incident=25579):
ORA-07445:
出现异常错误: 核心转储 [kditpin()+54] [SIGSEGV] [ADDR:0x0] [PC:0x4BEB610] [Address not mapped to object] []
ORA-01652:
无法通过 64 (在表空间 TEMP ) 扩展 temp
Incident details in: /data/oracle/diag/rdbms/test112/test112/incident/incdir_25579/test112_ora_19832_i25579.trc
Tue Mar 15 00:52:03 2011
Trace dumping is performing id=[cdmp_20110315005203]
Tue Mar 15 00:52:06 2011
Sweep [inc][25579]: completed
Sweep [inc2][25579]: completed

当时在测试SQL大赛第二期第二题M=3N=7时,SQL的运行时间,运行了一段时间后,前台出现了ORA-3113错误。一般而言,前台出现ORA-3113,后台多半是ORA-600ORA-7445错误,检查alert日志,发现了上面的错误。

其实已经没有必要看详细的错误信息了,导致错误的原因很简单,临时表空间被占满,且数据文件不是自动扩展的,导致了ORA-1652错误。

以前在运行SQL的时候也碰到过ORA-1652错误,不过这里的问题是抛出了ORA-7445(KDITPIN)错误。

查询了以下metalink,并没有找到接近的描述,这种由常规错误导致的ORA-7445ORA-600一般都有一定的偶然性,很难重现。不过这个问题其实很容易接近,要不然继续加到临时表空间数据文件的大小,要不然去进一步优化SQL语句,减少对临时表空间的占用。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-691626/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10524866