Instalación de la máquina virtual Java en Oracle
1. Objetivos
Explicaremos cual es el procedimiento para instalar la máquina virtual de Java. Con esta instalación obtenemos XML Developers Toolkit ( Xdk for PL/SQL, que inclute el XDK for Java )
2. Revisión de parámetros de base de datos (shared_pool_size,java_pool_size)
Los parámetros shared_pool_size, java_pool_size tienen que ser mayores o iguales a 150 Mbytes
Para mirar esto lo podemos hacer de la siguiente forma
SQL> show parameter shared_pool_size;
SQL> Show parameter java_pool_size;
En caso de que los parámetros no sean correctos, una forma de cambiarlos es la siguiente
SQL> alter system set shared_pool_size='150M' SCOPE=spfile
SQL> alter system set java_pool_size='150M' SCOPE=spfile
En caso de que nuestro sistema utilice un init.ora, tenemos que cambiar los parámetros en el fichero directamente para que a levantar la base de datos tome esos nuevos parámetros de inicialización.
3. Instalación de la JVM (máquina virtual de java)
initjvm.sql es el archivo que en oracle9 se encarga de comprobar los requerimientos previos para la instalación de la máquina virtual de JAVA. Uno de los primeros pasos que tenemos que ver es añadir en nuestro fichero init.ora ( spfile ) el parámetro _SYSTEM_TRIG_ENABLED=FALSE.
Tenemos que estar seguros de que no existen ningún parámetro inválido en la base de datos y en caso de que estén inválidos ponerlos en estado válido, podemos mirarlo mediante el siguiente código:
SQL> select count(1), object_type from dba_objects where owner='SYS'
and status <> 'VALID' group by object_type
En caso de encontrar algún objeto no válido una forma sencilla de cambiarles de nuevo el estado es pasando de nuevo el script utlrp
SQL> @$ORACLE_HOME/rdbms/utlrp.sql
Si lanzamos de nuevo ( tras utlrp.sql ) la consulta de los objetos no válidos no debería de dar ningun resultado.
Para lanzar el archivo initjvm.sql es conveniente que no haya nadie trabajando en la base de datos, una forma bastante sencilla es poniendo o levantando la base de datos en modo restrited session ( cambiar a restricted session ), de tal forma que los usuarios con este permiso ( SYS ) pueden conectarse y los demás usuario no.
Ejecutamos los siguientes ficheros con el usuario SYS:
SQL>@$ORACLE_HOME/javavm/install/initjvm.sql
SQL>@$ORACLE_HOME/xdk/admin/initxml.sql
SQL>@$ORACLE_HOME/xdk/admin/xmlja.sql
SQL>@$ORACLE_HOME/rdbms/admin/catjava.sql
Realizamos un shutdown de la base de datos y volvemos a modificar el parámetro en el init.ora ( spfile ) _SYSTEM_TRIG_ENABLED poniéndolo a TRUE
Levantamos la base de datos en modo normal y comprobamos que no haya objetos inválidos igual que lo hicimos en un anterior paso, en caso de que los haya volvemos a lanzar el fichero utlrp.sql
SQL @$ORACLE_HOME/rdbms/utlrp.sql
Si todo ha salido correctamente tendríamos instalada la máquina virtual de java XDK Y XSU.