Använd dbms_lock.allocate_unique tillsammans med dbms_lock.request. användningsanteckningarna säger:
Den första sessionen att anropa ALLOCATE_UNIQUE med ett nytt låsnamn gör att ett unikt lås-ID genereras och lagras i tabellen dbms_lock_allocated. Efterföljande anrop (vanligtvis genom andra sessioner) returnerar det lås-ID som tidigare genererats.
Jag tror att det här kan vara vad du är ute efter.