Чтобы ответить на ваш первый вопрос (будет ли он выполняться один раз в час?):
Нет, это будет выполнено один раз, когда вы создадите его из-за этого условия:
START WITH sysdate+0
Лично я думаю, что "+0" является посторонним, как сейчас.
Затем он будет запущен завтра в 1 час ночи из-за следующего предложения:
NEXT (round(sysdate) + 1/24) + 1
Часть "1/24" вычисляет, когда 1 час ночи, поскольку даты Oracle на самом деле хранятся в виде чисел, а десятичная часть указывает часы, минуты и т. Д. Синтаксис очень хорош.