編譯過程導致ORA-4068錯誤
一個10203上的bug,這種問題還是第一次碰到。
在10.2.0.3上,存在bug可能導致編譯過程或檢視失敗,而失敗的結果並不只是當前檢視或過程不可用,而是可能影響整個資料字典,導致儲存過程在執行時出現ORA-4068錯誤。
錯誤資訊如下:
ORA-04068: existing state of packages has been discarded.
ORA-04065: not executed, altered or dropped stored procedure P_PACKAGE.P_PRO
ORA-06508: PL/SQL: could not find program unit being called: P_PACKAGE.P_PRO
ORA-06512: at line 1
這個問題對應的BUG資訊為:Bug 6136074 - ORA-4068 / ORA-4065 ORA-6508 on VALID objects [ID 6136074.8],導致問題的原因就是編譯物件時導致PLSQL的依賴物件的時間戳發生不一致,從而導致問題的產生。
Oracle文件上給出了檢查問題的SQL語句:
select do.obj# d_obj,do.name
d_name, do.type# d_type,
po.obj# p_obj,po.name p_name,
to_char(p_timestamp,'DD-MON-YYYY HH24:MI:SS') "P_Timestamp",
to_char(po.stime ,'DD-MON-YYYY HH24:MI:SS') "STIME",
decode(sign(po.stime-p_timestamp),0,'SAME','*DIFFER*') X
from sys.obj$ do, sys.dependency$ d, sys.obj$ po
where P_OBJ#=po.obj#(+)
and D_OBJ#=do.obj#
and do.status=1 /*dependent is valid*/
and po.status=1 /*parent is valid*/
and po.stime!=p_timestamp /*parent timestamp not match*/
order by 2,1;
透過這個指令碼將獲取的物件進行重新編譯,可以解決這個問題,要避免問題的再次出現,應該將資料庫版本升級到10.2.0.4以上。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-730561/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Lombok 的@ToString導致的Maven編譯錯誤LombokMaven編譯
- 升級Xcode10導致的編譯錯誤XCode編譯
- 編譯檢視導致ORA-00600_17069錯誤編譯
- Bitcode導致的編譯報錯編譯
- 編譯錯誤導致浪費10多分鐘, 編譯錯誤的提示:xxx does not name a type xxx編譯
- C語言程式碼區錯誤以及編譯過程C語言編譯
- oracle 儲存過程不能編譯-- (編譯的同時正在訪問所導致的) [轉載]Oracle儲存過程編譯
- centos下caffe用GPU編譯搭建過程以及錯誤總結CentOSGPU編譯
- 編譯過程編譯
- [譯] RxJS: 避免因濫用 switchMap 而導致錯誤JS
- VS 編譯錯誤編譯
- ORA-03114 plsql過程編譯斷開連線錯誤SQL編譯
- Android編譯通過,執行編譯錯誤問題總結Android編譯
- Javac編譯過程Java編譯
- 編譯核心過程編譯
- 編譯器的編譯基本過程編譯
- Mysql安裝過程中CMAKE編譯出錯MySql編譯
- ipvs編譯錯誤編譯
- php編譯小錯誤PHP編譯
- 編譯PHP的錯誤編譯PHP
- Windows 下 Laravel Mix 資源編譯過程以及產生的錯誤解決WindowsLaravel編譯
- 多餘索引導致explain錯誤索引AI
- 編譯連結過程編譯
- 編譯過程簡介編譯
- C++ 編譯過程C++編譯
- cesium原始碼編譯除錯及呼叫全過程原始碼編譯除錯
- 【故障處理】因GREP“花哨”功能導致ORA-12157錯誤的排查過程
- impdp時parallel=4導致的錯誤Parallel
- opencv 編譯常見錯誤OpenCV編譯
- 攜程解釋官網癱瘓原因:員工錯誤操作導致
- 什麼會導致HTTP出現429請求過多錯誤?HTTP
- SQL SERVER 臨時表導致儲存過程重編譯(recompile)的一些探討SQLServer儲存過程編譯Compile
- 最近編譯tolua_runtime安卓編譯錯誤編譯安卓
- XFree86編譯安裝透過,startx錯誤編譯
- 又見想當然導致的誤譯
- ios底層 編譯過程iOS編譯
- 編譯器的工作過程編譯
- EVC編譯TCPMP的過程編譯TCP