Originally posted by pando
dont use ANALYZE, that's a keyword
Good advice, however this is not a culprit of the above problem. Oracle doesn't prevent you from having stored procedure named ANALYZE and furthermore - it doesn't prevent you from using this stored procedure.

The real problem in the above error is that the user that tries to submit the job doesn't own that procedure and he/she apparently doesn't have a synonym for that procedure - so the full name notation is required. For example, if the owner of the procedure is SCOTT, then changing the line:
Code:
DBMS_JOB.SUBMIT(:v_jobnum, 'analyze;', sysdate, 'sysdate +1');
into the following:
Code:
DBMS_JOB.SUBMIT(:v_jobnum, 'SCOTT.analyze;', sysdate, 'sysdate +1');
will do the job...