Solved

How to enable oracle xa support?

Posted on 2006-06-26
12
4,125 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 6
12 Comments
 
LVL 16

Expert Comment

by:MohanKNair
ID: 16986590
Run the following as sysdba

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

Author Comment

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

Thanks,
Nirav
0
 
LVL 16

Expert Comment

by:MohanKNair
ID: 16990292
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
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 

Author Comment

by:Nirav_a_shah
ID: 16990470
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
ID: 16990562
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
ID: 16990876
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
 
LVL 16

Accepted Solution

by:
MohanKNair earned 500 total points
ID: 16990962
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
ID: 16991081
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
ID: 16991169
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
ID: 16991314
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
ID: 16991385
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
ID: 16991744
Thanks Mohan this is such a great help to me!
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

691 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