Oracle 8i on Win 2K.

I am running a procedure every hour through DBMS_JOB.
Assume the job runs first time at
10:00:00 and it takes on an average 30seconds to finish the job, now the next time the job is run at
11:00:30 next time at
12:01:00
13:01:30
14:02:00 .............

At this rate after 24 hours the job is effectively running 12minutes(say) after the hour.
I want the job to run on the clock or atleast with in 1 minute after the hour.

Please can any body give any suggestions as to how I can achieve this.

Thanks in advance.