解决oracle11g安装导致数据库无法自动搜集统计信息-转

时间:2023-12-13 17:02:56

近期发现个别11G数据库无法自动收集统计信息,部分视图查询结果如下:

SQL> select client_name,status from dba_autotask_client where client_name = 'auto optimizer stats collection';

CLIENT_NAME STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection ENABLED SQL> SQL> select client_name,status from dba_autotask_task; CLIENT_NAME STATUS
---------------------------------------------------------------- -------- SQL>
SQL> select window_name,autotask_status from DBA_AUTOTASK_WINDOW_CLIENTS; WINDOW_NAME AUTOTASK_STATUS
------------------------------ ---------------
WEDNESDAY_WINDOW DISABLED
FRIDAY_WINDOW DISABLED
SATURDAY_WINDOW DISABLED
THURSDAY_WINDOW DISABLED
TUESDAY_WINDOW DISABLED
SUNDAY_WINDOW DISABLED
MONDAY_WINDOW DISABLED 7 rows selected

发现作业全部DISABLED,经测试发现和数据库安装时未勾选“启用自动维护任务”的现象一致(默认勾选),可能是之前DBA安装时取消勾选,如下图:

解决oracle11g安装导致数据库无法自动搜集统计信息-转

由于未勾选“启用自动维护任务“,数据安装会执行如下命令,导致作业disable:

execute DBMS_AUTO_TASK_ADMIN.disable();

以后数据库如果需要启动自动维护任务,只需要执行如下命令:

SQL> execute DBMS_AUTO_TASK_ADMIN.enable();

PL/SQL procedure successfully completed

SQL> select window_name,autotask_status from DBA_AUTOTASK_WINDOW_CLIENTS;

WINDOW_NAME AUTOTASK_STATUS
------------------------------ ---------------
WEDNESDAY_WINDOW ENABLED
FRIDAY_WINDOW ENABLED
SATURDAY_WINDOW ENABLED
THURSDAY_WINDOW ENABLED
TUESDAY_WINDOW ENABLED
SUNDAY_WINDOW ENABLED
MONDAY_WINDOW ENABLED 7 rows selected