How to Disable AutoTask in Oracle
Sometimes you may want to stop Oracle’s AutoTask jobs temporarily — for example, to troubleshoot performance issues or avoid conflicts with important batch jobs. Instead of only changing maintenance window timings, you can completely disable AutoTask using DBMS_AUTO_TASK_ADMIN.DISABLE
.
Here’s a clear, practical step-by-step guide to do it safely.
Check Current AutoTask Status
First, check which AutoTask clients are currently enabled:
column client_name format a35;
column status format a10;
select client_name, status from dba_autotask_client;
A typical result looks like this:
CLIENT_NAME STATUS
----------------------------------- ----------
sql tuning advisor ENABLED
auto optimizer stats collection ENABLED
auto space advisor ENABLED
Generate Disable Statements
To disable all enabled AutoTask jobs, generate the required PL/SQL commands automatically:
set linesize 100;
column stmt format a90;
select 'exec dbms_auto_task_admin.disable(''' || CLIENT_NAME || ''', null, null);' stmt
from dba_autotask_client
where status = 'ENABLED';
This will output statements like:
exec dbms_auto_task_admin.disable('auto space advisor', null, null);
exec dbms_auto_task_admin.disable('auto optimizer stats collection', null, null);
exec dbms_auto_task_admin.disable('sql tuning advisor', null, null);
Execute the Disable Commands
Run each statement individually to disable the jobs:
exec dbms_auto_task_admin.disable('auto space advisor', null, null);
exec dbms_auto_task_admin.disable('auto optimizer stats collection', null, null);
exec dbms_auto_task_admin.disable('sql tuning advisor', null, null);
You should see:PL/SQL procedure successfully completed.
Verify That AutoTask Is Disabled
Finally, check again to confirm:
select client_name, status from dba_autotask_client;
You should see:
CLIENT_NAME STATUS
----------------------------------- ----------
sql tuning advisor DISABLED
auto optimizer stats collection DISABLED
auto space advisor DISABLED
Tip: To enable them again, just replace DISABLE
with ENABLE
:
exec dbms_auto_task_admin.enable('auto space advisor', null, null);
exec dbms_auto_task_admin.enable('auto optimizer stats collection', null, null);
exec dbms_auto_task_admin.enable('sql tuning advisor', null, null);
That’s it!
You now know how to disable AutoTask in Oracle quickly and safely.