MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/javavm/doc/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/javavm/doc/readme.txt

Oracle JVM 12.1 Readme
===========================


What's New in 12.1.0.1 Oracle JVM?
---------------------------------------------

- Multiple-JDK:

-- The default Java VM runtime and compiler have been upgraded from 
   JDK 5 to JDK 6 update 37.

-- The runtime and compiler corresponding to JDK 7 update 9 are also provided.

-- JDK upgrade/downgrade: The effective JDK in the Database can be upgraded
   from JDK 6 (the default) to JDK 7, or downgraded from JDK 7 to JDK 6.
   Details are provided in the Oracle Database 12.1 Java Developer's Guide.

- Customizing the Default Java Security:

-- Alternate java.security file can now be added to customize java.security
   settings in the Database.  See Java Developer's Guide for details.

-- The new routine dbms_java.set_runtime_exec_credentials, added in the
   previous release, is documented in the Java Developer's Guide.
   Also, a section on secure use of Runtime.exec is added. 
   The routine dbms_java.set_runtime_exec_credentials allows DBAs
   and security administrators to bind Runtime.exec's processes to 
   OS accounts with restricted power.

- More robust debugger:  Some issues in the Java debugger backend have been
  fixed to make the Java debugger backend more robust.

- JNDI Support through the Java Directory Service Namespace Provider (OJDS):
  A general purpose directory service for storing objects and object references.
  All objects stored must implement the java.io.Serializable interface. 

- Logging Support through an extended LogManager API.


Java Compatibility
------------------

The compatibility of JDK 6 and JDK 7 in this release has been thoroughly
tested with Oracle's Java Compatibility Kits 6 and 7 respectively.  Oracle
is committed to Oracle JVM keeping pace with Java and other Internet standards.


Getting Started
---------------

The Oracle 12.1 Java Developer's Guide (the documentation of the
Oracle JVM product) is available on line.

If you are not familiar with the Oracle JVM, it is important to first
follow the instructions in the documentation to install and configure
the product properly.  It is recommended that you follow the examples
presented in the documentation to begin.  The demonstrations and
examples in ORACLE_HOME/javavm/demo include a HelloWorld example.
Execution of the HelloWorld example and other examples will ensure that your
installation is complete and that Oracle JVM is properly enabled in
your Database.

Memory resources being used for Java application development and
deployment can vary widely.  To ensure proper development-time and
run-time operations, it is a must to understand how to configure the
memory parameters to satisfy your needs.  The product documentation
has an extensive discussion on Java Memory Usage.


Useful Tips
-----------

- Troubleshooting Tips

  * Errors are often reported in a trace file.  Please examine the
    trace file as your first step in isolating problems.

- Java Stored Procedure

  * Mismatches between call-specification definition and the actual Java
    method are only detected at runtime.

  * DESCRIBE of package.procedure gives "object does not exist" when
    the method has a Java rather than PL/SQL implementation.
    DESCRIBE of package lists only PL/SQL procedures and excludes
    Java Stored Procedures.

- Loadjava and Dropjava

  * The recommended workflow is to first compile Java source with
    a client-side Java compiler, and then load the resulting class
    binaries into the Database.  This workflow will save overall
    compiling and loading time. The client-side Java compiler must 
    be at a Java SE level compatible with Oracle JVM. Java sources
    may also be loaded in the Database, which will get compiled by 
    Oracle JVM.

  * It is not supported to load source (.java) and binaries (.class)
    together in a jar file.  You cannot load source and binary files
    for the same class in the same jar file.
 
  * You must drop Java schema objects in the same way that you
    first loaded them.  For example, individual classes cannot be
    dropped from a JAR object.  The entire jar must be dropped with
    the -jarsasresource command option.

  * If you experience problem loading large jar files, you should
    consider increasing the value of the SHARED_POOL_SIZE parameter.
    The creation of Java schema objects consumes shared pool memory.

  * If you suspect that classes are not properly loaded and resolved, you
    can examine the state of loaded classes by connecting as the user
    who loaded the classes and then executing the following commands:

      SELECT * FROM user_objects;
      SELECT * FROM user_errors;

    Properly loaded and resolved classes should show up with status
    of VALID in the user_objects view.

- runjava

  * runjava is designed to be used in application development and
    prototyping workflows.  It is not efficient to be used for
    deployment.

  * Use of the client side JDBC-OCI driver is not supported in the database and
    will fail if used with runjava.  There may also be permissions that need to
    be granted in order to use the JDBC-THIN driver.  Details can be found in
    the Oracle JDBC and Java Developers Guides. 


Known Problems
--------------



OHA YOOOO