Oracle dbms_scheduler: Can I create a job that will not overlap with itself?
yes, you can, this in fact is default behaviour. See Database Administrator’s Guide chapter 29 Scheduling Jobs with Oracle Scheduler


  Immediately after a job starts, the repeat_interval is evaluated to
  determine the next scheduled execution time of the job. While this
  might arrive while the job is still running, a new instance of the job
  does not start until the current one completes.