java.sql.SQLException: ORA-08102

数据库引发的错误通常都比较严重,而且是大规模的

有次客户反映Windchill中对模型的检入、检出、撤消检出等操作都频繁第失败,需要多次尝试才能成功

查看MethodServer日志后发现如下错误:

java.sql.SQLException: ORA-08102: 未找到索引关键字

ORA-08102的错误其实能Google出一大堆,其实就是索引损坏了,重建下索引就OK了

其实在java.sql.SQLException: ORA-08102报错信息中会指明具体是哪个SQL语句所引起的,例如撤消检出时的报错为:

Nested exception is: wt.pom.DatastoreException: A SQL error has occurred for the statement "DELETE  FROM EPMReferenceLink  WHERE (idA2A2 IN (SELECT /*+ CARDINALITY(wtot 1300) */ * FROM TABLE(cast(? as TABLE_OF_NUMBER)) wtot WHERE (ROWNUM > 0) AND (column_value IS NOT NULL)))". 

而从SQL语句中就可以找到具体出问题的表名,例如这里是EPMReferenceLink 

接下来就是去数据库查看该表的有哪些索引,然后重建这些索引,在本例中,重建语句为:

alter index EPMREFERENCELINK$COMPOSITE4 rebuild; 
alter index EPMREFERENCELINK$COMPOSITE1 rebuild; 
alter index EPMREFERENCELINK$COMPOSITE0 rebuild;
alter index PK_EPMREFERENCELINK rebuild;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值