我正在尝试编译PL / SQL包,我收到以下错误:
ORA-04043: object SYS_PLSQL_77721_489_1 does not exist
在此之后,我再也无法重新编译或丢弃包。
你有什么建议吗?
答案 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作为对象
掉落时的所有错误
尝试一次又一次放下并为所有错误创建类型...