Oracle统计信息收集与关闭
1.统计信息收集
参考:https://www.cnblogs.com/lijiaman/p/13039528.html
1.1.手动数据库统计信息收集
BEGIN DBMS_STATS.gather_database_stats; END; /
或者直接调用SYS下的GATHER_STATS_JOB(10G或者10G升级的11G)
select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB' ;
1.2.11G自动统计信息的查看
查看自动统计信息任务
select client_name ,status from DBA_AUTOTASK_CLIENT;
查看自动统计信息收集窗口
select * from DBA_AUTOTASK_WINDOW_CLIENTS;
1.3.11G自动统计信息收集关闭
通过DISABLE自动统计信息的job关闭自动统计信息收集
/*关闭*/ BEGIN DBMS_AUTO_TASK_ADMIN.DISABLE ( client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL); END; / /*打开*/ BEGIN DBMS_AUTO_TASK_ADMIN.ENABLE ( client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL); END; /
通过关闭自动统计信息的窗口关闭自动统计信息收集(会影响到其他的自动JOB,例如sql tuning advisor)
/*关闭*/ EXEC DBMS_AUTO_TASK_ADMIN.disable; /*开启*/ EXEC DBMS_AUTO_TASK_ADMIN.enable;
通过关闭相应job的相应时间窗口关闭
/* 关闭*/ BEGIN DBMS_AUTO_TASK_ADMIN.disable ( client_name => 'auto optimizer stats collection', operation => NULL, window_name => 'SUNDAY_WINDOW'); END; / /*开启*/ BEGIN DBMS_AUTO_TASK_ADMIN.enable ( client_name => 'auto optimizer stats collection', operation => NULL, window_name => 'SUNDAY_WINDOW'); END; /