For example, the error is generally caused by spatial indexes or incorrect data objects.
-- ORA-29902: An error occurred while executing the odciindexstart () Routine
Select/* B. gwm_fid, B. gwm_fno, B. gwm_vno, A. gwm_tileid tileid, B. districtid */count (1)
From gs_tile_p A, vi_building_p B
Where B. gwm_vno = 26127
And B. deletetag = 0
And B. gwm_status = 0
And sdo_relate (A. gwm_geometry, B. gwm_geometry, 'mask = anyinteract ') =
'True'
The cause of this problem is that there is a record with the geometry object being null in the table.
How to identify this problem: using the data bipartite method, gradually narrowing down the data scope, and finally locating the problematic data
Solution: delete a record with an empty geometry.
-- ORA-29903: Error in executing odciindexfetch () Routine
Select B. gwm_fid, B. gwm_fno, B. gwm_vno, A. gwm_tileid tileid, B. districtid
From gs_tile_p A, vf_fiber resegment_l B
Where B. gwm_vno = 25441
And B. deletetag = 0
And B. gwm_status = 0
And sdo_relate (A. gwm_geometry, B. gwm_geometry, 'mask = anyinteract ') =
'True'
And B. gwm_fid in (52217527,52217529)
These data entries are faulty, but cannot be found.
Verify Data Validity
Select C. gwm_fid,
C. Name,
Sdo_geom.validate_geometry_with_context (C. gwm_geometry, 0.005)
From vf_fibresegment_l C
Where C. gwm_fid in (52217527,522 17529 );
Analysis showed that the error 13356 [element <1>] [Coordinate <8>] occurred, that is, ora-1356: there are repeated vertex values.
If you want to verify the entire layer, use the validate_layer_with_context function.
-- Delete the repeated vertex sdo_util.remove_duplicate_vertices
Update f_fibresegment_l t
Set T. gwm_geometry =
(Select sdo_util.remove_duplicate_vertices (A. gwm_geometry, 0.005)
From f_fibresegment_l
Where a. gwm_fid in (52217527,522 17529)
And a. gwm_fid = T. gwm_fid)
Where T. gwm_fid in (52217527,522 17529 );
Verify that all images are valid again, but the analysis still cannot be performed,Problem persists
Analyze one of the data again, find the location of the error, and then find another analysis that has been analyzed before. This error is also prompted. Suddenly realized that the index of the base table gs_tile_p used for analysis had a problem.
It is easy to find the problem and reconstruct the spatial index of the table.
Alter index rebuild index_name online;
After reconstruction, the above statement is analyzed again.
There is no doubt that the gs_tile_p tablespace index is faulty because it is okay to analyze a lot of other data. I didn't expect the spatial index to be partially faulty.