Esto se me acaba de ocurrir:considere usar un bloqueo con nombre a través de dbms_lock.http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_lock.htm#CHDICHDC
Inmediatamente después de la declaración de inicio, obtenga el bloqueo, haga el trabajo y luego suéltelo al salir (¡tenga en cuenta los errores/excepciones!).
KT