martes, 22 de octubre de 2013

Instalar Oracle APEX 4.2

En un post anterior hemos visto como instalar la base de Datos Oracle 11g Express Edition, el asistente es muy sencillo y en unos cuantos click tenemos la base de datos instalada.
 
Ahora veremos como instalar Oracle APEX en nuestra base de datos.
 
Necesitaremos descargar el paquete de todos los idiomas de APEX 4.2. desde la pagina oficial de Oracle.
 
Una vez que tenemos descargado el archivo, lo descomprimimos y colocamos la carpeta apex en nuestro directorio raiz, por ejemplo: C:\apex


 
En la documentación de Oracle APEX se menciona instalar APEX dentro del tablespace AUX, pero nosotros no utilizaremos ese tablespace ya que es del sistema y es major utilizar un tablespace propio para APEX, por ello vamos a crear entonces un tablespace:
 
Ingresamos al SQL Plus y ejecutamos:
 
1) SQL> CREATE TABLESPACE APEX
           DATAFILE 'C:\oraclexe\app\oracle\oradata\XE\apex_01.dbf'
           SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 1000M LOGGING
           EXTENT MANAGEMENT LOCAL
           SEGMENT SPACE MANAGEMENT AUTO;
 
Una vez creado el tablespace podemos correr el script de instalación de APEX en nuestra base de datos:
 
2) SQL> @apexins.sql APEX APEX TEMP /i/
 
Donde:
 
 tablespace_apex (APEX) es el nombre del tablespace para el Oracle Application Express application user.
 tablespace_files (APEX) es el nombre del tablespace para el Oracle Application Express files user.
 tablespace_temp (TEMP) es el nombre del tablespace temporario.
 images es el directorio virtual para las imagenes del Oracle Application Express. Para apoyar futuras actualizaciones de APEX, definimos el directorio virtual como /i/.
 
 
3) Necesitamos cambiar el password del ADMIN de APEX
 
SQL> @apxchpwd.sql
 
4) Ejecutamos el script de configuración del Embedded PL/SQL Gateway

SQL> @apex_epg_config.sql C:\

5) Para actualizar el directorio de imagenes al actualizar desde una versión anterior

SQL> @apxldimg.sql C:\

Si hemos ejecutado el script de configuración del PL/SQL Gateway, no es necesario realizar estos ALTER, en otro caso si debemos ejecutar cada una de estas sentencias para desbloquear los usuarios.

SQL> ALTER USER anonymous ACCOUNT UNLOCK;
SQL> ALTER USER xdb ACCOUNT UNLOCK;
SQL> ALTER USER apex_public_user ACCOUNT UNLOCK;
SQL> ALTER USER flows_files ACCOUNT UNLOCK;


6) Configurar parámetros de la base de datos para APEX

SQL> ALTER system SET job_queue_processes=20 scope=both;

SQL> ALTER system SET shared_servers=10 scope=both;


7) Verificar y Habilitar XML DB HTTP server

SQL> EXEC DBMS_XDB.SETHTTPPORT(8080);

8) Habilitar la conexion remota

SQL> EXEC dbms_xdb.setListenerLocalAccess(l_access => FALSE);


9) Habilitar Network Services in Oracle Database 11g (ACL)

Concediendo Privilegios de Conexion:

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_040200
  -- the "connect" privilege if APEX_040200 does not have the privilege yet.

  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_040200', TRUE, 'connect');
  END IF;

EXCEPTION
  -- When no ACL has been assigned to '*'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_040200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;



Para éste punto ya tenemos instalado el APEX y configurado.

Para Tener Apex en los dos idiomas, tanto en Ingles como en Español necesitamos correr otro script, pero antes de eso seteamos la variable NLS_LANG de nuestro S.O. Windows

10) Abrimos una ventana de commandos e ingresamos lo siguiente:

set NLS_LANG=American_America.AL32UTF8

11) Abrimos ahora el SQLPlus estando dentro de la carpeta C:\apex\builder\es y ejecutamos lo siguiente:

SQL> ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;

12) Luego ejecutamos el script del idioma:

SQL> @load_es.sql


Ahora ya tenemos instalado el APEX tanto en Ingles como en Español.


No hay comentarios.:

Publicar un comentario