ITPub博客

首页 > 数据库 > Oracle > ORA-600[qesmaGetTblSeg1]错误分析

ORA-600[qesmaGetTblSeg1]错误分析

原创 Oracle 作者:xueshancheng 时间:2021-06-11 16:58:20 0 删除 编辑

1  数据库报错

Wed Jun 17 14:52:32 2020

Errors in file /u01/app/oracle/diag/rdbms/xxx1/trace/test1_ora_9448.trc  (incident=115553):

ORA-00600: 内部错误代码 , 参数 : [qesmaGetTblSeg1], [2361], [0], [1], [0x0D99189C0], [0x0D99189F8], [1], [], [], [], [], []

Incident details in: /u01/app/oracle/diag/rdbms/xxx1/incident/incdir_115553/test1_ora_9448_i115553.trc

Use ADRCI or Support Workbench to package the incident.

..............................

Thu May 27 00:00:14 2021

Errors in file /u01/app/oracle/diag/rdbms/xxx1/trace/test1_ora_15681.trc  (incident=131505):

ORA-00600: 内部错误代码 , 参数 : [qesmaGetTblSeg1], [2704], [0], [1], [0x0EC960070], [0x0EC9600A8], [1], [], [], [], [], []

Use ADRCI or Support Workbench to package the incident.

See Note 411.1 at My Oracle Support for error and packaging details.

Use ADRCI or Support Workbench to package the incident.

2   查看相关trace文件

查看报 ORA-600错误的对象名称,发现都是同一张表,只是不同的分区:

在浏览 trace文件时,发现有大于当前时间的分区,其内还有数据。沟通应用,认为此事件为异常,引起的原因为终端设备时间不正确导致的。

根据如下查询,发现 2022 和2027年竟然有数据了

表分区


表分区中含有数据:

3 查看Oracle的官方文档

ORA-600 [qesmaGetTblSeg1] Raised by Insert Statement (Doc ID 1987590.1)

CAUSE

The issue matches unpublished

Bug 17957017 - ADD MORE DIAGNOSTICS FOR ORA-600 [QESMAGETTBLSEG1]

 

The bug is fixed in:

·  12.2 (Future Release)

·  12.1.0.2 (Server Patch Set)

·  11.2.0.4 Bundle Patch 15 for Exadata Database (Jan 2015)

NOTE:

This is a marker bug for a diagnostic enhancement to produce more information for ORA-600 [qesmaGetTblSeg1] errors.

This diagnostic has no impact other than to produce more output in the case of the above error.

Please refer to:

Note 17957017.8  - Bug 17957017 - Diagnostic enhancement to produce more information for ORA-600 [qesmaGetTblSeg1] errors

SOLUTION

To solve the issue, use any of below alternatives:

·  Upgrade to Oracle 12.1.0.2

 

·  - OR -

 

·  Apply interim  Patch 17957017 , if available for your platform and (PSU) patch level

 

·  To check for conflicting patches, please use the MOS Patch Planner Tool

·  Please refer to

·  Note 1317012.1  - How To Use MOS Patch Planner To Check And Request The Conflict Patches?

 

·  If no patch exists for your version, please contact Oracle Support for a backport request.

 

After the above, you can log a new SR with Oracle support in case the error reproduces.

查看某业务系统的补丁是否打上,发现是有的,如下:

[oracle@test~]$ opatch lsinventory |grep 17957017

16613964, 17957017,   18098207, 18471685, 19730508, 18264060, 17754782

######################

Bug 14252187  ORA-600 [qesmaGetTblSeg1] from deferred segment creation in RAC

Description

This bug is only relevant when using Real Application Clusters (RAC)With deferred segment creation turned on in a RAC configuration

various segment or partition-related internal errors may be seen.

 


Rediscovery Notes

 If you are on 11.2+ and see segment or partition-related

 

 internal errors such as ORA-600[qesmagettblseg1] or 

 

 ORA-600[kkpo_rcinfo_defstg:objnotfound], you could be

 

 hitting this problem.

 


Workaround

 Avoid deferred segment creation. 

 

 eg: Run with DEFERRED_SEGMENT_CREATION=false

 

4  分析 ORA-600 [qesmaGetTblSeg1] 报错原因

此错误的真正原因为 Oracle 在 11.2.0.4 版本以后,修改了表分配空间的行为,即 11.2.0.4 以前,在数据库里面创建一个表,数据库同时会为此表分配一定的空间,用于数据插入。但 11.2.0.4 以后,创建一个表或分区,数据库不会对表及分区分配空间,直到真正有数据插入时才会对表及分区分配空间。为了避免由于延迟创建分区,可以通过修改数据库参数来调整数据库的行为,经查,某业务系统的数据库参数已经进行调整,即创建表及分区的同时,会分配对应的空间,参数如下:

     既然数据库层面补丁已打,相关参数进行了调整,但为什么数据库有时报 ORA-600 [ q esmaGetTblSeg1] 错误,有时又不报此错误,没有任何的认为干预。经过查询,认为同业务有关系, TEST _USER. TEST _HIS   这个表是按日进行分区的,每天自动进行分区,但由于终端时间不对,比如终端时间为 2027 年的某一天,需要插入数据,数据库发现没有此分区,然后在创建此分区,并分配空间,就会再次触发 ORA-600 [qesmaGetTblSeg1]   错误,故认为此错误是由于业务系统导致的,同数据库没有关系。

5  解决方法

   1 业务系统调整终端时间,使终端时间正常,不能将数据插入到未来的某一天,此 ORA-600 报错应该就可以解决。

   2 业务系统调整业务系统代码,使用条件过滤,避免插入数据到未来的某一天。

  3 将 TEST _USER. TEST _HIS表后续所有要使用的分区都提前创建好,可以避免此问题。但不建议使用此方法。



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

请登录后发表评论 登录
全部评论
本人目前就职于北京海天起点技术服务股份有限公司,从事Oracle数据库有十几年了,对Oracle及goldengate比较精通。

注册时间:2021-03-11

  • 博文量
    60
  • 访问量
    68954