oracle数据库无法显示图层,ArcMap 无法在Oracle中创建图层案例
最近同事在客戶的現(xiàn)場使用ArcMap無法創(chuàng)建圖層的問題,簡單記錄一下處理過程。
軟件版本環(huán)境是:
ArcGIS Desktop 10.2.1
Oracle 11.2.0.4
由于保密原因,無法提供錯誤截圖,只能提供錯誤代碼。
錯誤代碼為ora-29881
[oracle@bigdataserver ~]$ oerr ora 29881
29881, 00000, "failed to validate indextype"
// *Cause: Indextype cannot be compiled.
// *Action : Try to compile the indextype which is referenced by
// the domain index.
是indextype出的問題,因此首先想到是創(chuàng)建圖層后要創(chuàng)建空間索引,空間索引為域索引,其indextype為st_spatial_index.
建議先對其進(jìn)行重新編譯:
SQL> alter indextype st_spatial_index compile;
Indextype altered.
正常重新編譯后,同事反饋問題依然存在。
因此問題不在這個indextype身上,應(yīng)該是別的indextype有問題,建議同事查詢用戶下的無效對象
SQL> select object_name,object_type from user_objects where status='INVALID';
同事反饋返回四條記錄,分別是:
XMLDOCIX4_TX
XMLDOCIX3_TX
XMLDOCIX2_TX
XMLDOCIX1_TX
并且類型都是索引。
接著讓同事使用alter index xmldocix1_ix rebuild;重建索引結(jié)果也報ora-29881。至此問題找到了,是這四個索引導(dǎo)致。
繼續(xù)查看這四個索引的定義:
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索引,是用來進(jìn)行全文檢索的索引。
繼續(xù)讓同事查看CONTEXT是否是正常的。
SQL> select status from all_objects where owner='CTXSYS' and object_type='INDEXTYPE' and object_name='CONTEXT'; STATUS -------
VALID
同事反饋的結(jié)果是VALID,那就是CONTEXT本身的問題,就是索引本身由于不明原因?qū)е率Я恕=ㄗh同事將這四個索引刪除后重建。
刪除后重建問題解決。
文章來源:http://blog.csdn.net/liufeng1980423/article/details/62881240
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的oracle数据库无法显示图层,ArcMap 无法在Oracle中创建图层案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果8支持5g网络吗
- 下一篇: linux添加静态网关route文件,详