Error inesperado

Richard, buena tarde

Todos los proyectos funcionaban bien, pero hoy amanecimos con que en la parte inferior de donde nos logueamos en cada proyecto está apareciendo el siguiente error

 "El Registro de éste tipo, NO se puede ingresar más de una vez; Editelo y haga los cambios necesarios" 

Al tratar de loguearnos N veces, entra al proyecto, pero al ejecutar las operaciones reaparece dicho mensaje y NO deja trabajar

Espero me pueda colaborar como siempre

Saludos

Solucionado, al parecer el PK entre proyectos para los logs, crea una duplicidad, opté por eliminar las sessiones almacenadas

DELETE FROM desarrollo.apex_sesion_browser where proyecto = ‘my_proyecto’;
DELETE FROM desarrollo.apex_log_objeto where objeto_proyecto = ‘my_proyecto’;
DELETE FROM desarrollo.apex_solicitud where proyecto = ‘my_proyecto’;
DELETE FROM desarrollo.apex_solicitud_browser where proyecto = ‘my_proyecto’;
DELETE FROM desarrollo.apex_sesion_browser where proyecto = ‘my_proyecto’;

Existe algún comando o propiedadad para desactivar que se almacenen esta auditoria ?

Hola Jhon,

no existe comando para desactivar el registro de las sessiones, las mismas se almacenan siempre.

Por otra parte, lo que me resulta extraño es que la mayoria de dichas tablas usan una secuencia como PK, por lo que no se deberia suceder este hecho a menos que se hayan insertado registros de manera manual y no se haya actualizado la secuencia correspondiente.

En tu caso, en lugar de simplemente eliminar los datos para el proyecto, hubiera analizado el motivo por el cual dichos logs se alteraron, ya sea la restauracion de una base, el ingreso manual de datos o que.

Saludos

Richard, le dimos vuelta al caso y lo raro es que la base toba_2_0 que se instala, NO se maneja nada manualmente, por lo tanto descartado error humano.

Lo curioso es que la secuencia de la tabla apex_solicitud, la actualizamos manualmente al último valor mas otra ventaja, pero al cabo de algún tiempo vuelve y se retraza con respecto al valor de la tabla y los proyectos se paran por dicho error.

select max(solicitud) FROM desarrollo.apex_solicitud – bd 1.000.016 sql 1.012.951

Si me puedes seguir analisando otras soluciones te agradecería.

Saludos y gracias

Hola Jhon,

esto es porque se estan realizando inserts que contienen un valor para dicho campo, por tanto no se usa la secuencia correctamente y no se actualiza como deberia. Si no hay un ingreso manual, quizas algun item en codigo esta insertando valores en dicho campo, de otra manera se deberia estar utilizando la secuencia, otra opcion es que no se actualice correctamente al finalizar alguna operacion sobre la instancia de toba.

Te hago una consulta extra, han notado si este inconveniente surge luego de una regeneracion o de alguna otra accion en particular?

select max(solicitud) FROM desarrollo.apex_solicitud -- bd 1.000.016 sql 1.012.951

Te diria que en lugar de ejecutar dicha SQL, utilices el comando toba base actualizar_secuencias se creo puntualmente para eso y ademas te asegura que quedan todas actualizadas y no falta ninguna.

Saludos

Richard, retomado este punto
el comando que recomiendas toba base actualizar_secuencias,
desde donde se ejecuta ? pruebo por /bin/toba toba_2_0 actualizar_secuencias, pero no reconoce el comando, o es un comando postgres ? como sería select toba _20 actualizar_secuencias

Gracias

Hola Jhon,

el comando se ejecuta como cualquier otro comando de toba desde la consola. No te esta reconociendo el comando, porque estas incluyendo el nombre de la base de datos, en el lugar donde va el nombre del comando que quieres ejecutar.

Saludos