ORA-600(kcblasm_1)和ORA-7445(kxhfNewBuffer)错误

之所以将两个错误合在一起发出,主要是因为造成这两个错误的SQL是同一个。

 

 

第一次出现错误的时候报错ORA-600(kcblasm_1),第二次出现改成了ORA-7445错误,错误的第一个参数为kxhfNewBuffer

Mon Aug 10 15:47:36 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20414.trc:
ORA-00600: internal error code, arguments: [kcblasm_1], [102], [], [], [], [], [], []
Mon Aug 10 15:47:37 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20414.trc:
ORA-07445: exception encountered: core dump [0000000101D51BB4] [SIGSEGV] [Address not mapped to object] [0x3032313300043148] [] []
ORA-00600: internal error code, arguments: [kcblasm_1], [102], [], [], [], [], [], []
Mon Aug 10 15:47:38 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20414.trc:
ORA-07445: exception encountered: core dump [0000000101D51BB4] [SIGSEGV] [Address not mapped to object] [0x3032313300043148] [] []
ORA-07445: exception encountered: core dump [0000000101D51BB4] [SIGSEGV] [Address not mapped to object] [0x3032313300043148] [] []
ORA-00600: internal error code, arguments: [kcblasm_1], [102], [], [], [], [], [], []
Mon Aug 10 15:47:40 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20414.trc:
ORA-07445: exception encountered: core dump [0000000101D51BB4] [SIGSEGV] [Address not mapped to object] [0x3032313300043148] [] []
ORA-07445: exception encountered: core dump [0000000101D51BB4] [SIGSEGV] [Address not mapped to object] [0x3032313300043148] [] []
ORA-07445: exception encountered: core dump [0000000101D51BB4] [SIGSEGV] [Address not mapped to object] [0x3032313300043148] [] []
ORA-00600: internal error code, arguments: [kcblasm_1], [102], [], [], [], [], [], []
Mon Aug 10 16:19:28 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:28 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:29 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:31 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:32 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:34 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:36 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:39 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
Mon Aug 10 16:19:41 2009
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_20756.trc:
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kghasp1], [0xFFFFFFFF799800E8], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [0000000101919BD0] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []

两个错误的间隔时间很短,而且都是同一个SQL语句所引起。

由于以前并没有出现过这个错误,而最近程序又修改了SQL语句,基本上可以确定问题就是SQL语句导致的。

由于SQL语句比较长,而且和业务有关,这里就不贴出来了。检查SQL语句,发现可能导致问题的部分是SQLWHERE条件中,包含了下列的写法:

 and (b.ready_flag is null
  or b.ready_flag in
  (
   select r.ready_type from cat_zone_product_ready r 
   where r.plat_id ='FR20T0000020000000000061'
   and r.enable_flag='1'
  )
  ) 

这种用OR关联起来的子查询,本身就容易引发错误。

由于cat_zone_product_ready表中plat_idready_type是唯一的,因此将上面的查询改成了外连接的方式。

SQL简化后一点,来说明问题,原始的写法为:

SQL> select count(*)
  2  from (
  3   select a.id, a.trade_name, a.remark
  4   from cat_product a, cat_drug b
  5   where a.medical_id = b.id
  6   and a.enable_flag = '1' 
  7   and (b.ready_flag is null
  8    or b.ready_flag='' 
  9    or b.ready_flag in
 10     (
 11      select r.ready_type from cat_zone_product_ready r 
 12      where r.plat_id ='FR20T0000020000000000061'
 13      and r.enable_flag='1'
 14     )
 15    ) 
 16  );


  COUNT(*)
----------
    105476

修改为:

SQL> select count(*)
  2  from (
  3     select a.id, a.trade_name, a.remark
  4     from cat_product a, cat_drug b, cat_zone_product_ready r
  5     where a.medical_id = b.id
  6     and a.enable_flag = '1' 
  7     and b.ready_flag = r.ready_type (+)
  8     and r.plat_id (+)='FR20T0000020000000000061'
  9     and r.enable_flag (+) ='1'
 10     and ((r.id is not null) or (r.id is null and b.ready_flag is null))
 11  );

  COUNT(*)
----------
    105476

根据上面的方法修改了程序中的SQL语句,观察了半个月左右,这个错误没有再次出现,看来通过修改SQL的方式避开了这个错误。

 

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

转载于:http://blog.itpub.net/4227/viewspace-613523/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值