lunes, 3 de abril de 2017

Apex lenguaje español en tres pasos

Cambiar Apex a Español:

1.- Setear la variable de entorno NLS_LANG

$ export NLS_LANG=American_America.AL32UTF8

2.- ubicarse en el directorio "es", en mi caso:

$ cd /u01/app/oracle/apex/builder/es

3.- Ejecutar en sqlplus dos comandos:

alter session set CURRENT_SCHEMA = APEX_050100;

@load_es.sql

------------------------------------------

miércoles, 2 de marzo de 2016

Instalación de Oracle Apex 5 - Oracle Restful - Apache Tomcat 7

Oracle Apex 5 - Oracle Restful Services - Apache Tomcat 7


Esta es una alianza que me dió muy buenos resultados, estuve experimentado con otros  productos como Glassfish. En mi caso me resultó mas familiar usar Apache Tomcat como servidor de Java, su instalación es bastante simple y hacer el "deploy" con Ords (Oracle rest data services) se sintetiza en dos simples pasos.
Ambiente de Instalación: Linux Centos 7, sistema operativo muy compatible con la base de datos Oracle ya que genéticamente proviene de la linea de Oracle Linux/Redhat.

La presente documentación se inicia a partir de disponer Centos con Oracle Express 11g ya instalados y también algo que es de extrema importancia, la instalación de Java (Java Distribution Kit jdk), hay  bastante documentación en la Red. En este servidor tengo instalada la versión jdk1.8.0_71 si no me equivoco es la última que encontré.

Pasos:

1.- Instalación de Apex 5:
2.- Instalación de Apache Tomcat 7
3.- Instalación de Ords
4.- Deploy de Ords con Tomcat

1.- Instalación de Apex 5 para Ords.-

     Descargamos de www.oracle.com el último Apex que a la fecha es el 5.0.3

     Una vez descargado el zip como usuario "oracle", lo descomprimimos en:
    /home/oracle  cuya ruta quedará como /home/oracle/apex

    a) Crear el tablespace Apex en la base de datos:

        sqlplus / as sysdba

     create tablespace apex datafile '/u01/app/oracle/oradata/XE/apex_01.dbf' size 200M reuse autoextend on next 10M maxsize 1000M logging extent management local segment space management auto;

    b)  Correr el sql apexins.sql que instala Apex.

           SQL @apexins.sql APEX APEX TEMP /i/

    c) Una vez instalado el script sale del entorno sqlplus, hay que volver a conectarse:

         sqlplus / as sysdba

          Cambiar la contraseña de admin:

         SQL @apxchpwd.sql


     d) Preparamos Apex para ords

         SQL>@apex_rest_config.sql

     e) Ponemos en Cero el puerto 8080 que Apex configura por defecto, para no interferir
         con los puertos de Apache.

         SQL exec dbms_xdb.sethttpport(0);

      f) Instalar imágenes, este paso no lo encontré en otras documentaciónes acerca de
apex para ords, no estoy seguro pero considero necesario, de todas maneras no tuve
ningún inconveniente.

         SQL @apxldimg.sql /home/oracle

      g) Desbloquear el usuario anonymous y usuario de ords

        SQL alter user anonymous account unlock;

        SQL alter user apex_public_user account unlock;


         --- Fin de Paso 1 ---

2.-  Apache Tomcat 7


        a) Crear usuario tomcat y configurar el entorno:

            useradd tomcat

             vi /home/tomcat/.bash_profile
           
               export JAVA_HOME=/home/tomcat/jdk1.8.0_71
               export CATALINA_HOME=/home/tomcat/apache-tomcat-7
               export CATALINA_BASE=$CATALINA_HOME
               export CATALINA_PID=$CATLINA_HOME/tomcat.pid
               export CLASS_PATH=$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar


        a) Descargar de la página de Apache el archivo zip, en esta instalación
descarqué  apache-tomcat-7.0.65.zip

          unzip apache-tomcat-7.0.65

           Quedando tomcat instalado en:

          /home/tomcat/apache-tomcat-7.0.65

        b) Confituracion de Tomcat

            archivos a modificar:
                    usuario, contraseña y derechos:
                   /home/tomcat/apache-tomcat-7.0.65/tomcat-users.xml
                   datos del servidor: ip, puerto
                   /home/tomcat/apache-tomcat-7.0.65/server.xml

         Iniciar tomcat:

          $CATALINA_HOME/bin/startup.sh

         Para tomcat:

         $CATALINA_HOME/bin/shutdown.sh



         --- Fin de Paso 2 ---


