dbms_scheduler package body INVALID 解決方案

itpremier發表於2012-04-24

dbms_scheduler package body INVALID 。
這個問題從去年開始出現,現在也不知道當初出現的原因了。這個問題導致檢視dba_scheduler_jobs 查詢失敗。

以前重新執行過內建的指令碼也沒有修復好,今天實在忍不住了。就按最基本的思路去修復:

1,首先找到包含 create package body dbms_scheduler 字串的指令碼,然後手工核對,找到並確認程式包體的重建程式碼,儲存到單獨的檔案中,然後以SYS使用者登入執行。

現在問題已經解決了。其實解決過程很簡單,真不知道以前是怎麼想的,這麼難的問題,用最基本的解決思路就可以解決了。

相關操作命令片斷如下:

-- 查詢包含建立包體的指令碼:

grep -i -e 'package body dbms_scheduler' *

vi 開啟prvtbsch.plb, 儲存建包指令碼到檔案中

sqlplus 登入sys使用者,執行:

@dbms_scheduler.sql

如果不報錯,再檢查一下:

select * from dba_objects
where object_name ='DBMS_SCHEDULER' ;

status='VALID' 表示物件重建成功。

終於可以正常查詢SCHEDULER 相關的檢視了:

select * from dba_scheduler_jobs ;

[@more@]@dbms_scheduler.sql

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/350519/viewspace-1057989/,如需轉載,請註明出處,否則將追究法律責任。

相關文章