EDISA en SPOUG 2024: 30 años de colaboración e innovación junto a Oracle
Nos complace anunciar nuestra participación en la Convención Anual de SPOUG 2024, el próximo 22 de octubre en Madrid. Este evento, reconocido por reunir a los principales líderes del sector tecnológico, es una oportunidad excepcional para fortalecer el networking y compartir experiencias con referentes del ecosistema Oracle. Como empresa con más de tres décadas de experiencia en soluciones ERP, para nosotros es fundamental estar presentes en un espacio donde la tecnología y la innovación son los grandes protagonistas.
En esta edición, aprovecharemos la ocasión para presentar nuestra última innovación: LIBRA LUA, el nuevo módulo de LIBRA ERP basado en inteligencia artificial. Este desarrollo tiene como objetivo optimizar la gestión y la toma de decisiones en las empresas, un desafío cada vez más complejo en el entorno empresarial actual. LIBRA LUA es el reflejo de nuestro compromiso continuo con la evolución tecnológica y responde a las necesidades crecientes de automatización y análisis predictivo en nuestros clientes.
Este año es particularmente especial para nosotros, ya que celebramos 30 años de colaboración con Oracle. Esta relación ha sido clave en nuestra evolución y en el desarrollo de soluciones robustas y escalables para diversas industrias. A lo largo de estas tres décadas, hemos trabajado codo a codo con Oracle para implementar tecnología de vanguardia, permitiendo a nuestros clientes adaptarse a los cambios del mercado y aprovechar al máximo las oportunidades que ofrece la transformación digital.
SPOUG 2024 será una excelente oportunidad no solo para compartir nuestras últimas novedades, sino también para conocer las tendencias más punteras en Oracle Cloud y GenAI, áreas clave para el futuro de la gestión empresarial. Estamos convencidos de que será una jornada muy enriquecedora, donde podremos seguir estrechando lazos con nuestros socios tecnológicos y clientes.
¡Nos vemos en Madrid!
EDISA recibe el reconocimiento como Partner del Año por parte de ORACLE
EDISA acaba de participar en la reunión anual de Partners de ORACLE, que este año ha tenido lugar en Málaga. En esta reunión, en la que han participado los representantes de las empresas proveedoras de soluciones basadas en tecnología ORACLE, se han presentado las principales novedades a nivel tecnológico, entre las que destacamos las siguientes:
- La orientación generalizada de los productos de la multinacional hacia el Cloud: Se ha presentado el despliegue actual y el previsto para final de este año. EDISA cuenta en estos momentos con varias instancias en los Cloud de Frankfurt y de Toronto, para dar soporte a clientes tanto en el continente europeo como en Latinoamérica.
- Blockchain: Se han presentado ejemplos diversos orientados al sector empresarial, de esta nueva tecnología, que se prevé como una tendencia clara para los próximos años.
- Chatbox e interfaces avanzados para la comunicación hombre-máquina.
- Inteligencia Artificial: con nuevas opciones para incorporar algoritmos avanzados dentro de las aplicaciones de gestión empresarial.
Finalizadas las presentaciones por parte de ORACLE, tuvo lugar un almuerzo en el que EDISA recibió uno de los reconocimientos como Partner del Año, por el trabajo realizado en torno a LIBRA y por el crecimiento y potencial demostrado en los últimos años.
Actualización de Java 1.7.0_45 y Libra sobre Forms 11g
Desde la actualización de java a Java 1.7.0_45 los clientes que tienen una versión de Libra sobre Forms 11g les muestra un mensaje similar al siguiente:

