谁是戴安娜,她为什么不让我的数据库对象编译?

nin*_*ded 24 oracle stored-procedures views

好的,所以问题标题是一个小小的诙谐,但这个问题非常严重.有时,在编译模式中的对象或导入转储文件时,我看到以下错误消息:

ORA-04028: cannot generate diana for object SCOTT.VW_EMP
Run Code Online (Sandbox Code Playgroud)

这究竟意味着什么,我该如何避免呢?

Kri*_*ris 4

此处相关:PL/SQL、包大小、解析树节点、代码行。

\n\n

Diana 是 Oracle\xe2\x80\x99s 接口定义语言,将数据库表的结构和 PL/SQL 程序单元的逻辑表示为属性树。

\n\n

解析树节点的数量存在内部限制。编译器版本设置最大代码行数。

\n\n

因此,请检查 PL/SQL 逻辑的大小和代码行数。可能不可能,甚至没有必要知道您的版本可以处理的实际限制。

\n\n

一旦你知道在哪里调整你的包裹的大小,问题就解决了一半。

\n\n

当您也解决了另一半时请告诉我们,谢谢。

\n