ArcMap 无法在Oracle中创建图层案例
来源:互联网 发布:百度地图 api 知乎 编辑:程序博客网 时间:2024/05/23 21:58
最近同事在客户的现场使用ArcMap无法创建图层的问题,简单记录一下处理过程。
软件版本环境是:
ArcGIS Desktop 10.2.1
Oracle 11.2.0.4
由于保密原因,无法提供错误截图,只能提供错误代码。
错误代码为ora-29881
[oracle@bigdataserver ~]$ oerr ora 2988129881, 00000, "failed to validate indextype"// *Cause: Indextype cannot be compiled.// *Action : Try to compile the indextype which is referenced by// the domain index.
是indextype出的问题,因此首先想到是创建图层后要创建空间索引,空间索引为域索引,其indextype为st_spatial_index.
建议先对其进行重新编译:
SQL> alter indextype st_spatial_index compile;Indextype altered.
正常重新编译后,同事反馈问题依然存在。
因此问题不在这个indextype身上,应该是别的indextype有问题,建议同事查询用户下的无效对象
SQL> select object_name,object_type from user_objects where status='INVALID';
同事反馈返回四条记录,分别是:
XMLDOCIX4_TXXMLDOCIX3_TXXMLDOCIX2_TXXMLDOCIX1_TX
并且类型都是索引。
接着让同事使用alter index xmldocix1_ix rebuild;重建索引结果也报ora-29881。至此问题找到了,是这四个索引导致。
继续查看这四个索引的定义:
SQL> select dbms_metadata.get_ddl('INDEX','XMLDOCIX1_TX','SDE') from dual;DBMS_METADATA.GET_DDL('INDEX','XMLDOCIX1_TX','SDE')-------------------------------------------------------------------------------- CREATE INDEX "SDE"."XMLDOCIX1_TX" ON "SDE"."SDE_XML_DOC1" ("XML_DOC_VAL") INDEXTYPE IS "CTXSYS"."CONTEXT"SQL> select dbms_metadata.get_ddl('INDEX','XMLDOCIX2_TX','SDE') from dual;DBMS_METADATA.GET_DDL('INDEX','XMLDOCIX2_TX','SDE')-------------------------------------------------------------------------------- CREATE INDEX "SDE"."XMLDOCIX2_TX" ON "SDE"."SDE_XML_DOC2" ("XML_DOC_VAL") INDEXTYPE IS "CTXSYS"."CONTEXT"SQL> select dbms_metadata.get_ddl('INDEX','XMLDOCIX3_TX','SDE') from dual;DBMS_METADATA.GET_DDL('INDEX','XMLDOCIX3_TX','SDE')-------------------------------------------------------------------------------- CREATE INDEX "SDE"."XMLDOCIX3_TX" ON "SDE"."SDE_XML_DOC3" ("XML_DOC_VAL") INDEXTYPE IS "CTXSYS"."CONTEXT"SQL> select dbms_metadata.get_ddl('INDEX','XMLDOCIX4_TX','SDE') from dual;DBMS_METADATA.GET_DDL('INDEX','XMLDOCIX4_TX','SDE')-------------------------------------------------------------------------------- CREATE INDEX "SDE"."XMLDOCIX4_TX" ON "SDE"."SDE_XML_DOC4" ("XML_DOC_VAL") INDEXTYPE IS "CTXSYS"."CONTEXT"
这四个索引果然也都是domain索引,是用来进行全文检索的索引。
继续让同事查看CONTEXT是否是正常的。
SQL> select status from all_objects where owner='CTXSYS' and object_type='INDEXTYPE' and object_name='CONTEXT';STATUS-------VALID
同事反馈的结果是VALID,那就是CONTEXT本身的问题,就是索引本身由于不明原因导致失效了。建议同事将这四个索引删除后重建。
删除后重建问题解决。
0 0
- ArcMap 无法在Oracle中创建图层案例
- 如何在ArcMap中创建网络分析图层
- 在ArcMap中内容列表的图层展示,图层顺序是怎么来的?
- ArcMap中可选图层的设置
- Geodatabase中的featureclass无法在ArcMap中显示的解决
- 在ArcMap或ArcCatalog中创建项目的缩略图
- arcmap中依据属性分割图层工具
- 在ArcEngine中创建内存图层
- 在ArcEngine中创建内存图层
- 在ArcMap中自定义比例尺
- 在ArcMap 10.2中进行了坐标系定义和投影转换后,若干图层在放大到某一比例尺时不再显示的问题
- 修改SDE权限造成无法在ArcMap中绘制图形的解决办法
- 为什么有些带有xy的表却无法在arcMap中展示?
- 图层组被视为普通图层--arcmap
- ArcMap 打开mdb中的图层
- arcmap 图层集数据提取
- ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接
- c# AE 创建的shp 在arcmap中放大不显示处理
- FX3/CX3 JLINK 调试
- C++---虚函数
- 首次接触Struts2框架(一)
- json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array escape
- 适配器模式
- ArcMap 无法在Oracle中创建图层案例
- gcc do_rewrite
- POJ 3253 贪心 优先队列
- 转自Code Pen的button样式
- 首次接触Struts2框架(二)
- EntityFramework初学(增删改查)
- json和jsonp
- gcc do_overlap
- C++之Map