ORA-08103:object no longer exists異常排查過程及解決
項(xiàng)目場(chǎng)景
最近排查線上問題時(shí),發(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)行持久操作時(shí)找不到某個(gè)對(duì)象,具體地說,就是表或視圖不能因?yàn)橐呀?jīng)丟失或被刪除,但是還有指向它的對(duì)象的句柄。
在開發(fā)數(shù)據(jù)庫(kù)過程中,很可能會(huì)碰到這個(gè)錯(cuò)誤,這個(gè)錯(cuò)誤是由于表或視圖被刪除或不存在,但是SQL查詢還是鏈接到該表或視圖。
ORA-08103: 對(duì)象不再存在
結(jié)合文檔解釋,去數(shù)據(jù)庫(kù)排查。發(fā)現(xiàn)那張臨時(shí)表數(shù)據(jù)量比較大,有訪問壓力后,表被人truncate了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
oracle數(shù)據(jù)匹配merge into的實(shí)例詳解
這篇文章主要介紹了oracle數(shù)據(jù)匹配merge into的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10
oracle數(shù)據(jù)庫(kù)ORA-01196錯(cuò)誤解決辦法分享
這篇文章主要介紹了oracle數(shù)據(jù)庫(kù)ORA-01196錯(cuò)誤解決辦法分享,小編覺得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。2017-10-10
Oracle數(shù)據(jù)庫(kù)產(chǎn)重啟服務(wù)和監(jiān)聽程序命令介紹
大家好,本篇文章主要講的是Oracle數(shù)據(jù)庫(kù)產(chǎn)重啟服務(wù)和監(jiān)聽程序命令介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
Oracle數(shù)值型函數(shù)之CEIL(x)函數(shù)的使用
本文詳細(xì)介紹了Oracle數(shù)據(jù)庫(kù)中的CEIL(x)函數(shù),該函數(shù)用于向上取整,返回大于或等于x的最小整數(shù),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-07-07
Oracle自我補(bǔ)充之trunc()函數(shù)的使用方法
TRUNC函數(shù)為指定元素而截去的日期值。下面通過本文給大家介紹Oracle自我補(bǔ)充之trunc()函數(shù)的使用方法,感興趣的朋友一起看看吧2017-06-06
Oracle數(shù)據(jù)庫(kù)移植到KingbaseES的全流程
在國(guó)產(chǎn)化替代浪潮下,將Oracle數(shù)據(jù)庫(kù)遷移至KingbaseES(金倉(cāng)數(shù)據(jù)庫(kù))已成為眾多企業(yè)的選擇 ,KingbaseES作為Oracle兼容版數(shù)據(jù)庫(kù),通過原生支持大量Oracle特性,大幅降低了遷移難度,下面我們就來從Oracle到KingbaseES的完整遷移流程,需要的朋友可以參考下2025-09-09
Oracle round()函數(shù)與trunc()函數(shù)區(qū)別介紹
本文將詳細(xì)介紹Oracle round()函數(shù)與trunc()函數(shù)區(qū)別,需要了解的朋友可以參考下2012-11-11

