2008-11-12 88 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

相关问题