ORA-08103: object no longer exists 异常排查

项目场景:

最近排查线上问题时,发现error日志中有几条提示SQL异常


问题描述

异常提示信息如下:

 uncategorized SQLException; SQL state [72000]; error code [8103]; ORA-08103: object no longer exists
 nested exception is java.sql.SQLException: ORA-08103: object no longer exists
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88)
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
    at com.sun.proxy.$Proxy118.selectOne(Unknown Source)
    at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)

原因分析:

oracle文档解释:

ORA-08103: object no longer exists

Cause: The object has been deleted by another user since the operation began, or a prior incomplete recovery restored the database to a point in time during the deletion of the object.

Action: Delete the object if this is the result of an incomplete recovery.

ORA-08103表示在进行持久操作时找不到某个对象,具体地说,就是表或视图不能因为已经丢失或被删除,但是还有指向它的对象的句柄。在开发数据库过程中,很可能会碰到这个错误,这个错误是由于表或视图被删除或不存在,但是SQL查询还是链接到该表或视图。

ORA-08103: 对象不再存在

结合文档解释,去数据库排查。发现那张临时表数据量比较大,有访问压力后,表被人truncate了。

你可能感兴趣的:(异常问题解决,oracle)