Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Oracle中检查JDK版本?_Java_Oracle_Oracle11g - Fatal编程技术网

Java 如何在Oracle中检查JDK版本?

Java 如何在Oracle中检查JDK版本?,java,oracle,oracle11g,Java,Oracle,Oracle11g,我们的Oracle DB中有一个Java类,最近该Java类中的一行代码抛出了一个错误: static BASE64Encoder B64 = new BASE64Encoder(); 我们看到了错误 java.lang.ExceptionInInitializeError 在这行代码上 我不确定DB端发生了什么变化,因为我们没有SYS权限或主机访问权限 我希望检查运行Oracle DB的JDK版本-- Oracle Database 11g Enterprise Edition 11.2.0

我们的Oracle DB中有一个Java类,最近该Java类中的一行代码抛出了一个错误:

static BASE64Encoder B64 = new BASE64Encoder();
我们看到了错误

java.lang.ExceptionInInitializeError

在这行代码上

我不确定DB端发生了什么变化,因为我们没有SYS权限或主机访问权限

我希望检查运行Oracle DB的JDK版本--

Oracle Database 11g Enterprise Edition 11.2.0.3.0版-64位生产版

谢谢。

解决方案1)在数据库主机上

cd $ORACLE_HOME/jdk/bin
java -version
解决方案2)创建PL/SQL函数以返回Java系统属性

create function get_java_property(prop in varchar2)
return varchar2 is
language java name 'java.lang.System.getProperty(java.lang.String) return java.lang.String';
并为Java版本运行select

select get_java_property('java.version') from dual;

解决方案3)检查认证版本的答案是:

Oracle 12.2/18.1 JVM是

Oracle12c嵌入式数据库

Oracle11g>=11.2.0.4嵌入式数据库

Oracle11g嵌入式数据库

Oracle10g数据库嵌入式JVM支持JRE 1.4

Oracle9i数据库嵌入式JVM支持JRE 1.3

selectdbms\ujava.get\uojvm\u属性(PROPSTRING=>'java.version')来自dual

您可以查看此链接。从所有注册表中选择*横幅不会给我JDK版本的权限。我没有访问主机的权限,也没有内置的sql命令可以执行此操作吗?如果您有权创建PL/sql函数,请使用我发布的第二个解决方案。否则,如果您没有访问数据库主机的权限,也没有创建PL/SQL函数的授权,您可以依赖认证版本列表,或者询问服务器管理员。感谢您的回复,我有权创建一个函数。$ORACLE_HOME/jdk/bin中的java不一定与嵌入的JVM具有相同的版本。@KarstenSpang能否请您提供一个示例,说明ORACLE官方数据库设置的情况并非如此。(可能是在过去五年内出现了这样的情况。)你在哪里找到了这些信息?我在网上搜索,但只找到了你绝对正确的帖子。。但是你是从哪里复制的?@kupa我真的不记得源代码了,这里的简短可能是多个。我试图通过update_javavm_binaries.pl将jdk更新到8,但看到有效的选项是:6 7,然后试图在/u01/app/oracle/product/12.1.0/dblb/javavm/jdk中以某种方式使jdk 8可用,但无法。。我在metalink和谷歌上搜索支持矩阵,但没有找到。。你的帖子让我明白了我错在哪里。。谢谢你!对于任何偶然发现这一点的人,来源是342810.1。