Oracle JVM in iAS (8i or 9i)

How does the Oracle JVM work in iAS? I installed Oracle EE 8.1.7 and deployed java classes, looked at OSE, and deployed some EJB's. The classes are stored in the database as objects and JNDI is used to reference the servlets and EJBs. So if I install 9i AS, where do the EJB classes get stored? And where (exactly) does the Oracle JVM run in 9i AS?
Thanks,
John H.

I have, the problem is that my program successfully replicates and crashes upon completion of replication, but so does oracle 8 navigator.

Similar Messages

  • Oracle Team?? EJBean Problem on Oracle JVM

    Hi,
    I am using Jdeveloper3.1 and Oracle8.1.6 for my application. I could deploy and run the EJB on Oracle JVM without any problems. But when I am trying to connect to the Database it is giving me the null value instead of 'Y' or 'N'. The same EJbean I used as the USEBEAN in JSP and it is giving me correct results. I tried to debug and I found it is not getting the connection.I am giving the example I tried.
    1. EJB
    package EJBSample;
    import java.rmi.RemoteException;
    import javax.ejb.*;
    import java.sql.*;
    public class ValidateBean implements SessionBean {
    String UId;
    String PWd;
    Connection conn;
    Statement st;
    public ValidateBean() {
    public void setUId(String UId) throws RemoteException {
    this.UId=UId;
    public void setPWd(String PWd) throws RemoteException {
    this.PWd=PWd;
    public String getUId() throws RemoteException {
    return UId;
    public String getPWd() throws RemoteException {
    return PWd;
    public String validate() throws RemoteException {
    String flg = null,login = null,pass = null;
    try{
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); flg = "Before Conn..."; conn = DriverManager.getConnection("jdbc:oracle:thin:@pcgamingit4:1521:Everest","scott","tiger"); flg = "After Conn..."; st = conn.createStatement(); String str = "select * from CRM_WRK_LCTN where LOGINID='"+UId+"'"; ResultSet rs = st.executeQuery(str);
    while(rs.next()){
    login = (String) rs.getString("LOGINID");
    if(login.equals(UId)){
    pass = (String) rs.getString("PASSWORD");
    break;
    if( (UId.equals(login)) && (PWd.equals(pass)))
    flg="Y";
    else
    flg="N";
    st.close();
    conn.close();
    }catch(Exception e){ }
    return flg;
    public void ejbCreate() throws RemoteException, CreateException {
    public void ejbActivate() throws RemoteException {
    public void ejbPassivate() throws RemoteException {
    public void ejbRemove() throws RemoteException {
    public void setSessionContext(SessionContext ctx) throws RemoteException {
    2. Client:
    package EJBClient;
    import java.sql.*;
    import java.util.*;
    import javax.naming.*;
    import oracle.aurora.jndi.sess_iiop.*;
    public class ValidateClient {
    public static void main(String[] args) {
    String ejbUrl = "sess_iiop://localhost:2481:Everest/test/Validate";
    String username = "scott";
    String password = "tiger";
    // Setup the environment
    Hashtable environment = new Hashtable();
    // Tell JNDI to speak sess_iiop
    environment.put(javax.naming.Context.URL_PKG_PREFIXES, "oracle.aurora.jndi");
    // Tell sess_iiop who the user is
    environment.put(Context.SECURITY_PRINCIPAL, username);
    // Tell sess_iiop what the password is
    environment.put(Context.SECURITY_CREDENTIALS, password);
    // Tell sess_iiop to use credential authentication
    environment.put(Context.SECURITY_AUTHENTICATION, ServiceCtx.NON_SSL_LOGIN);
    // Lookup the URL
    EJBSample.ValidateHome homeInterface = null;
    try {
    System.out.println("Creating an initial context");
    Context ic = new InitialContext(environment);
    System.out.println("Looking for the EJB published as 'test/Validate'");
    homeInterface = (EJBSample.ValidateHome) ic.lookup(ejbUrl);
    catch (ActivationException e) {
    System.out.println("Unable to activate : " + e.getMessage());
    e.printStackTrace();
    System.exit(1);
    catch (CommunicationException e) {
    System.out.println("Unable to connect: " + ejbUrl);
    e.printStackTrace();
    System.exit(1);
    catch (NamingException e) {
    System.out.println("Exception occurred!");
    System.out.println("Cause: This may be an unknown URL, or some" +
    " classes required by the EJB are missing from your classpath.");
    System.out.println("Suggestion: Check the components of the URL," +
    " and make sure your project includes a library containing the" +
    " EJB .jar files generated by the deployment utility.");
    e.printStackTrace();
    System.exit(1);
    // That's it!
    try {
    System.out.println("Creating a new EJB instance");
    EJBSample.Validate remoteInterface = homeInterface.create();
    remoteInterface.setUId("mallik");
    remoteInterface.setPWd("malli");
    System.out.println("Calling EJBSample.Validate methods...\n");
    // Method calls go here!
    String str = remoteInterface.validate();
    // e.g.
    // System.out.println(remoteInterface.foo());
    System.out.println("...done!");
    System.out.println(str);
    catch (Exception e) {
    System.out.println(e.getMessage());
    e.printStackTrace();
    3. Result:
    EJBClient.ValidateClient
    Creating an initial context
    Looking for the EJB published as 'test/Validate'
    Creating a new EJB instance
    Calling EJBSample.Validate methods...
    ...done!
    Before Conn...
    Can you please tell me the problem. I have wasted 2 days on this.
    Mallik.
    null

    You're running this EJB in iAS, right?
    You have to grant JAVAUSERPRIV to the user running your EJBs so that it is allowed to open a JDBC Thin socket out of the JVM to the backend database.
    null

  • How to user 8i JVM in iAS

    Hi all,
    I installed iAS(Release 1) on solaris and my backend database is on NT server(8i: 8.1.6). In documents, it is said that iAS has 8i JVM( which is same as that u find in 8i:8.1.6). But i am not sure how to use, infact i am not able to find where it is exactly.
    Thanks in advance,
    rajidhar

    The web site I visit to learn about new (to me) oracle technologies or products is to review the "products" or "technologies" section of technet ( http://otn.oracle.com/ ) for whitepapers, etc. about the item of interest.
    This approach has helped me get up to speed on many oracle products and technologies.
    Please check out the following IAS web page :
    http://otn.oracle.com/products/ias/
    At the bottom of it look for the "TECHNICAL INFORMATION" section which contains a number of links to more information
    such as :
    "Oracle Internet Application Server (iAS) Technical White Paper"
    located at url :
    http://otn.oracle.com/products/ias/pdf/ias_technical_WP.pdf
    i hope this helps ...

  • How do I avoid re-entrant problems in Oracle JVM

    I have a Java program called LanguageFunctions. This Java program has several methods that translate the data within a String or CLOB. I want to use this Java program as a stored procedure, and specifically the methods as Oracle functions. I want this function to be accessed simultaneously without either re-entrant, lock or performance concerns. I want to be able to use the functions something like this:
    SELECT TO_CHINESE(VARCHARCOL1) FROM DUAL;
    SELECT TO_FINISH(CLOBCOL1) FROM DUAL;
    I am having trouble understanding the Java requirements for these methods. I am greatly concerned about multi-user usage and issues with re-entrant code. Does this have to be a static class? If not, how when and where does it get instantiated (I hope not for every invocation of the function)? How to I avoid having one user accidentally changing the data within the method when executed in parallel?
    BTW: I have successfully moved these into the Oracle JVM, and executed them as a single user. My main concern is the re-entrant code issues.
    Thanks

    Thanks for the reply, I meant no disrespect, I was just trying to be a little funny...
    I did read that any method that you want to use as an Oracle function must be static. So I understand that as a given. However, the class I am converting uses static Class variables. You can see this in the example as the textOut variable.
    When two users are accessing this function in parallel, I could see the following series of events ocurring, and it is my concern. There is only one textOut, and I believe it can be modifed by both functions simultanesouly with unexpected results. I'm assuming my for loop is set to x < 2.
    SessionA issues: SELECT TO_DANISH('HELLO') FROM DUAL;
       A --> textOut = ""
       A --> textOut = "HELLO"
       A --> textOut = "HELLOxy"
       A --> textOut = "HELLOxyxy"
    SessionB issues: SELECT TO_DANISH('GOODBYE') FROM DUAL;
       B --> textOut = ""
       A --> textOut = "xy"
       B --> textOut = "GOODBYE"
       A --> textOut = "GOODBYExy"
    Session A returns: "GOODBYExy"     (expected "HELLOxyxy")
       B --> textOut = "GOODBYExyxy"
       B --> textOut = "GOODBYExyxyxy"
    Session B returns: "GOODBYExyxyxy" (expected "GOODBYExyxy")I'm I correct in my assumption that this is an issue? If so, what type of programm architecture would be best to use to manage this? I've tried to provide a simple working example of the issue, but the program that I'm working on actually alters the contents of textOut (as a static Class variable) in 5 or 6 different methods, including one method using recursion. I know I may need to make changes to the program architecture to make it work properly in a multi-user environment as an Oracle function. I'm just a little confused on what the appropriate architecture is. Once again any help is appreciated!
    Joel

  • File read/write in Oracle JVM

    Are there any known issues around file read/write in Oracle JVM. I finally got around the issue of getting the error that says no permission is there by giving <<ALL FILES>> option, but still I don't see a file being created. Any help is appreciated.
    Code:
    try{
    fwriter = new PrintWriter(new FileOutputStream("debugLog.txt",true));
    } catch (IOException ioe) {
    System.err.println("IO Exception for Output File" + ioe.getMessage());
    Thanks.
    -Mujib

    A couple of suggestions:
    1. (Please don't be offended...) I assume you have some stuff like:
    fwriter.println("hello");
    fwriter.flush();
    fwriter.close();
    in your try block?
    2. Try catching FileNotFoundException and SecurityException also.
    3. Try providing a full path on the file just to make sure it's not buried somewhere odd.
    John H.

  • ORACLE JVM (8.1.5 - 9.0.1)를 수동으로 설치하기

    제품 : ORACLE SERVER
    작성날짜 : 2002-09-27
    Oracle JVM (8.1.5 - 9.0.1)를 수동으로 설치하기
    ==============================================
    Purpose
    v 8.1.5, 8.1.6, 8.1.7 and 9.0.1에서 Oracle JVM의 모든 구성 요소
    를 설치하기 위해 실행해야 하는 sql script들을 설명하고,
    JVM이 성공적으로 설치되었는지 test program으로 확인해 봅니다.
    주의 : 이 script들은 반드시
    SYS 또는 INTERNAL 로 실행되어야만 합니다.
    'initjvm.sql' script는 JVM을 설치하기위해 필요합니다.
    그리고 그 외에 추가되는 script들은 각각에 설명된 추가적인
    기능을위해 실행되어야 하는 script들입니다.
    ("--"표시로 주석 처리가 되어 있습니다.)
    설치에 앞서 점검해야 할 사항
    다음은 권장되는 사항입니다.
    SHARED_POOL_SIZE >= 65 MB
    JAVA_POOL_SIZE >= 50 MB
    SYSTEM tablespace내에 50 MB 이상의 free space
    250 MB 이상의 rollback segment space
    주의 : 위 사항이 만족되지 않거나 부족한 경우 다음 에러가 발생하거나
    script실행 도중 hang이 걸릴 수 있습니다.
    ORA-3113 : end-of-file on communication channel
    ORA-4030 : out of process memory when trying to allocate %s bytes
    ORA-4031 : unable to allocate bytes of shared memory
    Explanation
    Oracle JVM을 수동으로 설치하기
    JVM version 8.1.5를 위한 script
    initjvm.sql 만 실행해 주면 됩니다.
    -------- Script jvm_install_815.sql start ------------------
    -- Setup a database for running Java and the ORB
    spool initjvm.log
    start @$ORACLE_HOME/javavm/install/initjvm.sql
    spool off
    -------- Script jvm_install_815.sql end ------------------
    JVM version 8.1.6를 위한 script
    -------- Script jvm_install_816.sql start ------------------
    -- Setup a database for running Java and the ORB
    spool initjvm.log
    start @$ORACLE_HOME/javavm/install/initjvm.sql
    spool off
    -- Initializes Java library needed by PL/SQL
    spool initplsj.log
    start @$ORACLE_HOME/rdbms/admin/initplsj.sql
    spool off
    -- Load AQ/JMS jar files into the database
    spool initaqjms.log
    start @$ORACLE_HOME/rdbms/admin/initaqjms.sql
    spool off
    -- Load RepAPI server classes and publish 'repapi' obj
    spool initrepapi.log
    start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
    spool off
    -------- Script jvm_install_816.sql end ------------------
    Scripts needed for JVM version 8.1.7
    8.1.7에는 새로운 Java API와 component들이 추가되어
    수행해야 하는 script들이 더 많습니다.
    -------- Script jvm_install_817.sql start ------------------
    -- Setup a database for running Java and the ORB
    spool jvminst.log
    start @$ORACLE_HOME/javavm/install/initjvm.sql
    spool off
    -- Loads xml components into the JServer
    spool initxml.log
    start @$ORACLE_HOME/oracore/admin/initxml.sql
    spool off
    -- loads the XMLSQL Utility (XSU) into the database
    spool catxsu.log
    start @$ORACLE_HOME/rdbms/admin/catxsu.sql
    spool off
    -- JIS (OSE) installation
    spool init_jis.log
    start @$ORACLE_HOME/javavm/install/init_jis.sql
    spool off
    -- Turn on JAccelerator (ncomp) for JIS
    spool jisja.log
    start @$ORACLE_HOME/javavm/install/jisja.sql
    spool off
    -- Adds the set of default end points to the server
    -- with hardcoded values for the admin service
    spool jisaephc.log
    start @$ORACLE_HOME/javavm/install/jisaephc.sql
    spool off
    -- Load PLSQL Gateway Servlet jar files into the database
    spool initplgs.log
    start @$ORACLE_HOME/rdbms/admin/initplgs.sql
    spool off
    -- Install Oracle JSP
    spool initjsp.log
    start @$ORACLE_HOME/jsp/install/initjsp.sql
    spool off
    -- Turn on JAccelerator for JSP libs
    spool jspja.log
    start @$ORACLE_HOME/jsp/install/jspja.sql
    spool off
    -- Initializes Java library needed by PL/SQL
    spool initplsj.log
    start @$ORACLE_HOME/rdbms/admin/initplsj.sql
    spool off
    -- Load AQ/JMS jar files into the database
    spool initjms.log
    start @$ORACLE_HOME/rdbms/admin/initjms.sql
    spool off
    -- Load RepAPI server classes and publish 'repapi' obj
    spool initrepapi.log
    start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
    spool off
    -- loads sql, objects, extensibility and xml related java
    spool initsoxx.log
    start @$ORACLE_HOME/rdbms/admin/initsoxx.sql
    spool off
    -- Configure OSE defauls admin Web Service
    spool jisaep.log
    start @$ORACLE_HOME/javavm/install/jisaep admin 8080 9090
    spool off
    -------- Script jvm_install_817.sql end ------------------
    JVM version 9.0.1 을 설치하기 위한 script
    Using the database configuration assistant, follwoing scripts will be
    executed:
    -- Setup a database for running Java and the ORB
    SQL>@$ORACLE_HOME/javavm/install/initjvm.sql;
    -- INITialize (load) XML components in JServer
    SQL>@$ORACLE_HOME/xdk/admin/initxml.sql;
    -- Loads NCOMP'ed XML Parser
    SQL>@$ORACLE_HOME/xdk/admin/xmlja.sql;
    -- loads the XMLSQL Utility (XSU) into the database.
    SQL>@$ORACLE_HOME/rdbms/admin/catxsu.sql;
    -- install the Oracle Servlet Engine (OSE)
    SQL>@$ORACLE_HOME/javavm/install/init_jis.sql <$ORACLE_HOME>;
    -- Adds the set of default end points to the server
    -- with hardcoded values for the admin service
    SQL>@$ORACLE_HOME/javavm/install/jisaephc.sql <$ORACLE_HOME>;
    -- turn on J Accelerator
    SQL>@$ORACLE_HOME/javavm/install/jisja.sql <$ORACLE_HOME>;
    -- register EJB/Corba Dynamic Registration Endpoint
    SQL>@$ORACLE_HOME/javavm/install/jisdr.sql 2481 2482;
    -- init Java server pages @$ORACLE_HOME@$ORACLE_HOME@$ORACLE_HOME
    SQL>@$ORACLE_HOME/jsp/install/initjsp.sql;
    -- turn on J Accelerator for JSP libs
    SQL>@$ORACLE_HOME/jsp/install/jspja.sql;
    -- script used to load AQ/JMS jar files into the database
    SQL>@$ORACLE_HOME/rdbms/admin/initjms.sql;
    -- load RepAPI server classes and publish 'repapi' obj
    SQL>@$ORACLE_HOME/rdbms/admin/initrapi.sql;
    -- loads sql, objects, extensibility and xml related java
    SQL>@$ORACLE_HOME/rdbms/admin/initsoxx.sql;
    -- Loads appctxapi.jar for JavaVm enabled Database.Called by jcoreini.tsc
    SQL>@$ORACLE_HOME/rdbms/admin/initapcx.sql;
    -- script used to load CDC jar files into the database
    SQL>@$ORACLE_HOME/rdbms/admin/initcdc.sql;
    -- Loads the Java stored procedures as required by the
    -- Summary Advisor.
    SQL>@$ORACLE_HOME/rdbms/admin/initqsma.sql;
    --Initialize sqlj type feature in 9i db
    SQL>@$ORACLE_HOME/rdbms/admin/initsjty.sql;
    --load java componenets for AQ HTTP Propagation
    SQL>@$ORACLE_HOME/rdbms/admin/initaqhp.sql;
    Test program으로 JVM test해보기
    Java Stored Procedure 만들기
    다음과 같은 순서로 Java Stored Procedure를 만들어 봅니다.
    1. Java program을 만듭니다.
    2. program을 database로 loading합니다.
    3. Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
    4. SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
    Step 1: Java program을 만듭니다.
    ======
    EchoInput.java
    public class EchoInput {
    public static void main (String[] args){
    for (int i=0; i<args.length;i++)
    System.out.println(args);}}
    Step 2: program을 database로 loading합니다.
    ======
    UNIX prompt상에서 다음을 실행합니다:
    % loadjava -u scott/tiger -v -r EchoInput.java
    또는 SQL*Plus에서는 다음과 같이 할 수도 있습니다:
    CREATE OR REPLACE JAVA SOURCE NAMED "EchoInput" AS
    public class EchoInput { public static void main (String[] args) {
    for (int i=0; i<args.length;i++) System.out.println(args[i]);}}
    Step 3: Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
    ======
    SQL 또는 PL/SQL에서 만든 Java program을 호출하기 위해서는
    Java program을 SQL (PL/SQL Wrapper)로 publish해야 합니다.
    이과정을 PL/SQL Wrapper를 만든다고도 합니다.
    일단 published/wrapped가 되면 SQL 또는 PL/SQL을 통해 호출될 수
    있습니다.
    예제 :
    create or replace procedure echo_input (
    s1 varchar2, s2 varchar2, s3 varchar2)
    as language Java
    name 'EchoInput.main(java.lang.String[])';
    Step 4: SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
    ======
    call dbms_java.set_output(5000);
    call echo_input('It', 'works', 'now!');
    주의 : SQL*Plus에서 실행할 경우 먼저 'set serveroutput on'을
    해주시기 바랍니다.
    결과 화면
    SQL> set serveroutput on
    SQL> call dbms_java.set_output(5000);
    Call completed.
    SQL> call echo_input('It', 'works', 'now!');
    It
    works
    now!
    Call completed.
    SQL>
    Example
    Reference Documents

    제품 : ORACLE SERVER
    작성날짜 : 2002-09-27
    Oracle JVM (8.1.5 - 9.0.1)를 수동으로 설치하기
    ==============================================
    Purpose
    v 8.1.5, 8.1.6, 8.1.7 and 9.0.1에서 Oracle JVM의 모든 구성 요소
    를 설치하기 위해 실행해야 하는 sql script들을 설명하고,
    JVM이 성공적으로 설치되었는지 test program으로 확인해 봅니다.
    주의 : 이 script들은 반드시
    SYS 또는 INTERNAL 로 실행되어야만 합니다.
    'initjvm.sql' script는 JVM을 설치하기위해 필요합니다.
    그리고 그 외에 추가되는 script들은 각각에 설명된 추가적인
    기능을위해 실행되어야 하는 script들입니다.
    ("--"표시로 주석 처리가 되어 있습니다.)
    설치에 앞서 점검해야 할 사항
    다음은 권장되는 사항입니다.
    SHARED_POOL_SIZE >= 65 MB
    JAVA_POOL_SIZE >= 50 MB
    SYSTEM tablespace내에 50 MB 이상의 free space
    250 MB 이상의 rollback segment space
    주의 : 위 사항이 만족되지 않거나 부족한 경우 다음 에러가 발생하거나
    script실행 도중 hang이 걸릴 수 있습니다.
    ORA-3113 : end-of-file on communication channel
    ORA-4030 : out of process memory when trying to allocate %s bytes
    ORA-4031 : unable to allocate bytes of shared memory
    Explanation
    Oracle JVM을 수동으로 설치하기
    JVM version 8.1.5를 위한 script
    initjvm.sql 만 실행해 주면 됩니다.
    -------- Script jvm_install_815.sql start ------------------
    -- Setup a database for running Java and the ORB
    spool initjvm.log
    start @$ORACLE_HOME/javavm/install/initjvm.sql
    spool off
    -------- Script jvm_install_815.sql end ------------------
    JVM version 8.1.6를 위한 script
    -------- Script jvm_install_816.sql start ------------------
    -- Setup a database for running Java and the ORB
    spool initjvm.log
    start @$ORACLE_HOME/javavm/install/initjvm.sql
    spool off
    -- Initializes Java library needed by PL/SQL
    spool initplsj.log
    start @$ORACLE_HOME/rdbms/admin/initplsj.sql
    spool off
    -- Load AQ/JMS jar files into the database
    spool initaqjms.log
    start @$ORACLE_HOME/rdbms/admin/initaqjms.sql
    spool off
    -- Load RepAPI server classes and publish 'repapi' obj
    spool initrepapi.log
    start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
    spool off
    -------- Script jvm_install_816.sql end ------------------
    Scripts needed for JVM version 8.1.7
    8.1.7에는 새로운 Java API와 component들이 추가되어
    수행해야 하는 script들이 더 많습니다.
    -------- Script jvm_install_817.sql start ------------------
    -- Setup a database for running Java and the ORB
    spool jvminst.log
    start @$ORACLE_HOME/javavm/install/initjvm.sql
    spool off
    -- Loads xml components into the JServer
    spool initxml.log
    start @$ORACLE_HOME/oracore/admin/initxml.sql
    spool off
    -- loads the XMLSQL Utility (XSU) into the database
    spool catxsu.log
    start @$ORACLE_HOME/rdbms/admin/catxsu.sql
    spool off
    -- JIS (OSE) installation
    spool init_jis.log
    start @$ORACLE_HOME/javavm/install/init_jis.sql
    spool off
    -- Turn on JAccelerator (ncomp) for JIS
    spool jisja.log
    start @$ORACLE_HOME/javavm/install/jisja.sql
    spool off
    -- Adds the set of default end points to the server
    -- with hardcoded values for the admin service
    spool jisaephc.log
    start @$ORACLE_HOME/javavm/install/jisaephc.sql
    spool off
    -- Load PLSQL Gateway Servlet jar files into the database
    spool initplgs.log
    start @$ORACLE_HOME/rdbms/admin/initplgs.sql
    spool off
    -- Install Oracle JSP
    spool initjsp.log
    start @$ORACLE_HOME/jsp/install/initjsp.sql
    spool off
    -- Turn on JAccelerator for JSP libs
    spool jspja.log
    start @$ORACLE_HOME/jsp/install/jspja.sql
    spool off
    -- Initializes Java library needed by PL/SQL
    spool initplsj.log
    start @$ORACLE_HOME/rdbms/admin/initplsj.sql
    spool off
    -- Load AQ/JMS jar files into the database
    spool initjms.log
    start @$ORACLE_HOME/rdbms/admin/initjms.sql
    spool off
    -- Load RepAPI server classes and publish 'repapi' obj
    spool initrepapi.log
    start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
    spool off
    -- loads sql, objects, extensibility and xml related java
    spool initsoxx.log
    start @$ORACLE_HOME/rdbms/admin/initsoxx.sql
    spool off
    -- Configure OSE defauls admin Web Service
    spool jisaep.log
    start @$ORACLE_HOME/javavm/install/jisaep admin 8080 9090
    spool off
    -------- Script jvm_install_817.sql end ------------------
    JVM version 9.0.1 을 설치하기 위한 script
    Using the database configuration assistant, follwoing scripts will be
    executed:
    -- Setup a database for running Java and the ORB
    SQL>@$ORACLE_HOME/javavm/install/initjvm.sql;
    -- INITialize (load) XML components in JServer
    SQL>@$ORACLE_HOME/xdk/admin/initxml.sql;
    -- Loads NCOMP'ed XML Parser
    SQL>@$ORACLE_HOME/xdk/admin/xmlja.sql;
    -- loads the XMLSQL Utility (XSU) into the database.
    SQL>@$ORACLE_HOME/rdbms/admin/catxsu.sql;
    -- install the Oracle Servlet Engine (OSE)
    SQL>@$ORACLE_HOME/javavm/install/init_jis.sql <$ORACLE_HOME>;
    -- Adds the set of default end points to the server
    -- with hardcoded values for the admin service
    SQL>@$ORACLE_HOME/javavm/install/jisaephc.sql <$ORACLE_HOME>;
    -- turn on J Accelerator
    SQL>@$ORACLE_HOME/javavm/install/jisja.sql <$ORACLE_HOME>;
    -- register EJB/Corba Dynamic Registration Endpoint
    SQL>@$ORACLE_HOME/javavm/install/jisdr.sql 2481 2482;
    -- init Java server pages @$ORACLE_HOME@$ORACLE_HOME@$ORACLE_HOME
    SQL>@$ORACLE_HOME/jsp/install/initjsp.sql;
    -- turn on J Accelerator for JSP libs
    SQL>@$ORACLE_HOME/jsp/install/jspja.sql;
    -- script used to load AQ/JMS jar files into the database
    SQL>@$ORACLE_HOME/rdbms/admin/initjms.sql;
    -- load RepAPI server classes and publish 'repapi' obj
    SQL>@$ORACLE_HOME/rdbms/admin/initrapi.sql;
    -- loads sql, objects, extensibility and xml related java
    SQL>@$ORACLE_HOME/rdbms/admin/initsoxx.sql;
    -- Loads appctxapi.jar for JavaVm enabled Database.Called by jcoreini.tsc
    SQL>@$ORACLE_HOME/rdbms/admin/initapcx.sql;
    -- script used to load CDC jar files into the database
    SQL>@$ORACLE_HOME/rdbms/admin/initcdc.sql;
    -- Loads the Java stored procedures as required by the
    -- Summary Advisor.
    SQL>@$ORACLE_HOME/rdbms/admin/initqsma.sql;
    --Initialize sqlj type feature in 9i db
    SQL>@$ORACLE_HOME/rdbms/admin/initsjty.sql;
    --load java componenets for AQ HTTP Propagation
    SQL>@$ORACLE_HOME/rdbms/admin/initaqhp.sql;
    Test program으로 JVM test해보기
    Java Stored Procedure 만들기
    다음과 같은 순서로 Java Stored Procedure를 만들어 봅니다.
    1. Java program을 만듭니다.
    2. program을 database로 loading합니다.
    3. Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
    4. SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
    Step 1: Java program을 만듭니다.
    ======
    EchoInput.java
    public class EchoInput {
    public static void main (String[] args){
    for (int i=0; i<args.length;i++)
    System.out.println(args);}}
    Step 2: program을 database로 loading합니다.
    ======
    UNIX prompt상에서 다음을 실행합니다:
    % loadjava -u scott/tiger -v -r EchoInput.java
    또는 SQL*Plus에서는 다음과 같이 할 수도 있습니다:
    CREATE OR REPLACE JAVA SOURCE NAMED "EchoInput" AS
    public class EchoInput { public static void main (String[] args) {
    for (int i=0; i<args.length;i++) System.out.println(args[i]);}}
    Step 3: Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
    ======
    SQL 또는 PL/SQL에서 만든 Java program을 호출하기 위해서는
    Java program을 SQL (PL/SQL Wrapper)로 publish해야 합니다.
    이과정을 PL/SQL Wrapper를 만든다고도 합니다.
    일단 published/wrapped가 되면 SQL 또는 PL/SQL을 통해 호출될 수
    있습니다.
    예제 :
    create or replace procedure echo_input (
    s1 varchar2, s2 varchar2, s3 varchar2)
    as language Java
    name 'EchoInput.main(java.lang.String[])';
    Step 4: SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
    ======
    call dbms_java.set_output(5000);
    call echo_input('It', 'works', 'now!');
    주의 : SQL*Plus에서 실행할 경우 먼저 'set serveroutput on'을
    해주시기 바랍니다.
    결과 화면
    SQL> set serveroutput on
    SQL> call dbms_java.set_output(5000);
    Call completed.
    SQL> call echo_input('It', 'works', 'now!');
    It
    works
    now!
    Call completed.
    SQL>
    Example
    Reference Documents

  • Advantages of using Oracle JVM over JPDA for Remote Debugging?

    What are the "additional features" that the documentation hints at when using the Oracle JVM for remote debugging vs. the JPDA protocoL? Can a member of the JDEV briefly address this? What exactly am I losing when using JPDA?

    I am not getting anywhere with 'NCOMPing' the stuff. Attempts to NCOMP keeps erroring out . The first of the errors is
    'Error while determining classes contained in jsch-1.29_minimalClassListAndTCD
    mper.java
    Exception oracle.aurora.sqljdecl.ParseException: Encountered "-" at line 14
    column 18.
    Was expecting one of:
    "extends" ...
    "implements" ...
    The following operations failed
    jsch-0.1.29_minimalClassListAndTCDumper.java: creation
    exiting : Failures occurred during processing
    Kuassi, I have looked at a few of your posts where you make mention of a file titled 'Settings_os.properties'. I see no such file in my Oracle installation. What am I missing here ?

  • Setting max heap in Oracle JVM

    Hello -
    I'm having a problem with a Java stored procedure running out of heap memory in Oracle 10g running Java 1.4.
    Normally (running Java in a standard context) I would just modify the -Xmx with a higher value, but for the life of me I can't figure out how to do it in a stored procedure context.
    I have browsed Google and I have browsed the Oracle JVM installation stuff, all to no avail.
    Can anyone help me with how to set my max heap size, or verify that it's impossible? I have taken all of the standard Oracle memory parameters (JAVA_POOL, UGA/PGA/SGA limits) out of the picture by jacking them up and keeping an eye on memory values up to the point that the procedure fails (at ~700m), so I'm pretty sure that this is my problem.
    So far I have looked at:
    Config files
    Config tables
    DB parameters
    I haven't been able to find anything remotely related to JVM option configuration in any of the above.
    It is worth noting that I ran across another forum where someone was wanting to set their minimum heap size, and they were told that it was not possible. I'm just having trouble believing that it's the same story with something as critical as max heap size.
    Much obliged for any help.
    Thanks,
    Annaka

    From Metalink Note 466112.1:
    Applies to:
    Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 10.2.0.3
    This problem can occur on any platform.
    Symptoms
    When attempting to execute a java class that works fine in a stand alone JVM, fails with Oracle JVM with the following error:
    ERROR
    ORA-29532: Java call terminated by uncaught Java exception:
    java.lang.OutOfMemoryError
    ORA-06512: at "IDS_SYS.POD", line 3
    Cause
    The MaxMemorySize was set 256M (the default values) where the JSO needs memory more than 256 MB to run.
    This can be checked as following:
    SQL> create or replace function getMaxMemorySize return number
    2 is language java name
    3 'oracle.aurora.vm.OracleRuntime.getMaxMemorySize() returns long';
    4 /
    Function created.
    SQL> select getMaxMemorySize from dual;
    GETMAXMEMORYSIZE
    268435456
    After increasing the MaxMemorySize to a larger value(1 GB), the problem was fixed
    Solution
    Please increase the MaxMemorySize to a larger values(i.e. 1GB), this can be done as following:
    SQL> create or replace function setMaxMemorySize(num number) return number
    2 is language java name
    3 'oracle.aurora.vm.OracleRuntime.setMaxMemorySize(long) returns long';
    4 /
    Function created.
    SQL> select setMaxMemorySize(1024*1024*1024) from dual;
    SETMAXMEMORYSIZE(1024*1024*1024)
    Then you can check if the value is set correctly using the following:
    SQL> select getMaxMemorySize from dual;
    GETMAXMEMORYSIZE
    1073741824
    In my case I had to set the parameter within a job's the session.
    bye
    TPD
    Edited by: TPD on Sep 23, 2008 4:27 PM - tags added

  • Is it possible to enable Java in oracle 10g express with the oracle jvm?

    I've oracle 10g express installed. I would like to create java stored procedures in a schema. But, how do I have the database java-enabled?

    It might be possible.
    Realize, however, that the Oracle JVM is a component of the Standard Edition One and higher - so to be able to use it you need to license Standard Edition One or higher.
    If you are going to violate the license anyway, why not stick with an Edition that contains the JVM.

  • Java multithreading support in Oracle JVM

    Dear all,
    I have some questions and observations regarding multithreading support in Oracle JVM. I have some java code that is stored in the database and is multithreaded (in separate threads I run a plsql procedure that does a lot of precessing). If I run the code with my standalone JVM it works like a charm, everything gets executed in separate threads. But if I store the code in the database and run it (with the custom JVM Oracle implemented for the server) it does not do any threading, all I have is a single thread that runs everything sequentially.
    The logic is this: using JDBC I create a connection, get a parameter (number of threads) and then launch the threads (each thread creates its own connection and runs the plsql procedure). No resource is shared (I have no synchronized code, I do not yield).
    My question is: does Oracle JVM supports multithreading or not? If yes, how to achieve it? Maybe there is something handled in JDBC? (although my code useses JDBC is not multithreaded) If this is not possible with java, do you now how to run something (oracle function, procedure) concurrently with PLSQL? (I tried with DBMS_JOBS but it does not work on all my databases and our DBAs discourage the use of them). Performing multithreading my launching different sqlPlus processes is not an option (as we have no security standard regarding the authentication -> connection is made by specifying in clear text the user and password).
    I wanted to use java because is more simple, secure (the connection is already established as the classes are stored in the database) and easy to maintain (until now we use different scripts which run on Unix and Windows and this leads to double work).
    The Oracle versions I use are 10g and 11g.
    Thank you all very much for your time
    Just the best,
    Don

    don wrote:
    My question is: does Oracle JVM supports multithreading or not? If yes, how to achieve it? Maybe there is something handled in JDBC? (although my code useses JDBC is not multithreaded) If this is not possible with java, do you now how to run something (oracle function, procedure) concurrently with PLSQL? (I tried with DBMS_JOBS but it does not work on all my databases and our DBAs discourage the use of them). Performing multithreading my launching different sqlPlus processes is not an option (as we have no security standard regarding the authentication -> connection is made by specifying in clear text the user and password).
    (Obviously the other post answers your question.)
    If I am reading that correctly then you have a management issue - not a technological one.
    You have a task to complete, presumably doing it efficiently is something that the company wants.
    And you have two alternatives both of which the DBAs are not allowing you to use.
    So at that point it is up to management to insist that the DBAs provide specific technological reasons (not hand waving) why those solutions are not suitable. And they should also be required to provide the outline of an alternative that is suitable.
    Besides that you might consider why your solution cannot be implemented entirely in a single threaded PL/SQL routine. The fact that is harder is not a reason when the point of the excercise is to create something that is more efficient.

  • Increase Scope of Custom variables in Oracle JVM

    We on our project are facing the following problem, any suggestions to work around this would be appreciated :
    We our using Oracle 9i JVM for development
    Our Sample problem flow is as follows :
    A package PKG1 has three procedures PROC1/PROC2/PROC3
    A java class JC1 is invoked by a procedure PROC1 - JC1 is running under oracle JVM.
    JC1 does the task of mapping a custom user defined java object to an oracle collection and invokes a procedure PROC2 (we are using thin client connection object in JAVA by means of simple JDBC calls to connect to the database.) which takes the oracle collection as input parameter and does processing over it.
    A procedure PROC3 does the task of calling PROC1 and then tries to access global variables defined in the package set by PROC2 , which comes out as a failed operation throwing the error as:
         ORA-06531: Reference to uninitialized collection
    The reason for the above behavior is : In the parent oracle session invoked by PROC1 the class JC1 opens another child database session for PROC2 and thus values set in the child thread are not visible to the parent.
    Required support: Is there a means for setting up of some property in ORACLE or Java which can enforce the JAVA CLASS to use its parent / invoking oracle session or if there is any other approach to overcome the above situation.

    Anand,
    I believe the Java in the Oracle Database forum is more appropriate for your question.
    You said:
    The reason for the above behavior is the parent oracle session opens
    another child database session
    How do you do this? And why? And what evidence makes you certain that this is the problem?
    Good Luck,
    Avi.

  • Restartign the Oracle JVM

    Hi,
    Is anybody aware of how to stop, restart
    the Oracle JVM, without shutting down
    or restarting the entire Database instance.
    I noticed two PROCEDUREs
    1 server_startup
    2 server_shutdown
    in DBMS_JAVA Package, but
    they don't do anything, (i execute
    them with DBA Priv.).
    Anybody aware of any such facility. ?
    any detailed description of the DBMS_JAVA
    package.
    thanks in advance
    bhaskar

    it is not possible - you must bounce the rdbms.

  • Version Oracle JVM 10.2.0.4 patchset

    Hi,
    I would like to ask you what is the version of Oracle JVM in patchset 10.2.0.4?
    Version of Oracle JVM:
    create or replace and compile java source named java_version as
    public class JavaVersion
    public static String Get()
    String Version = System.getProperties().getProperty("java.version");
    return Version;
    SQL> CREATE OR REPLACE FUNCTION fnc_JavaVersion RETURN VARCHAR2 AS
    LANGUAGE JAVA NAME 'JavaVersion.Get( ) return java.lang.String';
    SELECT fnc_JavaVersion() FROM dual;
    If an error occurs try:
    SQL> exec dbms_java.grant_permission( 'SYSADM', 'SYS:java.util.PropertyPermission', '*', 'read,write' );
    and run again:
    SELECT fnc_JavaVersion() FROM dual;
    Thank you,
    Michal

    Hi Satish,
    you right. The version of the JavaVM in 10.2.0.4 is 1.4.2_04. See output.
    COMP_ID SCHEMA STATUS VERSION COMP_NAME
    EM SYSMAN VALID 10.2.0.4.0 Oracle Enterprise Manager
    SDO MDSYS VALID 10.2.0.4.0 Spatial
    ORDIM ORDSYS VALID 10.2.0.4.0 Oracle interMedia
    AMD OLAPSYS VALID 10.2.0.4.0 OLAP Catalog
    XDB XDB VALID 10.2.0.4.0 Oracle XML Database
    CONTEXT CTXSYS VALID 10.2.0.4.0 Oracle Text
    EXF EXFSYS VALID 10.2.0.4.0 Oracle Expression Filter
    RUL EXFSYS VALID 10.2.0.4.0 Oracle Rule Manager
    OWM WMSYS VALID 10.2.0.4.3 Oracle Workspace Manager
    ODM DMSYS VALID 10.2.0.4.0 Oracle Data Mining
    CATALOG SYS VALID 10.2.0.4.0 Oracle Database Catalog Views
    CATPROC SYS VALID 10.2.0.4.0 Oracle Database Packages and Types
    JAVAVM   SYS      VALID        10.2.0.4.0 JServer JAVA Virtual Machine
    XML SYS VALID 10.2.0.4.0 Oracle XDK
    CATJAVA SYS VALID 10.2.0.4.0 Oracle Database Java Packages
    APS SYS VALID 10.2.0.4.0 OLAP Analytic Workspace
    XOQ SYS VALID 10.2.0.4.0 Oracle OLAP API
    FNC_JAVAVERSION
    1.4.2_04
    Best regards,
    Michal

  • How to download Oracle JVM?

    Hi,
    Could somebody please send me a link for downloading Oracle JVM?
    I have setup Oracle Database Express Edition on my machine, but its missing the JVM. Could you point me to the documentation on setting up Oracle JVM with Oracle DB XE?
    Thanks,
    Prashant.

    Hi
    It's not possible to download and separately install OracleJVM.
    As you can read in the following document OracleJVM is not available in XE.
    http://www.oracle.com/technology/products/database/oracle10g/pdf/twp_general_10gdb_product_family.pdf
    HTH
    Chris

  • Oracle JVM 6u21 and Eclipse

    If you have been experiencing Eclipse crashes since updating to Sun/Oracle JVM 6u21 (aka 1.6.0_21), head over to the following blog post to read about a workaround...
    http://lt-rider.blogspot.com/2010/07/oracle-jvm-6u21-and-eclipse.html
    - Konstantin

    Oracle has produced another build of 6u21 JVM that reverts the change that adversely affected Eclipse. If you have reverted back to an older JVM, you can safely move forward to 6u21. The build 1.6.0_21-b07 is safe to use. The version that Eclipse has trouble with is b06. You can check which version you have by running "java -version".
    - Konstantin

Maybe you are looking for

  • How to change the default sorting in iTunes

    Hi, Does anyone know how to change the default sorting method for all items in iTunes?  I use the third option for organizing the library as a whole (the one that has a list of icons for bands that you double click to show only that band's songs).  T

  • Contacts will no longer sync?

    The contacts will no longer sync to the iPad.  The sync process is stuck at this point during the sync.  What seems to be the problem?

  • How to change the color of label of af:inputText

    Hi, I want to change the color of label of <af:inputText> box . I used skinning for this , but this is not working. what i m doing is af|inputText::label{ color:red; bt this is not working , please suggest me some way to do it... bt if i do this af|i

  • Iphone 4s 1 month old Shuts off with battery life remaining!

    Just wanted to put this out for others to see. I bought this iphone online from Cricket brand new in June 12, 2013, didnt activate it till July 9, 2013 and today 8-2-13 I had to take it to Apple to diagnose because it was shutting down by itself even

  • JWS Error

    Hi guys, I'm newbie in EJB and Webservices, and I got the following error when I run the project: <faultcode>JWSError</faultcode> <faultstring>com.bea.xml.marshal.XmlEncodingException: Encountered an object of unrecognized type. Type 'com.provider1.H