[GeoNetwork-users] need to explain how sapatial index work in geonetwork 2.10.3 with oracle database

Hello,

I need to understand how does geonetwork spatial index work with oracle database.
And also like to know if it's a bad thing to load data for geonetwork in the oracle database metadata table with plsql script calling the xml file instead of using the geonetwork import functionality.

Here is why ?

After loading the data in the database we are starting the tomcat instance on which geonetwork apps is install, and after that when geonetwork see that the index is not the same between the database and the geonetwork server. He start to reindex everything.

So I like to know how the spatial index is create and if it's geonetwork that does that ?

Because when I check into the catalina.out log I got this kinf of error :

2017-05-31 10:09:24,085 ERROR [geonetwork.index] - Failed to properly index geometry of metadata 2475. Error: Error inserting features
java.io.IOException: Error inserting features
        at org.geotools.jdbc.JDBCDataStore.insert(JDBCDataStore.java:1468)
        at org.geotools.jdbc.JDBCDataStore.insert(JDBCDataStore.java:1401)
        at org.geotools.jdbc.JDBCInsertFeatureWriter.write(JDBCInsertFeatureWriter.java:76)
        at org.geotools.data.InProcessLockingManager$1.write(InProcessLockingManager.java:337)
        at org.geotools.data.store.ContentFeatureStore.addFeature(ContentFeatureStore.java:291)
        at org.geotools.data.store.ContentFeatureStore.addFeatures(ContentFeatureStore.java:245)
        at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.index(SpatialIndexWriter.java:172)
        at org.fao.geonet.kernel.search.SearchManager.indexGeometry(SearchManager.java:712)
        at org.fao.geonet.kernel.search.SearchManager.index(SearchManager.java:695)
        at org.fao.geonet.kernel.DataManager.indexMetadata(DataManager.java:581)
        at org.fao.geonet.kernel.DataManager$IndexMetadataTask.run(DataManager.java:401)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLSyntaxErrorException: ORA-00957: duplicate column name

I need to understand the way geonetwork is working with the oracle database to be able to throubleshoot this one.

Best regards,

Stephane L.