On a customer site we are getting the error below when we are trying to create an spatial index. On our own database 10.2.0.4 and DB nls_numeric_characters '.,' we do not have any problems creating the index.
SQL> create index geo_punkt2d_i
2 on geodaten (GEO_PUNKT2D)
3 indextype is mdsys.spatial_index
create index geo_punkt2d_i
FEHLER in Zeile 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error initializing geodetic transform
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
In the sdo_geom_metadata table is the following entry
There is a bug in Metalink (5117577) which is related to this old DB Version but I cannot see any relation to my problem.
The error might have something to do with the setting of nls_numeric_characters (,.), but I do not know, what the create index might have to do with that.
Sorry, I didn't mention, yes I checked that. It is in cs_srs
select * from mdsys.cs_srs where srid = 4326
"WGS 84";4326;4326;"EPSG. See 3D CRS for original information
source.";"GEOGCS [ "WGS 84", DATUM ["World Geodetic System 1984 (EPSG ID
6326)", SPHEROID ["WGS 84 (EPSG ID 7030)", 6378137, 298,257223563]],
PRIMEM [ "Greenwich", 0.000000 ], UNIT ["Decimal Degree",
0.01745329251994328]]";"(; ; ; ; )"
Then you can alter session set NLS_NUMERIC_CHARACTERS = '.,' to see if it is really caused by ',.'
But the problem is 10.2.0.2 is a little bit old. Not sure if you will get a 10.2.0.2 patch if this is a bug.
it is not the db version. It is a wrong entry in cs_srs.
ALTER SESSION SET NLS_TERRITORY=AMERICA
alter trigger MDSYS.CS_SRS_TRIGGER disable;
update cs_srs set wktext = MDSYS.sdo_cs.internal_det_srid_wkt(4326) where srid = 4326;
alter trigger MDSYS.CS_SRS_TRIGGER enable;
select wktext from cs_srs where srid = 4326;
will correct hte fault. (solution found on : http://database.itags.org/oracle/204386/)