I have restarted the Oracle 9.2 when we saw some problems. We also found that a task under refresh groups was executed for hours due to table locking and was killed when the database restart.
After restarted, schedule time was shifted few hours after the original schedule and that new schedule time is almost the same as the time we restarted the database.
when the database starts, it looks to see if any job needs to be run. If it was scheduled to be run before the shutdown when it started up it was still due to be run, so Oracle ran it immediately. If it completed then all of the dates would be updated in dba_jobs upon completion. If not, then it will reschedule.