Използвайте dbms_lock.allocate_unique заедно с dbms_lock.request. Бележки за употреба казва:
Първата сесия за извикване на ALLOCATE_UNIQUE с ново име на заключване причинява генериране на уникален идентификатор на заключване и съхраняване в таблицата dbms_lock_allocated. Последващите извиквания (обикновено от други сесии) връщат генерирания преди това идентификатор на заключване.
Мисля, че това може да е това, което търсите.