> 데이터 베이스 > MySQL 튜토리얼 > Oracle Bug 6136074

Oracle Bug 6136074

WBOY
풀어 주다: 2016-06-07 17:29:22
원래의
1137명이 탐색했습니다.

在10.2.0.3上,存在bug可能导致编译过程或视图失败,而失败的结果并不只是当前视图或过程不可用,而是可能影响整个数据字典,导致

工作上碰到的Oracle Bug 6136074,一个10203上的bug,这种问题还是第一次碰到。 

在10.2.0.3上,存在bug可能导致编译过程或视图失败,而失败的结果并不只是当前视图或过程不可用,而是可能影响整个数据字典,导致存储过程在执行时出现ORA-04068错误。
 
错误信息如下:
 
ORA-04068: existing state of packages has been discarded.
 ORA-04065: not executed, altered or dropped stored procedure P_PACKAGE.P_PRO
 ORA-06508: PL/SQL: could not find program unit being called: P_PACKAGE.P_PRO
 ORA-06512: at line 1
 
这个问题对应的BUG信息为:Bug 6136074 - ORA-04068 / ORA-04065 ORA-06508 on VALID objects [ID6136074.8],导致问题的原因就是编译对象时导致PLSQL的依赖对象的时间戳发生不一致,从而导致问题的产生。
 
Oracle文档上给出了检查问题的SQL语句:
 
select do.obj# d_obj,do.named_name, do.type# d_type,
 po.obj# p_obj,po.name p_name,
 to_char(p_timestamp,'DD-MON-YYYY HH24:MI:SS') "P_Timestamp",
 to_char(po.stime ,'DD-MON-YYYY HH24:MI:SS') "STIME",
 decode(sign(po.stime-p_timestamp),0,'SAME','*DIFFER*') X
 from sys.obj$ do, sys.dependency$ d, sys.obj$ po
 where P_OBJ#=po.obj#(+)
 and D_OBJ#=do.obj#
 and do.status=1 /*dependent is valid*/
 and po.status=1 /*parent is valid*/
 and po.stime!=p_timestamp /*parent timestamp not match*/
 order by 2,1;
 
通过这个脚本将获取的对象进行重新编译,可以解决这个问题,要避免问题的再次出现,,应该将数据库版本升级到10.2.0.4以上。

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