ArcCatalog: "Failed to process XML dara, possibly due to data corruption"

1379
16
05-08-2014 03:37 PM
EdwardBlair
Occasional Contributor
My machine running and Oracle SDE database recently crashed.   On starting it back up I try to open any of the feature classes and get the message:

"Failed to edit the selected objects(s).
Failed to process XML data, possibly due to corruption"

Can this be repaired?  Any suggestions would be much appreciated.

Thanks,
Ed
0 Kudos
16 Replies
EdwardBlair
Occasional Contributor
A little more information on this.

There are four datasets in the database.  Only one of them has this problem.   The other four seem to be OK.  The dataset with the problem had a participating feature class present in an ArcMap session when the computer crashed.

Ed
0 Kudos
WilliamCraft
MVP Regular Contributor
Hi again, Ed.  I'm not sure if I'll be much help on this one, but let's see if we can at least try to get some more error reporting.  A few questions first though...

Which version of Oracle?
Which version is the geodatabase?
Which version of ArcGIS Desktop?
Which operating systems are involved? 

One quick thing I'd like to verify is if you can actually query the tables in Oracle after making a SQLplus connection.  Open up a command prompt (I'm going to assume you're on Windows) and type the following; then let me know if the query returns a result:

SQLPLUS username/password@DATABASENAME
SELECT * FROM SDE.VERSION;
0 Kudos
WilliamCraft
MVP Regular Contributor
Now that you've posted the additional info, can you disconnect all sessions from your geodatabase and then run the following queries in SQLplus and post the results?

SELECT * FROM SDE.SDE_TABLE_LOCKS;
SELECT * FROM SDE.SDE_LAYER_LOCKS;
SELECT * FROM SDE.SDE_OBJECT_LOCKS;
SELECT * FROM SDE.SDE_STATE_LOCKS;
0 Kudos
EdwardBlair
Occasional Contributor
Thanks for jumping in..

Oracle 11.2.0.1
ArcGIS 10.1 SP1
Everything's on one machine.. Windows 7

The query returns one row. 

MAJOR 10
MINOR 1
etc.

Ed
0 Kudos
EdwardBlair
Occasional Contributor
Here are the query results:

SQL> select * from sde.table_locks;

    SDE_ID REGISTRATION_ID L LOCK_TIME                                                                                                                                                                 
---------- --------------- - ---------                                                                                                                                                                 
    447312             162 S 08-MAY-14                                                                                                                                                                 
    447312             163 S 08-MAY-14                                                                                                                                                                 
    447312             164 S 08-MAY-14                                                                                                                                                                 
    447312             165 S 08-MAY-14                                                                                                                                                                 
    447312             166 S 08-MAY-14                                                                                                                                                                 
    447312             167 S 08-MAY-14                                                                                                                                                                 
    447312             168 S 08-MAY-14                                                                                                                                                                 
    447312             169 S 08-MAY-14                                                                                                                                                                 
    447312             170 S 08-MAY-14                                                                                                                                                                 
    447312             171 S 08-MAY-14                                                                                                                                                                 
    447312             172 S 08-MAY-14                                                                                                                                                                 
   <Many more rows>                                                                                                                                                               

110 rows selected.

SQL> select * from sde.layer_locks;

no rows selected

SQL> select * from sde.object_locks;

no rows selected

SQL> select * from sde.state_locks;

    SDE_ID   STATE_ID A L LOCK_TIME                                                                                                                                                                    
---------- ---------- - - ---------                                                                                                                                                                    
    447312     149542 N S 08-MAY-14
0 Kudos
WilliamCraft
MVP Regular Contributor
Ok, let's do this... restart your Oracle database:

SQLPLUS SYS/password@DATABASENAME as sysdba
SHUTDOWN IMMEDIATE
STARTUP


Once the database is back up, make sure there are no ArcGIS connections from any clients including services.  You need to be absolutely sure there are no user or service connections.  Then re-run those 4 queries against the locks tables and let me know if the results are different.
0 Kudos
EdwardBlair
Occasional Contributor
I did the shutdown and start-up (through I usually do this through the Sevices applet) so it took me a bit.

Queries returned the same results as before.

Ed
0 Kudos
WilliamCraft
MVP Regular Contributor
Ok, thanks.  Make a connection to your geodatabase now using ArcCatalog as the SDE user.  Once connected, right click the connection, open the Administration menu and pick Administer Geodatabase.  When the Admin UI opens, select the Locks tab and check if any locks are listed.  If they are (other than yours), right click then and pick Disconnect User.  Let me know the results.
0 Kudos
EdwardBlair
Occasional Contributor
Clicking on the "Locks" tab actually throws the error message "Failed to process XML data, possibly due to data corruption".

On dismissing the error message the list is empty -- if that means anything.
0 Kudos