06 July 2007

How to Find Java(JVM) Version of Oracle Programatically

How to Find Java(JVM) Version of Oracle Programatically

6 comments:

ayppa said...

Hi Mennan,

Did you get any reply for your query on "How to find Java(JVM) Version of Oracle Programatically?". If so please let me know. I need it very urgently.

Thanks and regards,
J. Ayyappaswami.

Mennan said...

Yes. Did you check link above?

I simply sopy paste the link content here:

SQL> create or replace and compile java source named java_version as
2 public class JavaVersion
3 {
4 public static String Get()
5 {
6 String Version = System.getProperties().getProperty("java.version");
7 return Version;
8 }
9 }
10 /

Java created

SQL>
SQL> CREATE OR REPLACE FUNCTION fnc_JavaVersion RETURN VARCHAR2 AS
2 LANGUAGE JAVA NAME 'JavaVersion.Get( ) return java.lang.String';
3 /

Function created

SQL> SELECT fnc_JavaVersion() FROM dual;

SELECT fnc_JavaVersion() FROM dual

ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: the Permission (java.util.PropertyPermission * read,write) has not been granted to SYSADM. The PL/SQL to grant this is dbms_java.grant_permission( 'SYSADM', 'SYS:java.util.PropertyPermission', '*', 'read,write' )

SQL> exec dbms_java.grant_permission( 'SYSADM', 'SYS:java.util.PropertyPermission', '*', 'read,write' );

PL/SQL procedure successfully completed

SQL> SELECT fnc_JavaVersion() FROM dual;

FNC_JAVAVERSION()
--------------------------------------------------------------------------------
1.4.1

SQL>

Eric said...

This might be a little faster:

select jvmversion from dual;

Eric

Anonymous said...

This was very useful. Thanks!

Mennan said...

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production

TNS for Compaq Tru64 UNIX: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production

SQL> select jvmversion from dual;

select jvmversion from dual

ORA-00904: "JVMVERSION": invalid identifier

SQL>

BradW said...

Or, you can use the built in dbms_java package:
SELECT dbms_java.get_ojvm_property('java.version') FROM dual