无法编译或删除Oracle包

时间:2009-09-29 13:12:16

标签: oracle plsql

我正在尝试编译PL / SQL包,我收到以下错误:

ORA-04043: object SYS_PLSQL_77721_489_1 does not exist

在此之后,我再也无法重新编译或丢弃包。

你有什么建议吗?

5 个答案:

答案 0 :(得分:7)

尝试这样做:

DROP TYPE SYS_PLSQL_77721_489_1;
DROP TYPE SYS_PLSQL_77721_DUMMY_1;
DROP PACKAGE BODY xxxx;
DROP PACKAGE xxx;

我有完全相同的问题并且有效。对不起@Vicent,但您提供的链接无法解决问题。

答案 1 :(得分:2)

如果您有权获得支持,这看起来像bug#3744836。描述了类似的错误here,与流水线函数和同义词有关。

答案 2 :(得分:1)

此问题的一个确认原因是使用PL / SQL类型的流水线函数。这是一个错误,所以应该修复更新的或完全修补的Oracle版本。解决方法是使用SQL类型(即create type whatever as object ...)。

如果这不适用于您的情况,请编辑您的问题以包含更多详细信息。

答案 3 :(得分:1)

尝试创建错误消息中提到的类型以解决删除或编译包时的错误。 错误:ORA-04043:对象 SYS_PLSQL_ B1A0D561_1132_1 不存在 分辨率:创建类型 SYS_PLSQL_B1A0D561_1132_1;

在那之后又出现了一个错误,内容为 错误:ORA-04043:对象 SYS_PLSQL_B1A0D561_1242_1 不存在 分辨率:创建类型 SYS_PLSQL_B1A0D561_1242_1;

并解决了问题。

答案 4 :(得分:0)

创建或替换类型SYS_PLSQL_77721_489_1作为对象

掉落时的所有错误

尝试一次又一次放下并为所有错误创建类型...