资讯专栏INFORMATION COLUMN

Oralce 11G 空间数据异常打印大量cdmp trace文件

IT那活儿 / 2678人阅读
Oralce 11G 空间数据异常打印大量cdmp trace文件
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

问题现象

检查数据库日志发现多次告警“ORA-00600: internal error code, arguments: [kdsgrp1]”,RAC双节点库日志都有该报错。数据库运行正常且负载很低。但是数据库一直打印cdmp trace文件,一天的日志量有几十G。
节点2日志报错:

Wed Aug 20 14:06:50 2022
Errors in file /oracle/app/oracle/diag/rdbms/ywxt/ywxt2/trace/ywxt2_ora_59862.trc  (incident=1208525):
ORA-00600: internal error code, arguments:
 [kdsgrp1], [], [], [], [], [], [], [], [], [], [], []


问题分析

分析ywxt2_ora_59862.trc文件文件可以看到,发生问题的Current sql是如下的查询语句。并且从Trace文件可以看到,发生破损的文件号和Block号。
通过日志分析怀疑表数据有问题,一方面怀疑是逻辑损坏,表中数据有问题,另外一方面怀疑物理损坏,内存或者磁盘有问题导致的
部分报错日志和SQL:

*** 2022-08-19 10:05:19.829
row 0x0a6a4b9c.19 continuation at
0x0a6a4b9c.19 file# 41 block# 2771868 slot 25 not found 《----- file# 41 block# 2771868 not found
KDSTABN_GET: 0 ..... ntab: 1
curSlot: 25 ..... nrows: 39
kdsgrp - dump CR block dba=0x0a6a4b9c
Block header dump: 0x0a6a4b9c
Object id on Block? Y
seg/obj: 0x1ca0c csc: 0x2a.5e206ae9 itc: 2 flg: E typ: 1 - DATA
brn: 0 bdba: 0xa6a4b80 ver: 0x01 opc: 0
inc: 0 exflg: 0

Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x018e.005.001e0977 0x1d401e36.7073.11 --U- 1 fsc 0x0000.84da8603
0x02 0x06a7.020.000d23ad 0x20c2c6f3.6c1e.09 --U- 1 fsc 0x0007.5e206b67
bdba: 0x0a6a4b9c

ObjectName:  Name=SELECT OBJECTID, ENTITYID, METACATEGORY, VIEWLABEL, DRAWFLAG, SHAPE, CREATOR_ID, CREATE_DATE, MODIFIER_ID, MODIFY_DATE, VERSION, SHARDING_ID, REGION_ID, PROJECT_ID, LIFE_STATE_ID, SOURCE_ID, SOURCE_TABLE, IS_PROTECTION_ID, SITE_TYPE_ID, SITE_DEVICE_TYPE, IRMS.X_GIS_POINTSITE.SE_ANNO_CAD_DATA FROM IRMS.X_GIS_POINTSITE WHERE mdsys.sdo_filter(IRMS.X_GIS_POINTSITE.SHAPE, MDSYS.SDO_GEOMETRY(:gtype1,:srid1,NULL,:elem_info1,:ordinates1), querytype=window) = TRUE AND (( ( ( ( SHARDING_ 
         FullHashValue=5ad82e7688f2b341fe75c70cd788cf75 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=3616067445 OwnerIdn=96

SELECT OBJECTID, ENTITYID, METACATEGORY, VIEWLABEL, DRAWFLAG, SHAPE, CREATOR_ID,
CREATE_DATE, MODIFIER_ID, MODIFY_DATE, VERSION, SHARDING_ID, REGION_ID, PROJECT_ID,
LIFE_STATE_ID, 0, SOURCE_ID, SOURCE_TABLE, MAP_LENGTH, CABLE_TYPE_ID,
IRMS.X_GIS_LINECABLESEG.SE_ANNO_CAD_DATA FROM IRMS.X_GIS_LINECABLESEG WHERE
mdsys.sdo_filter(IRMS.X_GIS_LINECABLESEG.SHAPE, MDSYS.SDO_GEOMETRY(:gtype1,:srid1,NULL,:elem_info1,:ordinates1),
querytype=window) = TRUE AND (( ( SHARDING_ID = 561 AND ( 1 = 1 OR LIFE_STATE_ID IS NULL)) ) AND
( METACATEGORY =OCABLESECTION ))


问题排查

3.1 排查物理损坏

排查主机和数据库监控及日志没有任何物理损坏报错信息,效验数据库数据文件也没有发现异常,暂时排除物理损坏。
3.2 排查逻辑损坏
排查发现只有查询表(IRMS.X_GIS_POINTSITE、IRMS.X_GIS_LINECABLESEG)空间数据字段shape会有报错ORA-00600。怀疑shape字段数据出现问题。
3.3 shape字段数据效验
Oracle数据库对于空间数据有两个效验脚本,可以通过以下脚本进行效验,2个脚本都要执行:
  • 脚本1:
    注意:需要在业务表当前用户下执行该脚本。
select OBJECTID, a.valid "Error"
from (select OBJECTID , sdo_geom.validate_geometry_with_context(shape,m.diminfo) Valid
from IRMS.X_GIS_POINTSITE, user_sdo_geom_metadata m
where m.table_name = X_GIS_POINTSITE and m.column_name = SHAPE) a
where a.valid != NULL
and   a.valid != TRUE
/
  • 脚本2:
    注意:如果数据有效,只会显示Rows Processed 信息,其他信息为异常。
spool check_valid_geometries.lst
create table val_results (sdo_rowid ROWID, result VARCHAR2(2000));
exec sdo_geom.validate_layer_with_context(IRMS.X_GIS_POINTSITE,SHAPE,VAL_RESULTS);
select * from VAL_RESULTS;
spool off
检查发现表(IRMS.X_GIS_POINTSITE)18行异常数据和表(IRMS.X_GIS_LINECABLESEG)119行数据出现异常,异常表的rowid发给开发进行数据处理。

问题定位及解决:

开发修正表(IRMS.X_GIS_POINTSITE、IRMS.X_GIS_LINECABLESEG)数据并重建索引后,ORA-00600不再出现,问题解决。问题确定空间数据有问题引起的报错


本文作者:付青启(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129116.html

相关文章

  • DBASK问答集萃(2)

    摘要:新晋技术专家下面是墨天轮部分新晋的技术专家。大家可以点击往期阅读墨天轮技术专家邀请函了解详情,申请成为我们的技术专家,加入专家团队,与我们一起创建一个开放互助的数据库技术社区。新关联公众号墨天轮是一个开放互助的数据库技术社区。 引言 近期我们在DBASK小程序增加了数据库 MongoDB、Redis、 Elasticsearch、DB2、Weblogic 等新的的专题栏目和一些新的技术...

    liuchengxu 评论0 收藏0
  • Oracle 11g数据库安装和卸载教程

    摘要:开始程序安装产品卸装所有产品,但本身不能被删除如果第二步执行失败,跳到第三步,大部份第二步是失败的运行,选择,按键删除这个入口。下所有删除下所有删除下所有删除运行,下所有删除,删除所有入口。在运行框中输入,回车。 Oracle11g的安装教程 同时解压缩两个zip文件,生成一个database文件夹,进入到database文件夹,点击setup showImg(https://segm...

    stormgens 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<