Enero del 2014 es la fecha que ha puesto Oracle a la actualización que bloqueará las aplicaciones que no cumplan con los requisitos de seguridad marcados: https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias.
Oracle ya ha publicado el parche 16837591 de Forms 11.1.2.1.0 y en Edisa el entorno 6.1.2 de Libra ya incluye las modificaciones necesarias para adaptarse a las nuevas exigencias de seguridad de Java. Durante los próximos días técnicos de Edisa se pondrán en contacto con todos los clientes que tienen Libra desplegado sobre la plataforma de Forms 11g, para realizar la actualización necesaria.
Aprovechando la necesidad de esta actualización, hemos ampliado la duración de nuestro certificado de firma de código al máximo posible de 3 años, por lo que la actualización que se efectuará será válida hasta Octubre del año 2016.
Para más información pueden ponerse en contacto con nuestro departamento de soporte.
ORACLE anuncia que tras Forms 11, vendrá Forms 12 y también una nueva versión de Reports
ORACLE ha publicado una guía tecnológica que coincide con la línea de evolución que está siguiendo LIBRA desde el punto de vista técnico.
En este primer trimestre de 2012, EDISA ha sacado la versión de LIBRA para forms 11, a la que se pretende ir evolucionando a los clientes en los próximos años. Se trata del último entorno disponible en ORACLE, que utiliza WEB LOGIC como servidor de aplicaciones y que permite combinar aplicaciones desarrolladas en el entorno Java de Oracle (ADF), en el que también se está trabajando.
Ahora ORACLE anuncia que tras esta versión 11, vendrá una versión 12, lo que supone el respaldo decidido por parte de ORACLE a este entorno para los próximos años. ORACLE justifica esta apuesta, porque se trata de la tecnología utilizada en las aplicaciones de gestión de una gran cantidad de empresas medianas y grandes a nivel mundial, incluyendo entre otras las propias aplicaciones de gestión de ORACLE.
Además, el soporte se extiende también a Reports, si bien se propone B.I Publisher como una alternativa para enriquecer la capacidad de generación de informes del entorno de trabajo propuesto.
http://www.oracle.com/technetwork/issue-archive/2010/toolssod-3-129969.pdf
Caso de Exito en la recuperación de base de datos ORACLE
Este tipo de casos lo mejor sería que no existiesen, ya que la pérdida de datos para una empresa es algo que puede generar graves pérdidas, pudiendo incluso condicionar la propia continuidad de la empresa.
Sin embargo, ninguna empresa está exenta de que pueda ocurrir, lo que esta misma semana ha pasado en una de una de nuestras empresas clientes, usuaria de nuestro sistema de gestión empresarial (ERP-CRM) LIBRA:
- Pérdida del RAID, con la pérdida total de los datos, tanto del disco principal como del espejo.
- Corrupción de la copia de seguridad disponible en la cinta.
- Pérdida de los datos de copia en disco, que se hacían en el mismo sistema central.
La mayor parte de las empresas cumplen con la "rutina" de hacer la copia, pero prácticamente ninguna hace una comprobación periódica de que lo que está copiando podría recuperarse en caso de necesidad y son pocas también las que siguen pautas de conservar las copias en varios soportes y en un emplazamiento diferente al del sistema principal.
A continuación se describe el proceso seguido para la recuperación.
- Se pudo reconstruir parte del RAID, recuperando los datafiles de la base de datos.
- Un fichero de control de los datafiles estaba corrupto y los otros ficheros de control estaban en un SCN diferente al de los datafiles, por lo que la base de datos no se pudo levantar utilizando los mecanismos de emergencia habituales (Reset logs, recrear ficheros de control, etc)
- A partir de este punto, la solución planteada fue intentar leer los propios datafiles, aspecto que se consiguió a través de una herramienta de recuperación a la que afortunadamente hemos tenido acceso.
Todo el proceso anterior ha supuesto varios días de parada para la empresa, pero finalmente se han podido recuperar los datos que ha sido lo más importante. La propia empresa nos ha indicado la conveniencia de compartir este caso como experiencia para que a nadie más le ocurra en la medida posible.
En próximas entradas daremos acceso a un documento titulado "buenas prácticas de copia de seguridad", para insistir en este importante aspecto.
Instancia es igual a Procesos y Estructuras de memoria
Instancia es igual a Procesos y Estructuras de memoria
La definición de una instancia es sencilla y básica, es un conjunto de estructuras de memoria que manejan los archivos de la base de datos, cuando inicia la instancia, con ella inician procesos de fondo (Background Process), como el LGWR, PMON, etc.
Importante saber que al menos una base de datos activa o mejor dicho que esta corriendo, debe de tener una instancia asociada. De la misma manera, como la instancia existe en memoria y la base de datos existe en disco, una instancia puede existir sin una base de datos y una base de datos puede existir sin una instancia, si no me crees esto, haz la prueba, arranca la instancia en modo nomount y veras que sin existir los datafiles,controlfiles y redo logs puedes iniciar la instancia.
TESTDB >startup nomount
ORACLE instance started.
Total System Global Area 1369989120 bytes
Fixed Size 2158184 bytes
Variable Size 268439960 bytes
Database Buffers 1090519040 bytes
Redo Buffers 8871936 bytes
oracle@localhost [TESTDB] /mount/dba01/oracle/TESTDB/admin
oracle $ ps -eaf | grep TESTDB
oracle 27411 1 0 01:21:35 ? 0:00 ora_pmon_TESTDB
oracle 27448 1 0 01:21:37 ? 0:00 ora_ckpt_TESTDB
oracle 27435 1 0 01:21:37 ? 0:00 ora_dia0_TESTDB
oracle 27439 1 0 01:21:37 ? 0:00 ora_dbw0_TESTDB
oracle 27454 1 0 01:21:37 ? 0:00 ora_mmon_TESTDB
oracle 27415 1 0 01:21:35 ? 0:00 ora_psp0_TESTDB
oracle 27444 1 0 01:21:37 ? 0:00 ora_dbw1_TESTDB
oracle 27431 1 0 01:21:37 ? 0:00 ora_diag_TESTDB
oracle 27446 1 0 01:21:37 ? 0:00 ora_lgwr_TESTDB
oracle 27452 1 0 01:21:37 ? 0:00 ora_reco_TESTDB
oracle 27450 1 0 01:21:37 ? 0:00 ora_smon_TESTDB
Aqui abajo esta una pequeña gráfica de como se conforma una instancia:
Y debido a lo que platicamos arriba, es lo que permite la conflagración para RAC (Real Application Cluster), asi también es importante saber que una instancia no puede tener asociada una sola base de datos a la vez, o sea que no puedes montar dos base de datos en una instancia.
MemoriaLa memoria SGA tiene 3 estructuras básicas:Database buffer cache.- Es el área de memoria que almacena copias de los bloques de datos leídos de los data files. También a esta área se le conoce nada mas como Buffer Cache. Esta sección de la memoria tiene tres estados.
-
- Sin Usar (Unused).-El buffer esta disponible por que nunca se ha usado o actualmente esta sin usar.
- Limpia (Clean).-Este buffer fue usado previamente, y ahora contiene una version consistente del bloque de datos en un punto en tiempo. El bloque contiene datos, pero este se puede decir que esta limpio, ya que no se le necesita hacer un checkpoint a los datos.
- Sucia (Dirty).-El buffer contiene datos que no han sido escrito a disco, Oracle necesita hacer un checkpoint del bloque de datos antes de reusarlo.
Para manejar estos estados, Oracle tiene un algortimo llamado LRU (Least Recently Used), lo que hace este algoritmo es sacar del buffer a los bloques de datos menos usados y que ya se le hayan hecho un checkpoint para asi poder subir al Buffer Cache nuevos datos y evitar sacar del Buffer Cache los datos que se usan con frecuencia.
Shared Pool .- Esta área de memoria guarda SQL analizado (Parsed),parámetros del sistema y el diccionario de datos (Data Dictionary Cache y Library Cache).
Redo Log Buffer.- Esta estructura de memoria en el SGA, que guarda los registros de Redo, estos contienen la información necesaria para reconstruir los cambios hechos por DDLs o DMLs a la base de datos.
Procesos
Existen varios que son obligatorios, como los mencionados aqui abajo, de la misma manera existen muchos procesos que se inician una vez que añades alguna funcionalidad, como el ARCn, que es cuando la base de datos esta en modo archivelog.
PMON.- La funcionalidad de este proceso es la de monitorear que los demás procesos de la instancia estén corriendo, a su vez es responsable de limpiar el Database Buffer Cache y limpiar recursos que el cliente haya utilizado.
SMON.-La tarea principal de este proceso es la de limpieza a nivel sistema, y también una de las tareas principales de este proceso es llevar a cabo la recuperación al iniciar la instancia cuando anteriormente finzalizo de una manera abrupta, como un shutdown abort o un crash del servidor.
CKPT.-Su función es la de actualizar las cabeceras de los control files y de los data files, con información de Checkpoint (SCN, Posición de Checkpoint, etc), a su vez la avisa al DBWn que debe de escribir los bloques del Buffer Cache a disco. Muy importante saber, que el CKPT no escribe los datos, ni al Redo Log ni a los data files.
DBWn.-Este proceso escribe los contenidos sucios del buffer Cache, a este proceso se le conoce como un proceso flojo, ya que por si solo no escribe a disco, este unicamente escribe a disco cuando no hay bloques de datos limpios en el buffer cache o cuando CKPT le informa que debe hacerlo.
LGWR.- De lo que se encarga es de escribir los Redo Log Buffers a disco (Online Redo Log). Este proceso utiliza un método que se le conoce como Fast Commit. Cuando un usuario ejecuta un commit, a la transacción se le asigna un SCN (System Change Number), LGWR pone una marca de commit en el Buffer Cache e inmediatamente escribe a disco, cuando se han escrito estos datos en el Online Redo Log, el proceso actualiza el Buffer Cache haciendo mención de que estos ya se escribieron a disco.
Conclusión
Espero que esta pequeña explicación te ayude a comprender la diferencia entre la Instancia y lo que en Oracle se conoce como Base de Datos. De la misma manera los procesos básicos y memoria basica de la instancia, para los procesos y la memoria existen mas de los mencionados aqui, pero estos son los minimos necesarios en una configuracion de Oracle.
Artículo vía:
http://oracleenespanol.blogspot.com/2011/03/instancia-es-igual-procesos-y.html
Ejemplo de llamada a una función Java desde Oracle
Oracle permite integrar código Java en el propio motor de base de datos, en esta entrada se muestra un pequeño ejemplo.
El código Java a ejecutar se puede incorporar a la base de datos cargando un archivo .jar mediante la instrucción loadjava (comando de sistema operativo que se encuentra en el directorio BIN de la base de datos) o creándolo directamente de forma similar a como se crea una función, procedimiento o paquete. En este ejemplo se usa esta segunda opción.
El siguiente código recibe por parámetro una fecha, desglosada en 6 campos numéricos (año, mes, día, hora, minuto y segundo) y la devuelve en formato texto:
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "JavaDate" AS
package pruebas;
import java.util.Calendar;
public class JavaDate {
public static String getString(int anho, int mes, int dia, int hora, int minuto, int segundo) {
Calendar calendar;
calendar = Calendar.getInstance();
calendar.set(anho, mes, dia, hora, minuto, segundo);
return calendar.getTime().toString();
}
}
Una vez está el código Java creado en la base de datos, hay que crear una función o procedimiento para llamarlo:
CREATE OR REPLACE FUNCTION f_javadate(p_anho NUMBER,
p_mes NUMBER,
p_dia NUMBER,
p_hora NUMBER,
p_minuto NUMBER,
p_segundo NUMBER) RETURN VARCHAR2 IS LANGUAGE JAVA
NAME 'pruebas.JavaDate.getString(int, int, int, int, int, int) return String';
Oracle devuelve OpenOffice a la comunidad open source
Cuando Oracle realizó la compra de Sun hubo dos grandes proyectos que se vieron afectados: la base de datos MySQL y la suite ofimática OpenOffice. En relación con la suite, Oracle intentó convertirla en una aplicación comercial adoptando una serie de medidas contrarias al pensamiento de los desarrolladores independientes que llevaban trabajando en el proyecto desde hacía años.
Estos desarrolladores, miembros de la Document Foundation, decidieron hace unos meses desvincularse totalmente de Oracle y publicar LibreOffice, una adaptación de OpenOffice pero libre de las decisiones de la compañía.
Ahora Oracle parece que ha comprendido lo valioso que es tener una comunidad open source detrás de un proyecto y ha decidido no ofrecer más versiones comerciales de OpenOffice, devolviendo la dirección del proyecto de nuevo a la comunidad.
Ejemplo de consulta desde Oracle a un webservice para obtener el cambio de divisas del EURO
El Banco Central Europeo dispone de un webservice en donde publica el cambio diario de divisas del Euro a otras divisas, para acceder a esa información se dispone de esta URL: http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
En este ejemplo se busca obtener de forma muy simple mediante una SELECT la lista de divisas y su correspondiente cambio.
Read more



