Title |
[ORACLE] 암복호화 시 ORA-00600[kglobpg_is_pkp] 발생 | Product |
Plug-In |
---|---|---|---|
Phenomenon |
initjvm.sql로 oracle jvm 수동 설치 후 암복호화 테스트 시 ORA-00600[kglobpg_is_pkp] 에러 발생 |
||
Cause |
9i - 10g로 upgrade 한 DB의 경우 initjvm.sql을 수동으로 설치하면 dependency$ 테이블에 logical corruption이 발생하여
java class 및 java source loading시에 ORA-00600[kglobpg_is_pkp] 에러가 발생 할 수 있음. 메타링크 문서 ---------------------------------------------------------------------------------------- Symptoms When creating a Java Stored Procedure by loading java source or java class into the database, typically: CREATE AND COMPILE JAVA SOURCE NAMED ... the following error occurs (looking similar to): ORA-00600: internal error code, arguments: [kglobpg_is_pkp], [0x3AF156188], [], [], [], [], [], [] The (top of the) Call Stack Trace shows: kglobpg kgldtld kqllod kglobld kglobpn kglpim kglpin ioc_lookup_name Changes - Database has been upgraded from 9i to 10G - Oracle JVM has been installed in the database by running initjvm.sql Also, there may be other circumstances that lead to this particular error. Cause This error means that an internal assertion fails because we are purging a library cache object and we find the object is marked permanently fixed so we should not be purging this in the first place. This particular error is the Oracle10g equivalent of unpublished Bug 2262358. This means some logical corruption in dependency$, which is usually caused by not following the correct upgrade procedures since the SQL that corrects this is in udjvmrm.sql, called by jvmdbmig.sql that migrates the Oracle JVM to the current version. This type of mismatch in dependency$ typically causes an ORA-600 [17081] in Oracle 9.2.0 Solution Login to sqlplus and connect / as sysdba, then run the following SQL: update dependency$ set p_timestamp = (select stime from obj$ where obj#=p_obj#) where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and (select type# from obj$ where obj#=p_obj#)=29 and (select owner# from obj$ where obj#=p_obj#)=0; Note: The above statement, although it updates a data dictionary table, is 'harmless' and does not break anything when for some reason the ORA-600 [kglobpg_is_pkp] is not caused by mismatches in dependency$. ------------------------------------------------------------------------------------- |
||
Solution |
9i ~ 10g로 upgrade 한 DB의 경우 initjvm.sql을 수동 설치 후 아래의 update 구문을 as sysdba로 접속하여 실행할 것.
update dependency$ set p_timestamp = (select stime from obj$ where obj#=p_obj#) where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and (select type# from obj$ where obj#=p_obj#)=29 and (select owner# from obj$ where obj#=p_obj#)=0; |