Скажем, что у меня есть procedure
, называемый myproc
. Это сложный процесс, и я не могу позволить двум экземплярам одновременно выполнять proc.
На самом деле я делаю это с помощью dbms_application_info.set_module
:
procedure start_process is
begin
dbms_application_info.set_module('myproc', 'running');
end;
и проверьте перед запуском процесс:
select 'S'
from v$session v
where v.module = 'myproc'
and v.action = 'running';
На уровне базы данных есть лучший способ проверить это?