Database Journal
MS SQL Oracle DB2 Access MySQL PostgreSQL Sybase PHP SQL Etc SQL Scripts & Samples Links Database Forum

» Database Journal Home
» Database Articles
» Database Tutorials
MS SQL
Oracle
DB2
MS Access
MySQL
» RESOURCES
Database Tools
SQL Scripts & Samples
Links
» Database Forum
» Sitemap
Free Newsletters:
DatabaseDaily  
News Via RSS Feed


follow us on Twitter
Database Journal |DBA Support |SQLCourse |SQLCourse2
 

Featured Database Articles

Oracle

Posted Apr 29, 2003

Getting Control of the Oracle Java Virtual Machine

By Marin Komadina

From time to time, DBAs have to take over "alien" databases. These databases are usually living parts from some failed project, a badly documented job from a previous DBA or in a worst case scenario, a database with very important data without any support. The situation gets worse when the database has the Java Option installed. In this article, I'll explain about the Oracle database Java Option and offer some practical tips regarding Java Virtual Machine (JVM).

This article covers:

  • Java Components
  • Java Virtual Machine Parameters
  • Detecting Java Status
  • JVM Operational Test
  • Procedure for Cleaning Up JVM
  • Database JVM Upgrade Considerations
  • Java Backup
  • Conclusion

Java Components

The database Java Optionconsists ofaJava Virtual Machine (JVM) with a native compiler, a CORBA 2.0 ORB, an EJB server, an embedded server side JDBC driver, and a SQLJ translator.

The main Java module, JVM, is completely integrated with the SQL and PL/SQL database engines and 100% compliant with Sun's JVM specification. The JVM provides an enhanced support engine for Java programs and SQLJ written stored procedures, functions and triggers.

Because it runs under the database kernel, the JVM provides great stability for all running Java applications.

Java applications can be client or server side compiled. Client based code is Java code developed on the client, compiled, loaded and published in the database. Server based code is Java source loaded directly into the database and automatically compiled using SQLJ and the byte code compilers.

The Oracle database installation script, initjvm.sql, loads the initial set of necessary Java classes, initialises the Java and CORBA namespace supporting tables, publishes top-level entry points through call-specifications, modifies security settings for some loaded classes to run with definer's rights and installs new database start-up and shutdown triggers.

All Java classes are loaded in the SYS schema and all have public synonyms created for use by other database users.

Support Java classes for the following components will be loaded by the Java load procedure:

  • Aurora (Code name for initialised JavaVM)
  • The standard Java runtime
  • Bytecode verifier and optimiser
  • Java and SQLJ compilers
  • JDBC runtime
  • CORBA ORB and EJB runtime

All class files are stored in the location: $ORACLE_HOME/javavm/admin/classes.bin and source code for these classes are located in the directory $ORACLE_HOME/javavm/lib.

For example on version 8.1.7 initjvm.sql creates the following objects:

  • 3 functions
  • 4 indexes
  • 6438 java classes
  • 290 java data
  • 57 java resources
  • 6 packages
  • 1 sequence
  • 6443 synonyms
  • 8 tables
  • 2 triggers
  • 3 views


Oracle Archives

Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 




Latest Forum Threads
Oracle Forum
Topic By Replies Updated
Oracle Data Mining: Classification jan.hasller 0 July 5th, 07:19 AM
Find duplicates - Unique IDs Lava 5 July 2nd, 08:30 AM
no matching unique or primary key rcanter 1 April 25th, 12:32 PM
Update values of one table based on condition of values in other table using Trigger Gladiator 3 February 29th, 06:01 PM