• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle ORA-29538: Java not installed

mysql 搞代码 4年前 (2022-01-09) 31次浏览 已收录 0个评论

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

本文来源gao!%daima.com搞$代*!码$网9

———– ———-
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
/


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle ORA-29538: Java not installed
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址