No tengo idea de cómo se implementa la JVM dentro de Oracle DB, pero dado que (al menos en algunas configuraciones comunes) cada conexión de base de datos obtiene su propio servidor proceso , entonces, si se incrusta una JVM separada en cada uno de ellos, un bloque sincronizado no le servirá de mucho. Necesitaría usar bloqueos de base de datos.