我的系统是 SUSE Linux Enterprise Server 11 x86_32位系统,单实例(非使用grid asm磁盘)11.2.0.1.0升级到 11.2.0.4.0,升级完后,查看 dba_regisrty,其中 Oracle OLAP API 组件和 Spatial 组件 状态为 INVALID。
在执行 catupgrd.sql 脚本过程中报如下错误:
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 4096 bytes of shared memory ("java
pool","java/awt/Cursor","JOXLE^5e40d8f0",":SGAClass")
ORA-06512: at "SYS.DBMS_JAVA", line 655
ORA-06512: at line 1
SQL>
SQL> execute dbms_java.loadjava('-r -g PUBLIC -synonym -schema ORDSYS ord/jlib/ordimdcm.jar');
BEGIN dbms_java.loadjava('-r -g PUBLIC -synonym -schema ORDSYS ord/jlib/ordimdcm.jar'); END;
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 4096 bytes of shared memory ("java pool","unknown
object","JOXLE^e309f921",":SGAClass")
ORA-06512: at "SYS.DBMS_JAVA", line 655
ORA-06512: at line 1
执行 utlu112s.sql 脚本报如下错误:
Oracle OLAP API
. ORA-04031: unable to allocate 4096 bytes of shared memory ("java
. pool","oracle/AWAction/Create","JOXLE^6b30aa33",":SGAClass")
. ORA-06512: at "SYS.DBMS_JAVA", line 655
Oracle Multimedia
. ORA-00604: error occurred at recursive SQL level 1
. ORA-04031: unable to allocate 4096 bytes of shared memory ("java
. pool","java/awt/Cursor","JOXLE^5e40d8f0",":SGAClass")
. ORA-06512: at "SYS.DBMS_JAVA", line 655
. ORA-06512: at line 1
. ORA-00604: error occurred at recursive SQL level 1
. ORA-04031: unable to allocate 4096 bytes of shared memory ("java
pool","unknown
. object","JOXLE^e309f921",":SGAClass")
. ORA-06512: at "SYS.DBMS_JAVA", line 655
. ORA-06512: at line 1
. ORA-04031: unable to allocate 4096 bytes of shared memory ("java
pool","unknown
. object","JOXLE^f30990c7",":SGAClass")
. ORA-06512: at "ORDSYS.ORD_DICOM_ADMIN_PRV", line 6945
. ORA-06512: at "ORDSYS.ORD_DICOM_ADMIN", line 276
. ORA-06512: at line 1
. ORA-53051: no editDataModel session found
. ORA-06512: at "ORDSYS.ORD_DICOM_ADMIN_PRV", line 7093
. ORA-06512: at "ORDSYS.ORD_DICOM_ADMIN", line 304
. ORA-06512: at line 14
. ORA-53051: no editDataModel session found
. ORA-53051: no editDataModel session found
. ORA-06512: at "ORDSYS.ORD_DICOM_ADMIN_PRV", line 7093
. ORA-06512: at "ORDSYS.ORD_DICOM_ADMIN", line 304
. ORA-06512: at line 353
. INVALID 11.2.0.4.0 00:19:24
Spatial
. ORA-04031: unable to allocate 4096 bytes of shared memory ("java
pool","unknown
. object","JOXLE^d890c71b",":SGAClass")
. ORA-06512: at "SYS.DBMS_JAVA", line 655
. ORA-04031: unable to allocate 4096 bytes of shared memory ("java
pool","unknown
. object","JOXLE^f4ba88d4",":SGAClass")
. ORA-06512: at "SYS.DBMS_JAVA", line 655
. ORA-29532: Java call terminated by uncaught Java exception:
. oracle.aurora.server.tools.loadjava.ToolsError:
. Error during loadjava: Failures occurred during processing.
. Check trace file for details
. ORA-06512: at "SYS.DBMS_JAVA", line 655
-
第一次执行 utlrp.sql 脚本,报如下错误:
DOC> If the number is higher than expected, please examine the error
DOC> messages reported with each object (using SHOW ERRORS) to see if they
DOC> point to system misconfiguration or resource constraints that must be
DOC> fixed before attempting to recompile these objects.
DOC>#
OBJECTS WITH ERRORS
-------------------
5
DOC> The following query reports the number of errors caught during
DOC> recompilation. If this number is non-zero, please query the error
DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
DOC> are due to misconfiguration or resource constraints that must be
DOC> fixed before objects can compile successfully.
DOC>#
ERRORS DURING RECOMPILATION
---------------------------
5
Function created.
,但我加大 java_pool_size 内存为180M后,再重新执行 utlrp.sql 重新编译无效对象,执行结果没有提示错误了,如下:
DOC> If the number is higher than expected, please examine the error
DOC> messages reported with each object (using SHOW ERRORS) to see if they
DOC> point to system misconfiguration or resource constraints that must be
DOC> fixed before attempting to recompile these objects.
DOC>#
OBJECTS WITH ERRORS
-------------------
0
DOC> The following query reports the number of errors caught during
DOC> recompilation. If this number is non-zero, please query the error
DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
DOC> are due to misconfiguration or resource constraints that must be
DOC> fixed before objects can compile successfully.
DOC>#
ERRORS DURING RECOMPILATION
---------------------------
0
但我查 dba_registry ,Oracle OLAP API 组件和 Spatial 组件状态还是 INVALID,重新执行过多次 utlrp.sql ,再查,还是一样这个INVALID状态。
请问是怎么回事?
1、是 java_pool_size 内存太少导致的吗?但为什么设手工管理SGA,手工调大java_pool_size为180M,再重新执行 utlrp.sql 编译无效对象,还是一样是INVALID无效状态呢?
2、是否是要加大 java_pool_size 后,从头来过,utlu112i.sql,catupgrd.sql 脚本都要重新执行一遍呢?
待复,感谢!
1 个解决方案
#1
11g的话,你调大 memory_target 和 memory_max_target
然后再运行@utlrp.sql 重新编译无效的德程序包
然后再运行@utlrp.sql 重新编译无效的德程序包
#1
11g的话,你调大 memory_target 和 memory_max_target
然后再运行@utlrp.sql 重新编译无效的德程序包
然后再运行@utlrp.sql 重新编译无效的德程序包