暂无图片
暂无图片
暂无图片
暂无图片
1
暂无图片

创建空间索引时遇到的ORA-29855

原创 杨金福 云和恩墨 2021-11-14
2864

EBS XTTS跨平台迁移,\创建空间索引时遇到的ORA-29855

过程描述:
CREATE INDEX "MST"."MST_MD_ADM_BNDS_N1" ON "MST"."MST_MD_ADMIN_BOUNDARIES" ("GEOMETRY") INDEXTYPE IS "MDSYS"."SPATIAL_INDEX";
*
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10

问题分析:
(1)使用以下语句查看创建索引结果:
select index_name,table_owner,table_name,status,ityp_owner,ityp_name,domidx_status,domidx_opstatus
from dba_indexes where index_name='MST_MD_ADM_BNDS_N1';
DOMIDX_OPSTATUS对应的为FAILED,说明创建空间索引失败。
使用drop index "MST"."MST_MD_ADM_BNDS_N1" 删除索引
(2)使用以下语句查看相应元数据:
select * from mdsys.sdo_geom_metadata_table where sdo_table_name='MST_MD_ADMIN_BOUNDARIES';
原因:
当时创建空间表时没有创建相应的空间元数据。
解决办法:
(1)先在mdsys.sdo_geom_metadata_table中使用以下语句创建相应的元数据
insert into mdsys.sdo_geom_metadata_table
(sdo_owner, sdo_table_name, sdo_column_name, sdo_diminfo, sdo_srid)
values
('MST',
'MST_MD_ADMIN_BOUNDARIES',
'GEOMETRY',
mdsys.sdo_dim_array(mdsys.sdo_dim_element('X', -180, 180, 0.000005),
mdsys.sdo_dim_element('Y', -90, 90, 0.000005)),
'');
(2)再执行空间索引创建语句,问题得到解决。
总结:
  在创建空间索引时先创建相应的元数据。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

墨天轮福利君
暂无图片
3年前
评论
暂无图片 0
您好,您的文章中有SQL语言,可以查看markdown使用手册调整一下格式:https://www.modb.pro/db/21858
3年前
暂无图片 点赞
评论