Archive for agosto, 2007

ORA-00604 se ha producido un error a nivel 1 de SQL recursivo. ORA-01655 con GeneXus y Oracle

martes, agosto 28th, 2007


ORA-00604: se ha producido un error a nivel 1 de SQL recursivo.
ORA-01655: no se ha podido ampliar el cluster SYS.c_FILE#_BLOCK# con 8 en el tablespace SYSTEM

Testeando una aplicación con .NET y Oracle 10g Express Edition al crear la base de datos con GeneXus, la misma falló indicando el error mencionado.

La versión de Oracle 10g Express es limitada en algunos aspectos.
Por default en su instalación define un tablespace system, undo, otro de usuarios y no posee una administración gráfica de estos objetos.
Es decir no existe posibilidad de manipular, alterar tamaño etc, de estos objetos de forma gráfica y hay que ejecutar comandos en línea.

El error se debía a que el tablespace de system es definido por default con 600 mb y (por apresurado) al crear el usuario/esquema con el cual corrí la creación de las tablas no lo asocié con otro tablespace que no sea system, por ejemplo “users” y llené el datafile de system.

La solución sería borrar el usuario creado con opción cascada y así borraría todas las tablas creadas hasta el momento y crear nuevamente el usuario asociándolo al tablespace correcto.

La otra alternativa, más rápida, sería agrandar el tablespace system con el siguiente comando de línea.

ALTER DATABASE DATAFILE ‘D:\ORACLEXE\ORADATA\XE\SYSTEM.DBF’ RESIZE 1000M;

Pero como comenté antes es lo menos recomendable, pero también funciona si es algo rápido y no definitivo que estamos probando simplemente.

Si te interesa saber, las limitantes para usar Oracle 10g Express Edition son:

1 GB de memoria para el servidor de base de datos
1 procesador
Una instancia por equipo
Espacio disponible para datos e índices 4GB.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

error CS0117: ‘com.genexus.ui.GXColumna’ does not contain a definition for ‘refreshOnChange’ con GeneXus e .NET

domingo, agosto 26th, 2007

Me encontré con este error migrando una aplicación VB para .NET Win.
El problema se debía a que un work panel tenía la propiedad “when to refresh” que estaba seteada para “while variables are being modified”, y dicho workpanel no tenía ninguna condición de filtro asociada a ninguna variable. Es decir evidentemente en alguna época tuvo una condición de filtro que cuando se cambiaba el valor hacía el refresh en la grilla y luego se quitó, quedando la propiedad seteada con un valor incorrecto, ya que no era necesaria.
Esto funcionaba sin inconvenientes en Visual Basic, pero a .NET no le gustaba.

Solución: setear por default la propiedad “when to refresh” para “when a grid receives focus”.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

El dolor no tiene nacionalidad.

jueves, agosto 16th, 2007


El dolor no tiene nacionalidad. Fuerza Perú!

Relacionado con el post de Fernando me pareció interesante publicar esta foto acerca del kit terremoto, basado en los acontecimientos de Perú.
Es sacado del sitio de la Globo donde habla que ante hechos como estos, estar preparados con una mochila con medicamentos, documentos, y agregado con otro artículo más, se refiere a agregar agua, una linterna y algo de comer.
Es bueno tener en cuenta este tipo de cosas siempre, ya que el mundo ya no es tan amigable últimamente y esto puede volver a suceder a cualquier hora y en cualquier lugar.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

De los reality shows al trabajo en equipo

miércoles, agosto 15th, 2007

El otro día visité los lares de Gustavo Carriquiry quien comentó acerca del sitio www.materiabiz.com, el cual realmente está muy interesante.
Navegando llegué a un artículo que hablaba de Peter Senge.En una parte del texto decía:

Para Senge, la conversación es la clave del aprendizaje organizacional. Promoviendo espacios de conversación sobre diversos temas desde una perspectiva sistémica puede difundirse una visión compartida fundamental para el trabajo en equipo.

