Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

How to enable oracle xa support?

Posted on 2006-06-26
12
Medium Priority
?
4,217 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
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 

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 2000 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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

636 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