Hi Bob,
We ran into the same error messages during our 12c to 19c upgrade process. I just recently provided the following information to a partner, so if you're the customer they were working with this is probably old information. But just in case you or someone else can use it...
I believe that in Oracle 19c the Scheduler Programs RUN_JOB and PROCESS_ALL_PENDING have been phased out and there’s some other way to do it. However I was never able to find that info. So I tried re-enabling the old way.
Below is a script I had to run manually in SQL Developer to create the RUN_JOB and PROCESS_ALL_PENDING programs. Run these two statements individually as app owner (IFSAPP in our case).
-- Create RUN_JOB
BEGIN
DBMS_SCHEDULER.create_program(
program_name => 'IFSAPP.RUN_JOB',
program_action => 'IFSAPP.BATCH_SYS.RUN_JOB__',
program_type => 'STORED_PROCEDURE',
--number_of_arguments => 3,
number_of_arguments => 2,
comments => 'Processes background jobs',
enabled => FALSE);
DBMS_SCHEDULER.define_program_argument(
program_name => 'IFSAPP.RUN_JOB',
argument_name => 'JOB_ID_',
argument_position => 1,
argument_type => 'NUMBER',
out_argument => FALSE);
DBMS_SCHEDULER.define_program_argument(
program_name => 'IFSAPP.RUN_JOB',
argument_name => 'ACTION_',
argument_position => 2,
argument_type => 'VARCHAR2',
out_argument => FALSE);
/* DBMS_SCHEDULER.define_program_argument(
program_name => 'IFSAPP.RUN_JOB',
argument_name => 'BROKEN_',
argument_position => 3,
argument_type => 'PL/SQL BOOLEAN',
out_argument => FALSE); */
DBMS_SCHEDULER.ENABLE(name=>'IFSAPP.RUN_JOB');
END;
-- Create PROCESS_ALL_PENDING
BEGIN
DBMS_SCHEDULER.create_program(
program_name => 'IFSAPP.PROCESS_ALL_PENDING',
program_action => 'IFSAPP.TRANSACTION_SYS.PROCESS_ALL_PENDING__',
program_type => 'STORED_PROCEDURE',
number_of_arguments => 4,
comments => 'Process all waiting jobs in a spcecific queue',
enabled => FALSE);
DBMS_SCHEDULER.define_program_argument(
program_name => 'IFSAPP.PROCESS_ALL_PENDING',
argument_name => 'QUEUE_ID_',
argument_position => 1,
argument_type => 'NUMBER',
out_argument => FALSE);
DBMS_SCHEDULER.define_program_argument(
program_name => 'IFSAPP.PROCESS_ALL_PENDING',
argument_name => 'QUEUE_DESC_',
argument_position => 2,
argument_type => 'VARCHAR2',
out_argument => FALSE);
DBMS_SCHEDULER.define_program_argument(
program_name => 'IFSAPP.PROCESS_ALL_PENDING',
argument_name => 'LANG_CODE_',
argument_position => 3,
argument_type => 'VARCHAR2',
out_argument => FALSE);
DBMS_SCHEDULER.define_program_argument(
program_name => 'IFSAPP.PROCESS_ALL_PENDING',
argument_name => 'JOB_',
argument_position => 4,
argument_type => 'NUMBER',
out_argument => FALSE);
DBMS_SCHEDULER.ENABLE(name=>'IFSAPP.PROCESS_ALL_PENDING');
END;
I then had to recreate a number of jobs via SQL Developer to get them to show up in the database processes list. I can provide information on that process as well if it would be helpful.
Hope this helps.
Eric