Home > Database > Mysql Tutorial > Oracle ORA-29538: Java not installed

Oracle ORA-29538: Java not installed

WBOY
Release: 2016-06-07 17:08:18
Original
1845 people have browsed it

扩容库是用脚本手工建库的,在跑一研发提供的存储过程时,抛出如下的错误: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
/

linux

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template