Y que tiene que ver esto con los reality shows?

Hace unos años cuando vivía en Venezuela, y comenzaba a madurar en el área profesional, tuve la oportunidad de dirigir un gran equipo de trabajo. El cual lo vi nacer, lo vi crecer, y el día que lo tuve que dejar, me llenó de orgullo y emoción, porque además de grandes compañeros de trabajo, creamos una sinergia muy interesante.

Como todas las cosas, no siempre fue color de rosas, pero el equipo creció y ganó “nombre” dentro de la empresa en su época y todo se debió a ciertas prácticas realizadas diariamente, semanalmente, etc.

Recuerdo en aquellos años, asistía todas las noches el canal argentino América 2. Me había enganchado con un Reality Show llamado “El Bar”, donde una vez a la semana se juntaban para nominar a alguien dando sus argumentos, etc, nada diferente a lo que cualquier reality show muestra hoy, pero como fue el primero que vi, era algo nuevo para mí.

Entonces en aquella época, decidí armar una reunión semanal donde cada uno hablaría de lo “bueno” y lo “malo” de la semana, en que podíamos mejorar, y que no nos había caído bien en la semana (obviamente no despedíamos a nadie de la empresa :)).
Y así fuimos creciendo, contando en que estábamos en cada proyecto, tanto dentro de la empresa y cuando era apropiado, también fuera, de esa forma daba para conocer un “todo” de cada integrante y tener con claridad como estábamos en realidad, siempre en un espiral, retroalimentando nuestros proyectos como también nuestro equipo. A esto siguieron otras actividades, que luego crecieron para otro equipo de la empresa. Evaluaciones mensuales, creo que todo fue positivo.
Personalmente, aprendí mucho acerca de que cosas estaban faltando, como se podían corregir, etc. Y no solo técnicas, sino también personales.

Y leyendo el artículo de Senge, no tengo que decir que es obvio, que la conversación, es fundamental para sacar un equipo adelante, lo viví en carne propia, y lo que más aprendí, es que no podemos jamás estar ajenos a los problemas individuales, aunque no estén relacionados con la empresa, porque no podemos descuidar ni un eslabón de la cadena, y también aprendí, que siempre hay algo positivo en cosas que parecen irrelevantes, como por ejemplo un Reality Show. Siempre hay algo que sirve en todos lados, el secreto está en saber que es lo que estamos buscando, y cuando lo encontramos, aplicarlo de la mejor forma posible en beneficio de todos.

En recuerdo a mis amigos venezolanos, subí unas fotos que pude conseguir con parte del equipo. A quienes recuerdo con el mayor afecto.

gxadmin
intercable

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

ORA-03113 end of file on communication file en Oracle con comando Analyze

lunes, agosto 13th, 2007

El otro día comentaba un error de Oracle ORA-03113 el cual sinceramente, es uno de los más desagradables que puede dar Oracle, porque ciertamente, antes de ocurrir este error ocurrió otro previo.
En el post anterior refería a un renombrado de tablas y pérdida de estadísticas.
Bien, la solución era Analizar las tablas involucradas nuevamente.
Como prevención comenzamos a utilizar esta estrategia, pero nos encontramos con el mismo error, pero ahora desde el Sqlplus.
El problema era que algunas de las tablas que queríamos Analizar, tenían dentro de las columnas claves, “caracteres extraños” del tipo chr(10) chr(13), etc.
Para descubrir esto simplemente bastó hacer un group by por cada campo de la tabla y en algunos casos ya obtuvimos el ORA-03113

Ejemplo:

Tabla1
Col1 char(30)
Col2 char(30)
Col3 char(30)

Col1
A
A
B

Col2
A||B
A||C
AB

(Los || simulan los caracteres especiales que no los puedo reproducir en el post)

Col3
A
B
C

Al realizar un select Col1,count(*) from Tabla1 group by Col1;
El resultado es correcto

