ERROR

Cannot insert features - Limit for 'Max# of ordinates in the SDO_ORDINATES varray has been reached

Last Published: March 28, 2024

Error Message

When copying a feature class containing features with a high number of vertices into an Oracle Enterprise geodatabase and storing the data using SDO_Geometry as the spatial storage type, the following error is returned, as shown in the image below:

Error 000224: Cannot insert features - Limit for 'Max# of ordinates in the SDO_ORDINATES varray has been reached [OCI-22165: given index [1048576] must be in the range of [0] to [1048575]

Image_2023-02-06_15-17-45.png

Cause

The maximum SDO_ORDINATE_ARRAY size in Oracle is 1,048,576 and the data being copied into the geodatabase using SDO geometry exceeds the limit. For 2D data, there can be (1048576 - 1)/2 (about 524,287) vertices in a single SDO_GEOMETRY.

Solution or Workaround

On the Oracle database server, there is a script located at Windows: @%ORACLE_HOME%\md\admin\sdoupggeom.sql that can be used to increase the size of ordinate arrays to support very large geometries. More details on running the script can be found in the article Increasing the Size of Ordinate Arrays to Support Very Large Geometries. The script increases the VARRAY limit from 1048576 to 1000000, as shown below:

alter type mdsys.sdo_ordinate_array modify limit 10000000 cascade;

Image_2023-02-06_15-55-31.png

Article ID:000032169

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Related Information

Discover more on this topic