Estoy trabajando en una aplicación web conectada a Oracle. Tenemos una tabla en el oráculo con una columna "activada". Solo una fila puede tener esta columna establecida en 1 en cualquier momento. Para hacer cumplir esto, hemos estado utilizando el nivel de aislamiento SERIALIZED en Java, sin embargo, nos encontramos con el error "no se puede serializar la transacción", y no podemos determinar por qué.LEA el nivel de aislamiento de la base de datos COMPROMETIDO en el oráculo
Nos preguntábamos si un nivel de aislamiento de READ COMMITTED haría el trabajo. Así que mi pregunta es la siguiente:
Si tenemos una transacción que implica el siguiente SQL:
SELECT *
FROM MODEL;
UPDATE MODEL
SET ACTIVATED = 0;
UPDATE MODEL
SET ACTIVATED = 1
WHERE RISK_MODEL_ID = ?;
COMMIT;
Dado que es posible que más de una de estas transacciones a ejecutar al mismo tiempo, ¿verdad ¿Será posible que más de una fila de MODELO tenga el indicador activado en 1?
Cualquier ayuda sería apreciada.
similares, pero me gustaría cerradura Modelo en modo exclusivo y hacer una actualización del modelo SET ACTIVADO = 0 donde activada = 1 se actualizan Menos filas, por lo que es un poco más performante, y la tabla de bloqueos impediría la actividad simultánea en la mesa. –