在ORACLE数据库(10.2.0.5.0)上修改一个包的时候,编译有错误,具体错误信息为"ORA-04028: cannot generate diana for object xxx"。

Warning: Package Body created with compilation errors.

 

SQL> show error;

Errors for PACKAGE BODY XXXXX."XXXXXXXX":

 

LINE/COL ERROR

-------- -----------------------------------------------------------------

0/0      ORA-04028: cannot generate diana for object

         xxxx.xxxxx

 

SQL> 

第一次遇到这样的错误信息,有点懵,查看错误信息具体解释,解释有lock conflict, 但是所涉及表根本没有任何会话进程锁定。在Meta Link上搜索,才发现是一个Bug

$ oerr ora 4028

04028, 00000, "cannot generate diana for object %s%s%s%s%s"

// *Cause:  Cannot generate diana for an object because of lock conflict.

// *Action: Please report this error to your support representative.

当包依赖的视图重建后,如果此时尝试编译包就会遇到这个错误,而我所遇到情况是包所依赖的表重建了。 具体可以参考ORA-4028 ERROR WHILE RECOMPILING PL/SQL PACKAGE (文档 ID 1505092.1),

 

APPLIES TO:

 

PL/SQL - Version 10.2.0.5 to 10.2.0.5 [Release 10.2]

Information in this document applies to any platform.

 

SYMPTOMS

Attempting to compile a package fails after the creation of a dependent view with:

ORA-04028: cannot generate diana for object SCOTT.V_TEST

Testcase Scenario:

SQL> CREATE OR REPLACE VIEW V_TEST

(a, b)

AS

select a,b from test

/

2 3 4 5

View created.

SQL> alter package p_test compile;

alter package p_test compile

*

ERROR at line 1:

ORA-04028: cannot generate diana for object SCOTT.V_TEST

 

CAUSE

unpublished Bug 9342254 - ORA-4028: CANNOT GENERATE DIANA OBJECT AND ORA-4020 : DEAD LOCK

SOLUTION

The defect is fixed in 11.1 or later.

Download and apply the Patch 9342254 for your version and platform.

如上所示,这个是一个bug来的,在ORACLE 11.1以及以后版本已经fix掉了,如果遇到这个问题,要么应用补丁9342254 ,如果不能立马应用补丁,经过测试也有两种方法解决:

1:重启数据库,然后重编译包。这时可以重新编译包,不会遇到这个错误。

2:清空SHARED_POOL,然后重编译包。(ALTER SYSTEM FLUSH SHARED_POOL;)

ORA-04028: cannot generate diana for object xxx的更多相关文章

  1. 记得有一个奇怪的ORA-04028: cannot generate diana for object

    开发商称新一package,目前已经在翻译过程中的一些错误.提示PL/SQL:ORA-00942: table or view does not exists.这是一个非常明显的错误,即要么是表不存在 ...

  2. 关于spring boot在启动的时候报错: java.lang.Error: generate operation swagger failed, xxx.xxx.xxx

    Error starting ApplicationContext. To display the auto-configuration report re-run your application ...

  3. ogn1.MethodFailedException:Method "xxx" failed for object xxx

    问题描述:初学ssh写了个小项目,访问界面出现以下错误 java. lang. NoSuchllethodError: org. hi bernate. SessionF actory. openSe ...

  4. ECMAScript5 Object的新属性方法

    虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都 ...

  5. PowerMock.expectNew(Class<T> type, Class<?>[] parameterTypes, Object... arguments)

    1:PowerMock.expectNew(Class<T> type, Class<?>[] parameterTypes, Object... arguments) 如果你 ...

  6. Getting NHibernate to generate a HiLo string ID

    We've got a large system that's loosely bound to its data source (Navision) via Unity - we're gettin ...

  7. ES5 object的新函数

    虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都 ...

  8. OpenGL.Vertex Array Object (VAO).

    OpenGL抛弃glEnable(),glColor(),glVertex(),glEnable()这一套流程的函数和管线以后,就需要一种新的方法来传递数据到Graphics Card来渲染几何体,我 ...

  9. Function Object in C++

    Function object is very userful to use member function or non-member function as callback mechanism, ...

随机推荐

  1. Git版本管理的简介与安装[一]

    标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 git简介 很多人都知道,Linus在1991年创建了开源的Linux,从此,Lin ...

  2. 浅谈GlusterFS

    GlusterFS 标签(linux): 分布式文件系统 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 图片来自于官网:http://gluster.readt ...

  3. Nginx+Geoserver部署所遇问题总结

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 该问题的最终解决离不开公司大拿whs先生的指点,先表示感谢. ...

  4. HTTP基本知识

    1.TCP/IP 传输控制协议/因特网互联协议 (1)应用层:决定向用户提供应用服务时通信的活动(FTP.DNS和HTTP都属于该层). (2)传输层:提供处于网络连接中的两台计算机之间的数据传输(T ...

  5. 怎样共享windows和linux之间的文件

    注:本文参考自:https://www.howtogeek.com/176471/how-to-share-files-between-windows-and-linux/,相当于是原文的翻译. 一. ...

  6. 强大的API测试工具Hitchhiker v0.9 基于UI的断言测试,回顾2017

    v0.9是Hitchhiker在2017农历年的最后一个版本,而起点正是刚过完2016农历年,农历2018即将到来,一年轮回,今天写点东西稍微回顾下hitchhiker的2017. 先还是说v0.9, ...

  7. Java中的代码点和代码单元(转)

    文章来源:http://blog.csdn.net/weizhaozhe/article/details/3909079 这篇文章讲的很细,但是对于初学者也很难理解,在后面的笔记中,我会陈述自己的简单 ...

  8. Tensorflow滑动平均模型tf.train.ExponentialMovingAverage解析

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 移动平均法相关知识 移动平均法又称滑动平均法.滑动平均模型法(Moving average,MA) 什么是移动平均法 移动平均法是用一组最近的实 ...

  9. 基本c功能使用不当导致崩溃

    一些基本的c语言操作,使用不当也会有出其不意的问题.比如我最近的一个项目中,用到几句代码: uint8_t * out_pcm = NULL; ....... if (NULL == out_pcm) ...

  10. SpringMVC源码情操陶冶-DispatcherServlet父类简析

    阅读源码有助于陶冶情操,本文对springmvc作个简单的向导 springmvc-web.xml配置 <servlet> <servlet-name>dispatch< ...