问题现象
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], [], [], [], [], [], [], [], [], [], [], []
问题分析
*** 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 排查物理损坏
脚本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 <n> 信息,其他信息为异常。
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
问题定位及解决:

本文作者:付青启(上海新炬中北团队)
本文来源:“IT那活儿”公众号





