Simple Job Management
Now that you understand basically how to create a job, let’s see how to manage the job we just created. Unless otherwise stated, all tasks are performed by various programs in the DBMS_SCHEDULER package.
Enabling and disabling jobs
You can temporarily disable or enable a job using the DISABLE and ENABLE procedures, respectively. For example, to disable the job RMAN_INC, specify:
BEGIN DBMS_SCHEDULER.disable (NAME => 'RMAN_INC'); END;
If this job is currently running, the above command will return an error. You can include the FORCE parameter to override the default behavior:
BEGIN DBMS_SCHEDULER.disable (NAME => 'RMAN_INC', FORCE=> TRUE); END;
Specifying FORCE will disable the job, but will allow the currently running process to complete.
You can enable a currently disabled job by calling the procedure ENABLE as follows.
BEGIN DBMS_SCHEDULER.enable (NAME => 'RMAN_INC'); END;
Tip
When you create a job and do not set the enabled parameter, the job is created but is disabled. You must explicitly enable it.
Stopping running jobs
When a job is running and you want to stop it, you can run the STOP_JOB procedure as follows.
BEGIN DBMS_SCHEDULER.stop_job (JOB_NAME => 'RMAN_INC'); END;
STOP_JOB will attempt to gracefully stop a job. There are times, unfortunately, when a graceful shutdown is not possible, in which case the above statement returns an error. You can force a job to shut down by using the FORCE parameter. For example, to stop the job APPLY_INTEREST (which executes ...
Get Oracle PL/SQL for DBAs now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.