資料庫遷移到另一臺服務器后,PLSQL執行存盤程序報錯,存盤程序呼叫了一個貌似是SYS的系統包SYS.dbms_snapshot(其實我對這個一點也不熟,別人寫的sql)。之前也遷移到其他測驗資料庫服務器執行就沒有問題,現在這臺執行就報這個錯,編譯也沒有報錯。
uj5u.com熱心網友回復:
我能想到靠譜點的就只有用戶權限、oracle安裝可能引起的原因了。SYS.DBMS_SNAPSHOT 的執行權限我已經給了當前用戶了,不然編譯就會報錯的。暫時我想不到其他原因了。uj5u.com熱心網友回復:
上面 顯示包不存在哦。uj5u.com熱心網友回復:
但是我一層一層點進去,編譯也正常,能進SYS.DBMS_SNAPSHOT這個包里面,也能看到包里面的東西。就是對oracle包一點都不熟。是不是SYS.DBMS_SNAPSHOT包里面又呼叫了其他東西(呼叫的某個東西不存在或者報錯)。uj5u.com熱心網友回復:
原來 包是由包頭跟包體組合而成的,就像介面跟介面實作一樣。我發現我存盤程序里面呼叫的系統包,只有包頭沒有包體.........至于什么原因造成沒有包體的我也不清楚,是系統包的話,我猜想 包頭跟包體應該安裝好就自動有的吧!估計是這個原因轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/68218.html
標籤:開發