Idem para Col3

Pero al realizar la consulta para Col2, luego de no demorar mucho, obtenemos el ORA-03113

Por fortuna, estábamos a punto de instalar el patch 4547809 para Oracle 9.2.0.8 lo cual fue realizado, y para nuestra sorpresa… los analize comenzaron a funcionar perfectamente.

Entonces recomiendo actualizar este patch para quienes no lo hayan hecho y estén con Oracle 9 ya que además de este, soluciona un paquete grande de bugs.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Errores Fatales

domingo, agosto 12th, 2007

Días atrás, la portada de la revista ISTOÉ hacía referencia al mayor accidente aéreo de Brasil con el siguiente título:

Los errores fatales
Un AIRBUS sin un motor reverso funcionando, sin spoiler, y con una palanca trabada.
Una pista resbaladiza, sin ranuras para escurrir el agua, y sin área de escape.
Un avión con peso al límite y lleno de combustible.
Y la culpa es del piloto?

Lamentablemente es difícil saber la causa de ese accidente terrible, mismo porque con tantos intereses en juego, realmente a veces es querer mucho que la verdad salga al aire.

Existen ciertas condiciones generales que realmente no son las preferibles, como por ejemplo el no tener un área de escape al finalizar la pista en caso de no conseguir aterrizar en el largo total de la misma entre otras.
Si a esas condiciones se les agrega cansancio o simplemente un error humano, los resultados pueden ser lamentables.

Es difícil comparar una tragedia tan grande, con nuestra actividad profesional, pero en realidad si puede estar ligado, no olvidemos que el AIRBUS es informáticamente más sofisticado que un BOEING, entonces de alguna u otra forma algún informático siempre está relacionado hoy por hoy casi en cualquier evento cotidiano.

Cual es la reflexión?

Pueden ser varias, pero en particular lo que vino a la mente cuando vi la revista, fue una mala experiencia que no llega ni por lejos a compararse a nada de esta tragedia, pero que me sirvió mucho para saber cuando parar.

Era una implantación de un sistema muy exigida en tiempos, donde pasábamos trabajando hasta prácticamente 72 horas seguidas sin descansar, y cuanto más tiempo pasa, tu capacidad de razonar es inversamente proporcional a tu cansancio, lo que en nuestra profesión puede ser fatídico.
Recuerdo que debido al cansancio acumulado algo que debería ser realizado en 30 minutos máximo en buenas condiciones, llevó más de 4 horas y para empeorar la situación un evento inesperado hizo que perdiera todo ese trabajo.
A quien no le ha pasado esto?

Entonces si uno a veces se pone a comparar situaciones, a veces tenemos que pensar 2 veces antes de decir “es posible” cuando realmente las condiciones no son las preferibles, tenemos que ver si vale la pena seguir, o parar, descansar y comenzar de nuevo en mejores condiciones.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

ORA-03113 end of file on communication file con GeneXus y Oracle

viernes, agosto 10th, 2007

En algunos casos tenemos algunos reportes pdf o excel que van sobre un DataView GeneXus que apunta a Views complejas en Oracle, para ganar performance.
Hace algunos días renombramos algunas tablas que participan en algunas de esas views y nos encontramos con un error ORA-03113 ejecutando la aplicación.
Lo interesante es que pasaba en un servidor y en otro no.
La diferencia estaba en la capacidad de uno y otro, procesador, memoria, etc, en el que no daba problema, eran mayores que en el servidor que retornaba el error.
Luego de buscar que había cambiado de una fecha para acá, encontramos que podría ser el “renombrado de tablas” la causa del problema.
Solución corrimos las estadísticas nuevamente para las tablas renombradas y todo volvió a la normalidad.

Ejemplo:

analyze table nuestratabla compute statistics;

Existen distintas variantes del comando analyze pero con la más simple de todas, ya soluciona el problema.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com