Existen dentro de Oracle Application Express muchos utilitarios que por lo general no sabemos utilizar y en la mayoría de los casos, si siquiera sabemos que existen. Uno de estos casos, el utilitario APEXExport, el cual nos permite exportar uno aplicación, todas las aplicaciones dentro de un espacio de trabajo e incluso todas las aplicaciones de la instancia APEX desde una línea de comando.

Lo normal al hacer un export sería que ingresemos al IDE de APEX, al espacio de trabajo del que queremos realizar un export y vayamos exportando una por una todas las aplicaciones del mismo, pero con esta utilidad podemos dejar de lado esa incomodidad y realizar con un solo comando el respaldo (exportar) de todas las aplicaciones. Esto nos permite entre otras cosas, automatizar el procedimiento de respaldo de aplicaciones de una manera sencilla.

El utilitario APEXExport, viene como parte del paquete de instalación de APEX y lo pueden localizar en el directorio utilities/oracle/apex, que se encuentra dentro del directorio raíz de instalación de APEX. De esta manera, si su instalación es en un ambiente Windows y descomprimió el archivo de instalación de APEX en C:\Temp; encontrará este archivo en C:Temp\Apex\Utilities\Oracle\Apex.

Si su instalación es en un ambiente Unix/Linux y descomprimió APEX en /u01/oracle; podrá encontrar este archivo en: /u01/oracle/apex/utilities/oracle/apex.

Antes de poder utilizar este utilitario es necesario que verifique y realice algunas tareas para que este pueda funcionar.

La primera de ellas es definir el valor de la variable CLASSPATH con los valores necesarios.

En Unix/Linux:

export CLASSPATH=.:{$ORACLE_HOME}/jdbc/lib/classes12.zip:{$ORACLE_HOME}/jdbc/lib/ojdbc6.jar

Aquí dependiendo de la versión de base de datos que tenga instalada debe cambiar classes12.zip por classes12.jar; al igual que el manejador de odbc que se adapta a su base de datos, como guía:

Versión de Base de Datos Controlador

        10g         ojdbc14.jar
        11g         ojdbc6.jar
        12c         ojdbc7.jar

En segundo lugar, deben tener instalada una versión de java JDK mayor o igual a 1.5.

Para ejecutar el utilitario APEXExport:

  1. Abres una terminal.
  2. Te cambias al directorio «utilities» del que hemos estado hablando
cd /u01/oracle/apex/utilities/
  1. Ejecutas el comando de export:
java oracle.apex.APEXExport -db servidor:puerto:conector -user usuario -password contraseña -applicationid 999

Esta es la forma básica para exportar una única aplicación, sin embargo, pueden cambiar -applicationid 999, por una de las siguientes alternativas:

-workspaceid 99999 para exportar todas las aplicaciones del espacio de trabajo referenciado
-instance para exportar todas las aplicaciones de la instancia APEX.

En el caso de «workspaceid» deben conocer el identificador único del espacio de trabajo del que desean exportar las aplicaciones, para esto pueden ejecutar el siguiente query desde el taller SQL de APEX:

select v('WORKSPACE_ID') from dual;

Como resultado de la ejecución del comando anterior, en el directorio verán, una vez que su ejecución se complete uno o varios archivos con nombre f999.sql tal y como los obtenidos al hacer un export de manera manual desde el ambiente APEX.

Adicionalmente, pueden agregar las siguientes opciones al comando de respaldo:

-expFiles Para exportar todos los archivos del espacio de trabajo identificado por -workspaceid
-expWorkspace Para exportar el espacio de trabajo identificado por -workspaceid, o bien, todos los espacios de trabajo si no se especifica ninguno
-skipExportDate Para omitir la fecha de realización del respaldo de los archivos exportados
-expPubReports Para exportar todos los reportes interactivos públicos que fueron salvados por los diferentes usuarios
-expSavedReports Para exportar todos los reportes interactivos salvados por los usuarios
-expIRNotif Para exportar todas las notificaciones de reportes interactivos
-expTranslations Para exportar todos los mapeos y todos los textos del repositorio de traducciones
-expFeedback Para exportar la retoralimentación de desarrollo en equipos de todos los espacios de trabajo o del identificado por -workspaceid, tanto de desarrollo como de implementación
-expTeamdevdata Para exportar datos del equipo de desarrollo para todos los espacios de trabajo el espacio de trabajo identificado por -workspaceid
-deploymentSystem Sistema de desplegado para retroalimentación exportada
-expFeedbackSince Para exportar la retroalimentación del equipo de desarrollo desde la fecha; en formato YYYYMMDD

Y aquí algunos ejemplos:

java oracle.apex.APEXExport -db localhost:1521:orcl -user scott -password secreto -applicationid 166

con esto realizamos un «export» de la aplicación 166 del usuario scott en el servidor localhost y la instancia de base de datos orcl.

java oracle.apex.APEXExport -db localhost:1521:orcl -user scott -password secreto -workspaceid 9999

este otro ejemplo exportará todas las aplicaciones del espacio de trabajo con identificador 9999 del usuario scott en el servidor localhost y la instancia de base de datos orcl.

java oracle.apex.APEXExport -db localhost:1521:orcl -user system -password secreto -instance

finalmente esta última opción exportará todas las aplicaciones de la instancia orcl en el servidor localhost

Share This