Utilisez dbms_lock.allocate_unique avec dbms_lock.request. Les notes d'utilisation dit :
La première session à appeler ALLOCATE_UNIQUE avec un nouveau nom de verrou provoque la génération et le stockage d'un ID de verrou unique dans la table dbms_lock_allocated. Les appels suivants (généralement par d'autres sessions) renvoient l'ID de verrou généré précédemment.
Je pense que cela pourrait être ce que vous recherchez.