關於ORACLE_OCM.MGMT_DB_LL_METRICS的錯誤
Errors in file /home/oracle/admin/pcard1/bdump/pcard1_j002_8968.trc:
ORA-12012: error on auto execute of job 68904
ORA-04063: ORA-04063: package body "ORACLE_OCM.MGMT_DB_LL_METRICS" has errors
ORA-06508: PL/SQL: could not find program unit being called: "ORACLE_OCM.MGMT_DB_LL_METRICS"
ORA-06512: at line 1
has errors[@more@]
對應用應該沒有什麼影響,檢查收集的統計資訊,也沒有發現什麼異常。
週五選擇了繼續觀察。
但是今早發現週末還在持續的提示中,應該就不是偶發的故障了。
通過oem找到這個物件,發現是invalid的,編譯提示錯誤。
發現是沒有訪問SYS.UTL_FILE的許可權,繼而發現有將近60個物件都是失效的。
這個資料庫上線應該有三個月了,測試到上線也有一兩個月,並沒有出現過類似的問題。
但是我最近的確收回了public使用者的sys.utl_file,一起收回的還有sys.utl_tcp sys.utl_http sys.utl_smtp,當時執行這些操作的時候還挺疑惑的,因為我上線前肯定執行
過類似的操作的,為什麼執行一段時間之後,這些許可權又都付給public了呢?
回想起來,我在五月初升級了資料庫,從10203升級到10204,升級後並沒有檢查過這些許可權,只重新編譯了物件。
有可能是升級資料庫的指令碼,重新將這些物件付給了public,而我收回這些許可權導致了部分資料庫物件失效。
基本確認問題原因以後,我將sys.utl_file單獨付給了oracle_ocm使用者,然後對報錯的包體進行重新編譯,編譯通過。
GRANT EXECUTE ON SYS.UTL_FILE TO "ORACLE_OCM";
只有,我又核對了其他的失效物件,將許可權單獨付給了這些使用者,大部分物件都可以成功編譯了。
GRANT EXECUTE ON SYS.UTL_FILE TO "OLAPSYS";
GRANT EXECUTE ON SYS.UTL_FILE TO "XDB";
GRANT EXECUTE ON SYS.UTL_FILE TO "WMSYS";
GRANT EXECUTE ON SYS.UTL_FILE TO "ORDPLUGINS";
GRANT EXECUTE ON SYS.UTL_FILE TO "DMSYS";
GRANT EXECUTE ON SYS.UTL_FILE TO "MDSYS";
GRANT EXECUTE ON SYS.UTL_HTTP TO "ORDPLUGINS";
GRANT EXECUTE ON SYS.UTL_HTTP TO "OLAPSYS";
GRANT EXECUTE ON SYS.UTL_TCP TO "OLAPSYS";
GRANT EXECUTE ON SYS.UTL_SMTP TO "OLAPSYS";
GRANT EXECUTE ON SYS.UTL_SMTP TO "SYSMAN";
由於我的元件是選裝的,有些元件沒有安裝,所以部分物件仍然不能編譯通過,確認沒有用到,也就算了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/51862/viewspace-1006902/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於vuex的錯誤Vue
- 關於mysql 1067的錯誤MySql
- 關於jivejdon 4.0的執行錯誤
- 關於 JavaScript 錯誤捕獲JavaScript
- 關於記憶體錯誤記憶體
- 關於weblogic pool 一錯誤除錯Web除錯
- 關於Symbian的"程式已經關閉"錯誤
- 關於系統效能的10大錯誤
- 關於PHP 時區錯誤的問題PHP
- 關於Mapreduce Text型別賦值的錯誤型別賦值
- 關於洗牌演算法的錯誤認識演算法
- 關於jive資料庫連結的錯誤?資料庫
- 關於”kccrsz“錯誤處理一則
- 關於在vm安裝soalris10的錯誤
- 關於Oracle8i回退段引起的錯誤Oracle
- oracle關於ORA-12988錯誤Oracle
- 關於 IIS 上執行 ASP.NET Core 站點的“HTTP 錯誤 500.19”錯誤ASP.NETHTTP
- 關於 ABAP 的執行時錯誤 ITAB_ILLEGAL_ORDER
- [譯] 關於 `ExpressionChangedAfterItHasBeenCheckedError` 錯誤你所需要知道的事情ExpressError
- 關於VS報無法解析外部符號的錯誤符號
- 關於oracle 9i的閃回的一個錯誤Oracle
- 關於 curl 工作中一個小錯誤
- 【伺服器】關於錯誤:Smarty:unable to write file伺服器
- 關於Linux下ntp 時間同步錯誤Linux
- 關於開源軟體的七大錯誤認知
- [記錄]關於安裝VMware workstation 時我遇到的錯誤
- 關於shell中的pl/sql指令碼錯誤排查與分析SQL指令碼
- 關於eclipse中一些常見的錯誤01Eclipse
- 關於 oracle 9i 閃回的一個錯誤補Oracle
- Fragment:關於Avoid non-default constructors in fragments的錯誤FragmentStruct
- 關於“類不能支援Automation操作”錯誤的解決方法
- 關於收到localhost modprobe: modprobe: Can't locate module ethX的錯誤localhost
- 關於安裝ros和執行tuetlebot3的錯誤ROS
- 關於Apache錯誤頁面導致版本顯示的設定Apache
- 關於master..xp_cmdshell’的幾個錯誤解決辦法AST
- oracle關於*_tab_columns檢視的描述有一個錯誤Oracle
- 關於程式碼的那些低階錯誤,都是血淚的教訓
- 關閉PHP錯誤提示的方法PHP