Erro
| Número de ID do Erro | BUG-000136908 |
|---|---|
| Enviado | January 21, 2021 |
| Última Modificação | July 10, 2025 |
| Aplica-se à | ArcSDE/Enterprise Geodatabase |
| Versão encontrada | 10.8.1 |
| Sistema Operacional | N/A |
| Versão do Sistema Operacional | N/A |
| Status | Will Not Be Addressed |
Note: both workarounds need confirmation from development before using.
Workaround 1: Reset the ST_DOMAIN_METHODS type after the 1st upgrade attempt.
1. Query the DBA_TYPE_VERSIONS table as sys to see the edits made to 'ST_DOMAIN_METHODS' that are raising the evloved type Oracle error.
SELECT * FROM DBA_TYPE_VERSIONS
WHERE Owner = 'SDE'
AND TYPE_Name = 'ST_DOMAIN_METHODS'
2. As the SDE user upgrade the geodatabase to ArcGIS 10.8.1 which is expected to fail.
3. In sqlplus as SDE alter the ST_DOMAIN_METHODS type to reset the version back to 1:
alter TYPE SDE."ST_DOMAIN_METHODS" reset
/
4. Query the DBA_TYPE_VERSIONS table as sys to see the decrease of the entries for the 'ST_DOMAIN_METHODS' and now there are 136 records.
SELECT * FROM DBA_TYPE_VERSIONS
WHERE Owner = 'SDE'
AND TYPE_Name = 'ST_DOMAIN_METHODS'
5. As the SDE user upgrade the geodatabase to ArcGIS 10.8.1 which successful this 2nd time.
Workaround 2: Drop and recreate the sde.ST_SPATIAL_INDEX indextype and the ST_DOMAIN_METHODS and ST_DOMAIN_STATS types.
1. Drop the existing ST_GEOMETRY spatial indexes in the SDE and Data (COB) Owner schemas.
2. Get the ddl of the ST_SPATIAL_INDEX indextype:
select dbms_metadata.get_ddl('INDEXTYPE','ST_SPATIAL_INDEX','SDE') from dual;
DBMS_METADATA.GET_DDL('INDEXTYPE','ST_SPATIAL_INDEX','SDE')
--------------------------------------------------------------------------------
CREATE OR REPLACE INDEXTYPE "SDE"."ST_SPATIAL_INDEX" FOR
"SDE"."ST_BUFFER_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", NUMBER),
"SDE"."ST_CROSSES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER, VARCHAR2),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2),
"SDE"."ST_EQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_ORDERINGEQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_OVERLAPS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_RELATE" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2),
"SDE"."ST_TOUCHES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_WITHIN" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY")
USING "SDE"."ST_DOMAIN_METHODS"
WITHOUT ARRAY DML
WITH LOCAL RANGE PARTITION
3. Drop the existing ST_SPATIAL_INDEX indextype.
drop indextype sde.ST_SPATIAL_INDEX;
4. Drop the existing ST_DOMAIN_METHODS and ST_DOMAIN_STATS types.
DISASSOCIATE STATISTICS FROM PACKAGES SDE.st_domain_operators;
drop type sde.ST_DOMAIN_METHODS;
drop type SDE.ST_DOMAIN_STATS force;
5. Re-generate ST_DOMAIN_METHODS and ST_DOMAIN_STATS using the SQL Libraries that come with the ArcGIS Desktop install and grant the appropriate privileges. (Note: By default, the libraries can be found in C:\Program Files (x86)\ArcGIS\Desktop10.6\lib).
To recreate the types as SDE:
SQLPLUS sde/<password>@<host>/<db_name>
start '<lib_directory>\st_domain_stats.sts' SDE
start '<lib_directory>\st_domain_stats.stb' SDE
start '<lib_directory>\st_domain_methods.sts' SDE
start '<lib_directory>\st_domain_methods.stb' SDE
6. Grant appropriate privileges on the types:
grant EXECUTE on sde.ST_DOMAIN_METHODS to public;
grant EXECUTE on sde.ST_DOMAIN_STATS to public;
grant EXECUTE on sde.spx_util to public;
7. Re-create the ST_SPATIAL_INDEX indextype using the ddl obtained in step 2.
CREATE OR REPLACE INDEXTYPE "SDE"."ST_SPATIAL_INDEX" FOR
"SDE"."ST_BUFFER_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", NUMBER),
"SDE"."ST_CROSSES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER, VARCHAR2),
"SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2),
"SDE"."ST_EQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_ORDERINGEQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_OVERLAPS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_RELATE" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2),
"SDE"."ST_TOUCHES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
"SDE"."ST_WITHIN" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY")
USING "SDE"."ST_DOMAIN_METHODS"
WITHOUT ARRAY DML
WITH LOCAL RANGE PARTITION
8. Grant appropriate privileges on the indextype:
GRANT EXECUTE ON sde.ST_SPATIAL_INDEX TO PUBLIC;
9. Compile the SDE objects to ensure there are no invalid objects
exec sys.utl_recomp.recomp_serial('SDE');
10. Re-create the ST_GEOMETRY spatial indexes.
Execute the sql created in step 1 i.e. Create_spatial_indexes.sql
11. After recreating all the above database object types and the spatial indexes you can connect to the database first and confirm that all the indexes drawing, rebuilding and creation is successful as the data owner.
12. Once you've confirmed everything is working successfully you can connect to the geodatabase as SDE from ArcCatalog 10.8.1 and upgrade the geodatabase.
ID do Erro: BUG-000136908
Software:
Obtenha ajuda de especialistas do ArcGIS
Baixe o Aplicativo de Suporte da Esri