Não tenho ideia de como a JVM dentro do banco de dados Oracle é implementada, mas como (pelo menos em algumas configurações comuns) cada conexão de banco de dados obtém seu próprio processo de servidor , se uma JVM separada for incorporada a cada uma delas, um bloco sincronizado não será muito útil. Você precisaria usar bloqueios de banco de dados.