Step 3: Optional: Schedule the Job (DBMS_SCHEDULER)

BEGIN
    DBMS_SCHEDULER.create_job (
        job_name        => 'baseline_tracked_sql',
        job_type        => 'PLSQL_BLOCK',
        job_action      => 'BEGIN baseline_all_tracked_sql; END;',
        start_date      => SYSTIMESTAMP,
        repeat_interval => 'FREQ=DAILY;BYHOUR=2',  -- runs at 2 AM
        enabled         => TRUE
    );
END;

You now have:

  • A log of query performance over time.
  • A foundation for spotting regressions.
  • A process that runs nightly with minimal overhead.