ORA-08103:object no longer exists異常排查過程及解決
項目場景
最近排查線上問題時,發(fā)現(xiàn)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表示在進(jìn)行持久操作時找不到某個對象,具體地說,就是表或視圖不能因為已經(jīng)丟失或被刪除,但是還有指向它的對象的句柄。
在開發(fā)數(shù)據(jù)庫過程中,很可能會碰到這個錯誤,這個錯誤是由于表或視圖被刪除或不存在,但是SQL查詢還是鏈接到該表或視圖。
ORA-08103: 對象不再存在
結(jié)合文檔解釋,去數(shù)據(jù)庫排查。發(fā)現(xiàn)那張臨時表數(shù)據(jù)量比較大,有訪問壓力后,表被人truncate了。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Oracle關(guān)閉情況下如何修改spfile的參數(shù)
大家都知道在Oracle中pfile參數(shù)是可以手動更改的,但是spfile是二進(jìn)制文件所以不可以手動更改,但我最近遇到了一個問題,修改參數(shù)錯誤,導(dǎo)致Oracle啟動不了,一定要修改spfile該怎么辦呢?下面通過這篇文章來一起看看吧。2016-12-12
Oracle數(shù)據(jù)遷移MySQL的三種簡單方法
對于許多企業(yè)而言,遷移數(shù)據(jù)庫時最大的挑戰(zhàn)之一是如何從一個數(shù)據(jù)庫平臺順利遷移到另一個平臺,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)遷移MySQL的三種簡單方法,需要的朋友可以參考下2023-06-06
Oracle ASM故障數(shù)據(jù)恢復(fù)解決方案
在本篇文章里小編給大家整理的是關(guān)于Oracle ASM故障數(shù)據(jù)恢復(fù)解決方案以及相關(guān)知識點,有需要的朋友們參考下。2019-11-11
Oracle SQL性能優(yōu)化系列學(xué)習(xí)一
Oracle SQL性能優(yōu)化系列學(xué)習(xí)一...2007-03-03
隨機獲取oracle數(shù)據(jù)庫中的任意一行數(shù)據(jù)(rownum)示例介紹
對于rownum來說它是oracle系統(tǒng)順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽字段可以用于限制查詢返回的總行數(shù),且rownum不能以任何表的名稱作為前綴2014-07-07

