Solved

How to enable oracle xa support?

Posted on 2006-06-26
12
4,038 Views
Last Modified: 2013-12-11
Hi ,

I need to enable oracle xa support for my 9.2.0.6 database. I think that for that ,at the db side 2 scripts need to be run right?

ie. initjvm.sql and initxa.sql. what is the order here- i mean which script to run first? also does this require any restart of oracle server?

awaiting to know..

thanks,
Nirav
0
Comment
Question by:Nirav_a_shah
  • 6
  • 6
12 Comments
 
LVL 16

Expert Comment

by:MohanKNair
Comment Utility
Run the following as sysdba

$ORACLE_HOME/javavm/initjvm.sql
$ORACLE_HOME/javavm/initxa.sql
0
 

Author Comment

by:Nirav_a_shah
Comment Utility
Assuming that jvm is already installed, does running initjvm.sql cause any problems?

Thanks,
Nirav
0
 
LVL 16

Expert Comment

by:MohanKNair
Comment Utility
You can verify that Oracle JVM is correctly installed by running SQL*Plus, connecting as SYSDBA, and issuing the following query

SQL> select version, status from dba_registry where comp_id='JAVAVM';

Ensure that the version is correct and the status is VALID. If it is correctly installed then there is no need to install again.
0
 

Author Comment

by:Nirav_a_shah
Comment Utility
Mohan,

Thanks a lot! Running your query, I get no rows returned:
SQL>  select version, status from dba_registry where comp_id='JAVAVM';

no rows selected

Does this mean that in addition to initjvm.sql I need to run some other scripts as well to set up the oracle jvm?

0
 
LVL 16

Expert Comment

by:MohanKNair
Comment Utility
Did you install JVM?

See the links
How to Install Java on Oracle 8i
http://www.dbaoncall.net/references/ht_install_java.html

Oracle/Java FAQ
http://www.orafaq.com/faqjdbc.htm

Java Installation and Configuration
http://www.stanford.edu/dept/itss/docs/oracle/10g/java.101/b12021/config.htm#BABECEID
0
 

Author Comment

by:Nirav_a_shah
Comment Utility
Mohan,

Sorry I must be sounding dumb..but since this is an environment where 30 guys are working..I wanted to be sure..

the question is:
given the details, to do the xa set up(and set up the jvm etc), do i need to run only initjvm.sql and initxa.sql or do i need to run other scripts too..

in this area I am new hence I am not risking any of my vague understanding..so could ou please help me again with answer to my above question. (is only initjvm.sql and initxa.sql needed to run or are other scripts needed too..)

Can not thank enough..
Nirav
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 16

Accepted Solution

by:
MohanKNair earned 500 total points
Comment Utility
Minimal and recommended JVM related database memory parameters:

  shared_pool_size >= 60Mb       ->   recommended 65 MB
  java_pool_size>= 30Mb             ->   recommended 50 MB

  java_soft_sessionspace_limit            default 1 MB is used,  
  java_max_sessionspace_size            default of 4GB is used

Execute initjvm.sql script as sysdba

To determine Java status for the database we can query v$option dynamic view:

SQL > Select * from v$option;
SQL> SELECT count(*) FROM dba_objects  WHERE object_type LIKE '%JAVA%';
SQL> select count(*), owner from all_objects where object_type like '%JAVA%' group by owner;
SQL>  Describe DBMS_JAVA


Include ORACLE_HOME/jdbc/lib/classes12.zip in the classpath and this will expose all client side XA classes.

Load the following Java class using loadjava
ORACLE_HOME/javavm/lib/aurora.zip

Run initxa.sql
0
 

Author Comment

by:Nirav_a_shah
Comment Utility
Mohan,

Thanks a ton! I am not sure on how to set the classpath..and using the loadjava.. we only have the path variable set..how to set the classpath?
should it be set to <Ora_home>/jdbc/lib in the .profile? what is the syntax of loading the aurora.zip class?

Thanks again
Nirav
0
 
LVL 16

Expert Comment

by:MohanKNair
Comment Utility
LOADJAVA is a command line utility

loadjava -user <username>/<password> <classfile>


Loading and Dropping Java Objects
http://www.oracle-training.cc/teas_elite_util9.htm


Oracle and Java Stored Procedures
http://www.developer.com/db/article.php/10920_3337411_1



The database replacement for CLASSPATH is schema. All classes loaded within the database are referred to as class schema objects and are loaded within certain schemas. All JVM classes, such as java.lang.*, are loaded within PUBLIC. For example, if your schema is SCOTT, the database resolver (the database replacement for CLASSPATH) searches the SCOTT schema before PUBLIC. The listing of schemas to search is known as a resolver spec. Resolver specs are for each class, whereas in a classic Java virtual machine, CLASSPATH is global to all classes.

To make searching for dependent classes easier, Oracle provides a default resolver and resolver spec that searches first the definer's schema and then PUBLIC. This covers most of the classes loaded within the database. However, if you are accessing classes within a schema other than your own or PUBLIC, you must define your own resolver spec.

loading using Oracle's default resolver, which searches the definer's schema and PUBLIC:
loadjava -resolve
 

loading using your own resolver spec definition containing the SCOTT schema, OTHER schema, and PUBLIC:
loadjava -resolve -resolver "((* SCOTT)(* OTHER)(* PUBLIC))"

http://www.utexas.edu/its/unix/reference/oracledocs/v92/B10501_01/java.920/a96659/02_load.htm
0
 

Author Comment

by:Nirav_a_shah
Comment Utility
Mohan,

This is awesome! I am just a novice as far as java is related.. could you please provide me just the syntax i need to give.

e.g. after running the initjvm.sql, do i have to specify:

loadjava -user  ORACLE_HOME/javavm/lib/aurora.zip

(what value i have to specify for user. is it sys?)

also the question about classpath, how to set it?
thanks a lot!
Nirav
0
 
LVL 16

Expert Comment

by:MohanKNair
Comment Utility
The USER is the same user running initxa.sql

loadjava -user sys/<passwd> ORACLE_HOME/javavm/lib/aurora.zip

Oracle will search for java classees in the current schema. Schema is the database replacement for CLASSPATH.
0
 

Author Comment

by:Nirav_a_shah
Comment Utility
Thanks Mohan this is such a great help to me!
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Introduction A previously published article on Experts Exchange ("Joins in Oracle", http://www.experts-exchange.com/Database/Oracle/A_8249-Joins-in-Oracle.html) makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now