Marc,
In my previous job, I had such a requirement, and this is what I did.
- When a process is invoked it tried to acquire a lock with a hard-coded
lock number. This is achieved by DBMS_LOCK.
- Once it acquires a lock, it proceeds with execution, else reschedules
itself and exits.
- This lock is released before process exits either successfully or
unsuccessfully.
- I also created a DBA script that needed to be invoked if more than 5 such
processes get pooled. This script just checked if there *actually* was a job
executing, else it forcibly removed the lock, so next process got scheduled.
This was a combination of 2 packages, one to handle the locking and job
execution and other was actual job. The only problem with pipe is if once
process reads it, it's gone.
Cheers
Raj
Rajendra Jamadagni MIS, ESPN Inc.
Rajendra dot Jamadagni at ESPN dot com
QOTD: Any clod can have facts, but having an opinion is an art !
Any opinion expressed here is personal and doesn't reflect that of ESPN Inc.
Received on Fri Jun 30 2000 - 08:01:11 CDT