English

Bug: Attempting to enable geodatabase archiving for a feature class in Oracle stored as st_geometry encounters a -51 underlying DBMS error

Description

When attempting to enable geodatabase archiving for a feature class in Oracle stored as st_geometry, a -51 underlying DBMS error can be encountered.

This error is only encountered if the feature class being archive-enabled was previously migrated from SDEBINARY or Oracle Spatial and the feature class contains mixed low and high precision geometries.

Newly created feature classes in Oracle stored as st_geometry do not encounter this error because all the data is stored in high precision.

Cause

Executing the Geoprocessing Migrate Storage tool or the sdelayer -o migrate command to migrate an SDEBINARY or Oracle spatial feature class that has a mixed precision, results in the migrated feature class with mixed precision.

To detect if a feature class has mixed precision, execute the sdelayer -o describe command. This example demonstrates describing a feature class named 'parcels', stored as SDEBINARY with the SDELOB type prior and after being migrated to st_geometry.

Code:
C:\>sdelayer -o describe -u forrest -p forrest -i 5151 -l parcels,shape -s server

ArcSDE 9.3.1 for Oracle10g Build 315 Thu Feb 12 12:00:43 2009
Layer Administration Utility
-----------------------------------------------------
Table Owner : FORREST
Table Name : PARCELS
Spatial Column : SHAPE
Layer id : 874
Entities : a+
Layer Type : SDE-LOB
I/O Mode : NORMAL
Autolocking : Enabled
Precision : High (Mixed)
User Privileges : SELECT, UPDATE, INSERT, DELETE
Layer Configuration: SDELOB


After the migration, describing the same feature class with the sdelayer -o describe command returns the following information,

Code:
C:\>sdelayer -o describe -u forrest -p forrest -i 5151 -l parcels,shape -s server

ArcSDE 9.3.1 for Oracle10g Build 315 Thu Feb 12 12:00:43 2009
Layer Administration Utility
-----------------------------------------------------
Table Owner : FORREST
Table Name : TEST4
Spatial Column : SHAPE
Layer id : 874
Entities : a+
Layer Type : Extended SQL Type
I/O Mode : NORMAL
Autolocking : Enabled
Precision : High (Mixed)
User Privileges : SELECT, UPDATE, INSERT, DELETE
Layer Configuration: ST_GEOMETRY

After the migration, the feature class should report the precision to be just high, not mixed.

Workaround

To enable archiving requires the class to be unregistered as versioned, and be reloaded by copying and pasting the data to a new feature class.

The new feature class then has its precision set to 'high'.