3.- Instalación de Oralce Rest Data Services (Ords).-

      Los siguientes procesos se deben hacer como usuario tomcat:

     a) download ords 3 (en este caso) de www.oracle.com
          /home/tomcat/ords.3.0.0.343.07.58.zip

     b) unzip ords.3.0.0.343.07.58.zip

      mv /home/tomcat/ords.3.0.0.343.07.58 /home/tomcat/ords.3

      renombramos la carpeta para que el nombre sea mas corto.
      creamos la carpeta donde vamos a configurar ords

      mkdir /home/tomcat/ords-conf

      configuramos la ruta de configuracion de ords

      cd ords.3
      java -jar ords.war configdir /home/tomcat/ords-conf

      instalamos ords:   java -jar ords.war

             Configuramos los datos: host (puede ir la ip o localhost)
             puerto:  1521
             sid:  en caso de trabajar con oracle express, si no es mas seguro poner
             el servicio (sid.miservidor.com)

             A la pregunta:  instalar pl/sql gateway (1) o omitir(2)
             responder 1, instalar pls/sql gateway ya que vamos a trabajar con apex.

             Luego nos pide las contraseñas de los usuarios administradores:
             apex_public_user
             apex_listener
             apex_rest_public_user

              --Fin-de-la-instalacion.

    Ultimo paso: Deploying Apex - Desplegando Apex con Apache Tomcat
       
                Crear una carpeta /i/  en la ruta:
                      CATALINA_HOME/webapps/i

                Copiar el contenido de la carpeta apex/images a la carpeta i/ de Tomcat:

               cp -rf /home/oracle/apex/images/* $CATALINA_HOME/webapps/i/

              --Fin-del-Deploy


              http://localhost:8080/ords/

             Problemas comunes:

             Puede que nos encontremos con:

             Oracle Rest Dataservices 404 Not Found

              Para ver que esta pasando, cambiamos a modo debug en el archivo
              defaults.xml que esta dentro la carpeta de configuración de ords.

               true
              true

                Comprobar que el usuario apex_public_user no esta lockeado.

                sqlplus apex_public_user/password


                 Fin---------------------------------------------------------------



viernes, 19 de septiembre de 2014

Problemas en la instalación de oracle-xe 11g y debian 7 00845 memory_target

Siguiendo todos los pasos de la instalación de Oracle Express 11 g en debian ver. 7 (wheezy) el momento de realizar el último paso:
                                      /etc/init.d/oracle-xe configure
realiza la creación de la base de datos, pero finaliza con un error quedando trunca la instalación.
Revizando los logs en: /u01/app/oracle/product/11.2.0/xe/config
da un 00845 memory_target
La solución:

root@booz# df -k
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1        6272596 3365612   2592464  57% /
udev             1017052       4   1017048   1% /dev
tmpfs             410336     888    409448   1% /run
none                5120       0      5120   0% /run/lock
none             1025836      80   1025756   1% /run/shm

Notamos que no existe un área de memoria que oracle express usa
en sus instalaciones: /dev/shm

Montando el área de memoria /dev/shm
            Creamos un script para montar esta memoria en el path de inicio de oracle:
      /etc/init.d/oracle-shm

El contenido del archivo debe ser:

#! /bin/sh
# /etc/init.d/oracle-shm
#
#
case "$1" in
  start)
    echo "Starting script /etc/init.d/oracle-shm"
    # Run only once at system startup
    if [ -e /dev/shm/.oracle-shm ]; then
      echo "/dev/shm is already mounted, nothing to do"
    else
      rm -f /dev/shm
      mkdir /dev/shm
      mount --move /run/shm /dev/shm
      mount -B /dev/shm /run/shm
      touch /dev/shm/.oracle-shm
    fi
    ;;
  stop)
    echo "Stopping script /etc/init.d/oracle-shm"
    echo "Nothing to do"
    ;;
  *)
    echo "Usage: /etc/init.d/oracle-shm {start|stop}"
    exit 1
    ;;
esac
#
### BEGIN INIT INFO
# Provides:          oracle-shm
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Bind /run/shm to /dev/shm at system startup.
# Description:       Fix to allow Oracle 11g use AMM.
### END INIT INFO

chmod 755 /etc/init.d/oracle-shm

ubuntu:
update-rc.d oracle-shm defaults 01 99

debian:
insserv en vez de update-rc.d
Salida de update-rc.d :
Adding system startup for /etc/init.d/oracle-shm ...
  /etc/rc0.d/K99oracle-shm -> ../init.d/oracle-shm
  /etc/rc1.d/K99oracle-shm -> ../init.d/oracle-shm
  /etc/rc6.d/K99oracle-shm -> ../init.d/oracle-shm
  /etc/rc2.d/S01oracle-shm -> ../init.d/oracle-shm
  /etc/rc3.d/S01oracle-shm -> ../init.d/oracle-shm
  /etc/rc4.d/S01oracle-shm -> ../init.d/oracle-shm
  /etc/rc5.d/S01oracle-shm -> ../init.d/oracle-shm

El siguiente paso es reiniciar el sistema para que los
cambios tengan efecto.

df -k nos mostrará la creación de la target memory.

Filesystem     1K-blocks     Used Available Use% Mounted on
none             3571460   4858060   2947372  18% /dev/shm
/etc/init.d/oracle-xe configure

miércoles, 3 de octubre de 2012

Instalacion de Oracle11gXE en Debian 64 bit

La instalación es simple, a primera vista, hay que tener en cuenta los pasos y ejecutarlos en forma secuencial sin saltar ninguno.

1.- Bajar la base de datos de www.oracle.com

    http://www.oracle.com/technetwork/products/express-edition/downloads/index.html

 2.- Instalar los paquetes necesarios

       apt-get update  (recomendable)
       apt-get install libaio1 alien

3.-  descompactar con unzip

      unzip oracle-xe-11.2.0.1....zip

4.-
       cd /Disk1
       alien --scripts oracle-xe-11.2.0-1.0.x84_64.rpm
     

5.-  Crear el archivo /sbin/chkconfig

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01



derechos:  chmod 755 /sbin/chkconfig

6.- enlace simbolico a awk:  ln -s /usr/bin/awk /bin/awk
    
    crear carpeta: mkdir /var/lock/subsys


7.- Todo listo para la instalacion:

    dpkg --install ./oracle-xe_11.2.0-2_amd64.deb

     /etc/init.d/oracle-xe configure


Fin de Instalacion.

       

jueves, 29 de diciembre de 2011

Instalar Oralce express 10g y apex 4.0.2 en debian squeeze

Tratando de ser sintetico, los pasos para la base de datos son los siguientes:

Agregar a /etc/apt/sources.lst la siguiente linea:
deb http://oss.oracle.com/debian unstable main non-free

Escribir:
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle
apt-key add RPM-GPG-KEY-oracle

Update del sources.lst:
apt-get update

Instalar:
apt-get install oracle-xe

-Fin de la instalación de la base de datos.

Instalación de Apex 4.0.2

Descargar de otn.oracle.com apex para linux.

Loguearse como oracle

desempaquetar en /usr/lib/oracle/xe (se puede instalar en otro lugar)

unzip apex_4.0.2.zip

crea la carpeta /usr/lib/oracle/xe/apex

cd apex/

sqlplus /nolog

conn sys as sysdba

Instalacion apex:

@apexins mi_contraseña SYSAUX SYSAUX TEMP /i/

Contraseña de admin

@apxxepwd.sql

Configuración de la ruta donde estan las imágenes

@apxldimg /i/

Como último paso en caso de no poder acceder desde otra pc
configurar:

SQL> exec DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

y listo!

Nota:

Existe una carpeta "utilities" dentro de apex

donde se puede reconfigurar la ruta de imágenes:

reset_image_prefix.sql

Para esto, sqlplus sys as sysdba

@reset_image_prefis.sql /nuevarutacompleta

Un aspecto sensible de la instalación de esta versión en oracle 10g.

lunes, 20 de junio de 2011

Conectar Forms 6i con Oracle 11g

Una pequena experiencia tuve cuando instale oracle 11g express edition y quise conectar on forms 6i, en principio no pude y el primer problema presentado es que se colgaba tanto forms como sqlplus.
Para solucionar esto, tuve que cambiar el set de caracteres a UTF8, de la siguiente manera:

C:\>sqlplus /nolog
SQL> connect / as sysdba
Conectado.
SQL> shutdown immediate
SQL> startup restrict
SQL> alter database character set internal_use UTF8;
SQL> shutdown immediate
SQL> startup

Me pude conectar correctamente pero cuando llamaba un form a otro, me salia

ORA - 1017

pidiendome nuevamente el usuario y password.
Investigando un poco encontre que la version 11g viene con el modo sensible a las mayúsculas y minúsculas. Algo a lo que no estamos acostumbrados en forms. La solución fué cambiar el parametro: sec_case_sensitive_logon de TRUE a FALSE, con
la instrucción:

alter system set sec_case_sensitive_logon = FALSE

Si bien encontre usuarios que recomiendad dejar el forms porque no está avalado por Oracle para el correcto funcionamiento con 11g, por circunstancias conocidas por los programadores, nos vemos obligados todavia a continuar con el uso del forms 6i.
Cualquier otro inconveniente lo daré a conocer.