代码之家  ›  专栏  ›  技术社区  ›  user290

Oracle数据库统计信息应多久运行一次?

  •  21
  • user290  · 技术社区  · 17 年前

    根据您的经验,Oracle数据库统计信息应多久运行一次?我们的开发团队最近发现统计数据在2 1/2个月内没有运行我们的生产框。对我来说这听起来很长时间,但我不是DBA。

    9 回复  |  直到 11 年前
        1
  •  13
  •   user11318    17 年前

        2
  •  13
  •   Jonathan Rupp    17 年前

        3
  •  13
  •   grokster    13 年前

    SELECT owner, table_name, last_analyzed FROM all_tables ORDER BY last_analyzed DESC NULLS LAST; --Tables.
    SELECT owner, index_name, last_analyzed FROM all_indexes ORDER BY last_analyzed DESC NULLS LAST; -- Indexes.
    

    SELECT * FROM dba_autotask_client WHERE client_name = 'auto optimizer stats collection';
    

    SELECT window_group_name, window_name FROM dba_scheduler_wingroup_members;
    

    SELECT window_name, start_time, duration FROM dba_autotask_schedule;
    

    EXEC dbms_stats.gather_schema_stats(ownname=>NULL, cascade=>TRUE); -- cascade=>TRUE means include Table Indexes too.
    

    -- Probably need to CONNECT / AS SYSDBA
    EXEC dbms_stats.gather_database_stats;
    
        5
  •  2
  •   Joe Skora    17 年前

        6
  •  2
  •   MichaelN    17 年前

        7
  •  1
  •   Justin Cave    17 年前

        8
  •  0
  •   David Aldridge    17 年前