2008-11-12 112 views
9

我的安裝APEX已經在Oracle 9.2.0.5.0實例中變成梨形,所有的包都是無效的。PL/SQL編譯失敗,沒有錯誤信息

我試過用DBMS_UTILITY.compile_schema重新編譯所有東西,但所有的包仍然無效。所以,試着重新編譯單個軟件包,

SQL> ALTER PACKAGE FLOWS_020000.WWV_FLOW_QUERY COMPILE BODY; 

Warning: Package Body altered with compilation errors. 

SQL> show err 
No errors. 
SQL> 
SQL> ALTER PACKAGE FLOWS_020000.WWV_FLOW_QUERY COMPILE; 

Warning: Package altered with compilation errors. 

SQL> show err 
No errors. 
SQL> 

沒有在alter日誌吧..

我怎樣才能找到的錯誤是什麼?不應該「顯示錯誤」給我?

回答

4

在這個問題上放棄了幾個後幾個月,然後回到它,我工作了。

我試圖編譯的軟件包已被封裝。顯然,在編譯包裝包時,您必須以包所有者的身份登錄。

我懷疑這裏也有一個bug,因爲一些深入的調查顯示,當編譯不是所有者時,服務器進程實際上已經用完了內存並且正在死亡,但是作爲包所有者允許該對象登錄編譯沒有問題。

2

嘗試

SHOW ERRORS PACKAGE BODY FLOWS_020000.WWV_FLOW_QUERY 
+0

不走,同樣的結果中的錯誤。 – 2008-11-12 05:08:27

2
SHOW ERRORS PACKAGE FLOWS_020000.WWV_FLOW_QUERY 
7

康涅狄格州的FLOWS_020000去:

SELECT * 
FROM ALL_ERRORS 
WHERE OWNER = USER; 

或者conn將作爲SYSTEM和去

SELECT * 
FROM ALL_ERRORS 
WHERE OWNER = 'FLOWS_020000'; 
+0

Thi's good one – klashxx 2016-07-11 09:50:03

0

今天我有同樣的問題。我發現,我在做(如XXX):

alter package XXX.my_package compile body; 

這將錯誤,然後一個show err實際上不會顯示任何錯誤。

刪除'XXX'。讓我看到了錯誤。

9

我知道這個答案是有點晚,但只想讓你知道,你也可以使用:

ALTER包your_package_name_here編譯包;

alter package your_package_name_here compile body;

那麼,如果結果顯示警告,可以使用下面的腳本來檢查錯誤和線條它位於:

顯示錯誤包your_package_name_here;

- >此示出了包裝本身

顯示錯誤封裝主體your_package_name_here內的錯誤;

- >這顯示了包體

+1

這是最好的答案。 – 2013-09-24 15:03:06

相關問題