martes, 28 de julio de 2020

Jasper Repors - Tomcat - Ords

   Integración sin costo de Jasper Reports con Apex - Ords de Oracle y Apache Tomcat

En este artículo vamos a ver la integración de Jasper Reports, basándonos en el libro de 
la Ing. Clarisa Mamán Orfali, cuyo título es similar.
La diferencia está en que en vez de hacerlo con glassfish, uso Apache Tomcat.

Paso 1:
                Descargar Jasper Reports Integration zip de www.opel-consulting.de

# wget http://www.opal-consulting.de/downloads/free_tools/
JasperReportsIntegration/2.4.0/JasperReportsIntegration-2.4.0.0.zip

Paso 2:
             Crear la carpeta JasperReportsIntegration dentro la carpeta webapps de apache tomcat.
             copiar JasperReportsIntegration-2.4.0.0.zip dentro la carpeta creada y unzipear.
             copiar JasperReportsIntegration.war a la carpeta webapps donde se encuentra
             ords.war

Paso 3:
              Configurar el J2EE server tanto en Ords como en JasperReports:

               Dentro la carpeta donde se instala Oracle Ords
                entrar a la carpeta donde se hizo el configdir, en mi caso:
               # cd ords19-config/ords
               # vi default.xml 
                agregar: 
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=esdras.cirmedico.com)(PORT=1522)
)(CONNECT_DATA=(SERVICE_NAME=cm12c.cirmedico.com)))::


en JasperReportsIntegretion/WEB-INF/conf

vi application_properties

url=jdbc:oracle:thin:@miservidor:1521:mi_sid


Paso 4:
      Instalar en Apex el formulario f121_JasperReportsIntegration
      en el workspace en uso.

lunes, 25 de mayo de 2020

cambiar set de caracteres a la base de datos oracle

SOLUCION SQL> shutdown immediate;
Base de datos cerrada.
Base de datos desmontada.
Instancia ORACLE cerrada.
SQL> startup mount;
Instancia ORACLE iniciada.

Total System Global Area 2.0310E+10 bytes
Fixed Size 2212976 bytes
Variable Size 1.1006E+10 bytes
Database Buffers 9126805504 bytes
Redo Buffers 175132672 bytes
Base de datos montada.
SQL> ALTER SYSTEM ENABLE RESTRIcted session;
Sistema modificado.

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
Sistema modificado.

SQL> alter database open;
Base de datos modificada.

SQL> ALTER DATABASE NATIONAL CHARACTER SET WE8MSWIN1252;
ALTER DATABASE NATIONAL CHARACTER SET WE8MSWIN1252
*
ERROR en linea 1:
ORA-12714: juego de caracteres nacional especificado no valido


SQL> ALTER DATABASE CHARACTER SET WE8MSWIN1252;
ALTER DATABASE CHARACTER SET WE8MSWIN1252
*
ERROR en linea 1:
ORA-12712: el juego de caracteres nuevo debe ser un superjuego del juego de
caracteres antiguo


SQL> UPDATE PROPS$ SET VALUE$ = 'WE8MSWIN1252' WHERE NAME = 'NLS_CHARACTERSET';

1 fila actualizada.

SQL> commit;

Confirmacion terminada.

SQL> shutdown immediate;
Base de datos cerrada.
Base de datos desmontada.
Instancia ORACLE cerrada.
SQL> startup;
Instancia ORACLE iniciada.

Total System Global Area 2.0310E+10 bytes
Fixed Size 2212976 bytes
Variable Size 1.1006E+10 bytes
Database Buffers 9126805504 bytes
Redo Buffers 175132672 bytes
Base de datos montada.
Base de datos abierta.
SQL> select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET';

VALUE
----------------------------------------
WE8MSWIN1252

--La base nuevamente y la volvi a subir par aver que hubiera tomado los cambios permanentemente

Lance nuevamente la importacion , ya NO ambiente la variable NLS_LANG
imp usuario/contraseña file=archivo.dmp log=imp_110916_1439_archivo.log ignore=y statistics=none fromuser=deusaurio touser=ausuario

Import terminated successfully with warnings.

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.