How do I use a database to manage a semaphore? How do I use a database to manage a semaphore? oracle oracle

How do I use a database to manage a semaphore?


You should look into DBMS_LOCK. Essentially, it allows for the enqueue locking mechanisms that Oracle uses internally, except that it allows you to define a lock type of 'UL' (user lock). Locks can be held shared or exclusive, and a request to take a lock, or to convert a lock from one mode to another, support a timeout.

I think it will do what you want.

Hope that helps.