您好,欢迎访问一九零五行业门户网

Oracle ORA-29538: Java not installed

扩容库是用脚本手工建库的,在跑一研发提供的存储过程时,抛出如下的错误:ora-29538: java not installed下面记录一下整个过程:
扩容库是用脚本手工建库的,,在跑一研发提供的存储过程时,抛出如下的错误:
ora-29538: java not installed
下面记录一下整个过程:
sql> select * from v$version;
banner
--------------------------------------------------------------------------------
oracle database 11g enterprise edition release 11.1.0.7.0 - 64bit production
pl/sql release 11.1.0.7.0 - production
core 11.1.0.7.0 production
tns for linux: version 11.1.0.7.0 - production
nlsrtl version 11.1.0.7.0 - production
sql> select * from v$option t where t.parameter='java';
parameter        value
---------------------------------------------------------------- ----------------------------------------------------------------
java         true
sql> select distinct owner,name from dba_source where lower(name)='dbms_java';
owner          name
------------------------------ ------------------------------
sys          dbms_java
sql> select owner, status, count(*) from all_objects where object_type like '%java%' group by owner, status;
no rows selected
于是要安装jvm:
@?/javavm/install/initjvm.sql 
sql> select owner, status, count(*) from all_objects where object_type like '%java%' group by owner, status;
owner          status   count(*)
------------------------------ --------------- ----------
sys          valid      19662
sql> select comp_name, version, status from dba_registry;
comp_name     version   status
---------------------------------------- ------------------------------ ---------------
oracle workspace manager   11.1.0.7.0   valid
oracle database catalog views   11.1.0.7.0   valid
oracle database packages and types  11.1.0.7.0   valid
jserver java virtual machine   11.1.0.7.0   valid
@?/xdk/admin/initxml.sql
sql>  select owner, count(*) from all_objects where object_type like '%java%' group by owner;
owner     count(*)
------------------------------ ----------
sys        20738
@?/rdbms/admin/catjava.sql
sql> select owner, count(*) from all_objects where object_type like '%java%' group by owner;
owner     count(*)
------------------------------ ----------
sys        21097
@?/rdbms/admin/catexf.sql
@?/xdk/admin/xmlja.sql
sql> select owner, count(*) from all_objects where object_type like '%java%' group by owner;
owner     count(*)
------------------------------ ----------
exfsys           44
sys        21097
附加:
重新安装jvm在oracle11gr1
(1)关闭数据库,然后运行如下的脚本先删除现有的jvm:
-- start of file full_rmjvm.sql
 spool full_rmjvm.log
 set echo on
 connect / as sysdba
 startup mount
 alter system set _system_trig_enabled = false scope=memory;
 alter system enable restricted session;
 alter database open;
 @?/rdbms/admin/catnoexf.sql
 @?/rdbms/admin/catnojav.sql
 @?/xdk/admin/rmxml.sql
 @?/javavm/install/rmjvm.sql
 truncate table java$jvm$status;
 select * from obj$ where obj#=0 and type#=0;
 delete from obj$ where obj#=0 and type#=0;
 commit;
 select owner, count(*) from all_objects
 where object_type like '%java%' group by owner;
 select obj#, name from obj$
 where type#=28 or type#=29 or type#=30 or namespace=32;
 select o1.name from obj$ o1,obj$ o2
 where o1.type#=5 and o1.owner#=1 and o1.name=o2.name and o2.type#=29;
 shutdown immediate
 set echo off
 spool off
 exit
 -- end of file full_rmjvm.sql
说明:这一步可能会引发一些bug,请慎用!
(2)安装jvm的脚本:
-- start of file full_jvminst.sql 
 spool full_jvminst.log; 
 set echo on 
 connect / as sysdba 
 startup mount 
 alter system set _system_trig_enabled = false scope=memory; 
 alter database open; 
 select obj#, name from obj$ 
 where type#=28 or type#=29 or type#=30 or namespace=32; 
 @?/javavm/install/initjvm.sql 
 select count(*), object_type from all_objects 
 where object_type like '%java%' group by object_type; 
 @?/xdk/admin/initxml.sql 
 select count(*), object_type from all_objects 
 where object_type like '%java%' group by object_type; 
 @?/xdk/admin/xmlja.sql 
 select count(*), object_type from all_objects 
 where object_type like '%java%' group by object_type; 
 @?/rdbms/admin/catjava.sql 
 select count(*), object_type from all_objects 
 where object_type like '%java%' group by object_type; 
 @?/rdbms/admin/catexf.sql 
 select count(*), object_type from all_objects 
 where object_type like '%java%' group by object_type; 
 shutdown immediate 
 set echo off 
 spool off
(3)检查jvm及一些安装包的状态
connect / as sysdba
spool jvm_stats.log
set serveroutput on
set echo on
set pagesize500
set linesize 100
column comp_name format a40
select comp_name, version, status from dba_registry;
select owner, status, count(*) from all_objects
where object_type like '%java%' group by owner, status;
select owner, object_type, count(*) from all_objects
where object_type like '%java%' and status 'valid' group by owner, object_type;
select owner, status, object_type, object_name from all_objects
where object_name like'%dbms_java%';
select owner, status, object_type, object_name from all_objects
where object_name like'%initjvmaux%';     
select role from dba_roles where role like '%java%';
select * from v$sgastat where pool = 'java pool' or name = 'free memory';
show parameter pool_size
show parameter target
show parameter sga
select owner, object_type, status, dbms_java.longname(object_name) from all_objects
where object_type like '%java%' and status 'valid';
spool off
/
其它类似信息

推荐信息