ORA-29861:domain index is marked LOADING/FAILED/UNUSABLE

10-05-2018 12:19 AM
Occasional Contributor


We recently migrated our Oracle geodatabase from AIX to Oracle Linux platform. The geodatabase version is 10.4.1. We're using SDO_Geometry as our spatial type. While doing our database checks, we encountered an error while doing a reconcile/post.

As per our versioning framework, we have SDE.Default as the top version in hierarchy. Below that, we have 3 user schema versions - Schema1.ADMIN, Schema2.Admin, Schema3.Admin , all of them are children of SDE.Default.

Now under each schema admin version we have further children which are the user versions. So for example, we have a version Schema1.User1 which is child of Schema1.ADMIN, which in turn is child of SDE.Default.

Now in the migrated database, we did some edits in Schema1.User1 version, which were successfully reconciled and posted to Schema1.ADMIN. The error has come when we do reconcile and post from Schema1.ADMIN to SDE.Default. Here reconcile still works, it is in the post that we get this error.

The ESRI article in the link given below is applicable for ArcSDE 9.2-9.3.1 and for ST_Geometry. In our case we do not have ArcSDE, we have ESRI Geodatabase 10.4.1 and enabled SDO_Geometry.

Error: ORA-29861: domain index is marked LOADING/FAILED/UNUSABLE 


What could be the cause of this? Is it related to tablespace or something else?



0 Kudos
4 Replies
Esri Frequent Contributor

It may be related to the domain index on the "GDB_*" table that is invalid. Run the following SQL to verify the indexes

col index_name for A20
col table_name for A15
col index_type for A10
col domidx_status for A13
col domidx_opstatus for A15
select index_name, table_name, index_type, domidx_status, domidx_opstatus from user_indexes where index_type='DOMAIN' order by 1;

- If the index is INVAILD, drop and rebuild it.

--- George T.
Occasional Contributor

Thanks George.

I ran the SQL logging in as SDE user and this is the result in our staging database.

Looks like all are valid. However, now we have a strange observation. Now when we do a reconcile/post to SDE.DEFAULT the error is not coming. But when we run "Synchronize Changes" python script to replicate the data updates from our staging database to consumption database, we are getting the error as given below.

Synchronisation Started at Time 2018-10-08 10:50:58.501000

Source SDE = [Our staging database SDE connection]

Replication ID = [Our replica name]

Target SDE = [Our consumption database SDE connection]

Exception caught at :2018-10-08 10:51:14.283000

Code = 1 (FAILURE), Underlying DBMS error [ORA-29861: domain index is marked LOADING/FAILED/UNUSABLE]

Error on Line 86

Replica Synchronisation Failed for Site Area

Code = Underlying DBMS error [ORA-29861: domain index is marked LOADING/FAILED/UNUSABLE]


Now I ran the same SQL query in our consumption database, and I see there is an index which is in FAILED state.

How to drop and rebuild this index? Also our staging database is versioned, while consumption is non-versioned.

Thanks for your help.



0 Kudos
Esri Frequent Contributor

You could try something like this:

SQL> select dbms_metadata.get_ddl('INDEX','A1_IX1','SDE')||chr(10)||'/' from dual;

SQL> Drop Index

SQL> Recreate Index using the ddl from above

--- George T.
New Contributor
In my case, the index error was presented as "failed" in the table GDB_ITEMS, 
and I solve it, only by deleting the index without trying to create it again

0 Kudos