Monday, March 28, 2011

How to install XML Database (XDB) 9.2 and 10.2

How to install XML Database (XDB) 9.2 and 10.2
==============================================

THIS NOTE IS NOT FOR 11G and above.

This is for install the XDB feature into an existing Oracle database.


==============================
XDB SCHEMA INSTALL STEPS:
==============================

1. Connect as sysdba and run the catqm.sql script. Maintain a spool of the
script running:

UNIX: $ORACLE_HOME/rdbms/admin subdirectory
WINDOWS: $ORACLE_HOME\rdbms\admin subdirectory

The catqm.sql script requires the following parameters be passed to it when
run:
A. XDB user password
B. XDB user default tablespace (You can use any tablespace other than system undo and temp. This tablespace has to exist prior to running the script.)
C. XDB user temporary tablespace

Therefore the syntax to run catqm.sql will be:

SQL> catqm.sql A B C

For Example:
---------------
SQL> set echo on
SQL> spool xdb_install.log
SQL>@?/rdbms/admin/catqm.sql XDB XDB TEMP



The Following Step is for Release 9.2.x ONLY skip to step 3 if running 10.1.x or above
--------------------------------------------------------------------------------------


2.Reconnect to SYS again and run the following to load the XDB java library.

SQL>@?/rdbms/admin/catxdbj.sql

NOTE: In order to load the XDB java libraries in catxdbj.sql, you must first have a valid Java Virtual Machine installation in the DB (JVM) and a valid XDK.
Also, make sure that the database is started with Oracle9i Release 2 (9.2.0) compatibility or higher for database version 9.2. This script creates objects that are specific to 9.2 even though the the database requires the JVM in 10.1 and above, the itmes that the script creates are no longer built in java in 10.1 and above.


3. If the following line is not already apart of the database system parameters (init.ora/spfile).
NOTE: PLEASE REPLACE ,instanceid1,2 etc with your actual values

a. Non-RAC
dispatchers="(PROTOCOL=TCP) (SERVICE=XDB)"
b. RAC
instanceid1.dispatchers="(PROTOCOL=TCP) (SERVICE=XDB)"
instanceid2.dispatchers="(PROTOCOL=TCP) (SERVICE=XDB)"
etc ...
c.If you are not using the default Listener ensure you have set LOCAL_LISTENER in the (init.ora/spfile)
as prescribed for RAC/NON-RAC instances or the end points will not register.


4. Check for any invalid XDB owned objects:

SQL> select count(*) from dba_objects
where owner='XDB' and status='INVALID';

COUNT(*)
----------
0



5. Check DBA_REGISTRY for XDB status:
SQL> select comp_name, status, version from DBA_REGISTRY where comp_name=
'Oracle XML Database'

The results should indicate the correct version and patch in a valid status.

6. Restart database and listener to enable Oracle XML DB protocol access.



NOTE:

If for any reason the catqm.sql script fails you can repeat the steps. However doing so May result in :

ORA-04098: trigger 'SYS.XDB_INSTALLATION_TRIGGER' is invalid and failed re-validation

If this occurs follow the steps

Run the script catqm.sql

1 comment:

Diego Gerena (SNIPERCAT) said...

Thanks :) I've not tested this, I'll do it tomorrow... or the DBA will do it, I'm making a manual, of course, I add the references :)

I didn't understand the last part, where you say:
"If this occurs follow the steps

Run the script catqm.sql
"
Which steps... or it is only run catqm.sql without parameters?

Thanks.
Greetings from Colombia