aiaiDBA

加微信获取免费职业规划+学习资料,了解年薪50万的DBA是如何练成的

13718043309

010-86462881

PLS-00252: reference to the wrong copy of package STANDARD

PLS-00252: reference to the wrong copy of package STANDARD
Cause: A reference is made to the fixed package version of STANDARD when the database is open, or to the on-disk version when the database is closed. Explicit use of a SYS.X$ package name can lead to this. One might also see this from a compilation that begins while the db is closed but has the bad luck to have another session open the db before compilation is complete. Another possible cause is having 'set serveroutput on' through svrmgrl when doing an 'alter database close'.
Action: Make use of on-disk versions of packages when the database is open and fixed (preloaded) versions when the database is closed. Do not attempt to use the wrong set. It should be quite hard to reference the wrong set, except by using SYS.X$ package names explicitly. Also, be sure to 'set serveroutput off' before doing an 'alter database close'.

请先 登录 后评论

1 个回答

小智
PLS-00252:引用了STANDARD包的错误副本,
.原因:当数据库打开时,引用了STANDARD的固定包版本,或者关闭数据库时的on-disk版本。显式使用SYS.X $包名称可以导致这一点。一个编译可能会从数据库关闭开始的时候看到这一点,但是在编译完成之前让另一个会话打开数据库是不幸的。另一个可能的原因是在执行“alter database close”时,通过svrmgrl设置“server server”。,
.操作:在数据库关闭时数据库打开和固定(预加载)版本时,使用磁盘版本的软件包。不要尝试使用错误的设置。应该很难引用错误的集合,除非明确地使用SYS.X $ package名称。另外,在做一个'alter database close'之前,一定要关掉'设置服务器输出'。,
.
请先 登录 后评论