title: Can an Oracle user get a list of its own running sessions without access to v$session?
body: <p>I have an application that runs a process and I only want one process to run at a time. Some options are:</p>
  
  <ol>
  <li><p>Use an object lock to prevent subsequent processes running.</p>
  
  <p>This would be fine, but I want the calling session to return immediately and not wait for the running session to complete.</p></li>
  <li><p>Use a custom Y/N to set whether a process is running or not.</p>
  
  <p>I set a "Y" flag at the start of the process and set it to "N" when it finishes or fails. Also fine but feels like I'm re-inventing the wheel and doesn't feel like the way to go. It also falls short if the running session is killed as the flag stays at "Y".</p></li>
  <li><p>Use <code>dbms_application_info.set_module</code></p>
  
  <p>This approach seems the most robust, but if I'm to know there's an existing running process I think I need to be able to query <code>v$session</code> and I don't want this application to have such wide access.</p></li>
  </ol>
  
  <p>Any ideas?</p>