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;
/

 

posted @ 2020-11-12 11:04  monkey6  阅读(26)  评论(0编辑  收藏  举报