`
longgangbai
  • 浏览: 7371915 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 性能调优学习笔记(十二)-- 统计管理B

 
阅读更多

 
    Histograms:描述列的分布信息.
        1.如果数据分布不均匀.
     2.收集方法:
       dbms_stats.gather_table_stats.
     3.查看信息
       dbms_histograms,dba_tab_histograms
      
       select * from jobs where job_status ='COMPLETE';
      
      
       execute dbms_stats.gather_table_stats('HR','EMPLOYEES',
         METHOD_OPT=>'FOR COLUMNS SIZE 10 SALARY');
       备注:oracle推荐设置METHOD_OPT为FOR ALL COLUMNS SIZE AUTO,使用这个值
       oracle可以自动决定哪列需要统计和计算block数.
       select endpoint_number,endpoint_value
                from dba_histograms
       where owner='HR'
         and table_name='T' and column_name='ID';
     收集统计的信息
      dbms_stats.auto_sample_size:
      METHOD_OPT:
         REPEAT:
      AUTO:
      SKEWONLY:
      execute dbms_stats.gather_schema_stats(
       ownname=>'OE',
       estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,
       method_opt=>'for all columns size AUTO');
      
     自动统计收集
      dbms_stats.gather_schema_stats
      存储过程的options可选值
        Gather Stale
        Gather Empty
        Gatcher Auto
        execute dbms_stats.gather_schema_stats(
         ownname=>'OE',
          options=>'GATHER AUTO'
        );
     优化器Cost模型
         在plan_table中三列:
       cpu_cost:
       io_cost:
       temp_space:
      包括CPU的使用情况
      缓存的影响.
      预先索引的影响.
     系统统计信息
         1.系统统计启用CBO相关的IO和CPU.
      2.系统统计必须被收集.
               3.收集系统统计等效于一定时间内对系统的分析.
     收集存储函数:
        dbms_stats
         gather_system_stats
      set_system_stats
      get_system_stats
      自动收集:
        OLTP:
          execute dbms_stats.gather_system_stats(
         interval=>120,
         stattab=>'table_name',
         statid='OLTP');
      OLAP:
       execute dbms_stats.gather_system_stats(
         interval=>120,
         stattab=>'table_name',
         statid='OLAP');
     手动收集
         1.手动启动收集存储到数据字典
        execute dbms_stats.gather_system_stats(gathering_mode=>'START');
      2.生成工作负荷
      3.接收系统统计收集
        execute dbms_stats.gather_system_stats(gathering_mode=>'STOP');
       
     导入系统统计信息
        OLTP:
          execute dbms_stats.import_system_stats(
          stattab=>'Table_name',
       statid=>'OLTP');
        OLAP:
       execute dbms_stats.import_system_stats(
          stattab=>'Table_name',
       statid=>'OLAP');  
              1. 创建表的统计信息
      dbms_stats.create_stat_table(
       schema_name=>'SH',
       statistics_table_name=>'STATISTICS_TABLE_NAME',
       tablespace_name='TBS_DATA'
      );
      2.将统计信息拷贝到表中
      dbms_stats.export_table_stats
      (
       'SH',   --schema name
       'SALES',  --table name
       NULL, ---no partitions
       'STATISTICS_TABLE_NAME', ---statistics table name
       NULL, ---id for  statistics
       true   --index statistics
      );
      SALES的统计信息为STATISTICS_TABLE_NAME
      3.导出统计信息到另外一个数据库导入统计信息.
       通过imp或者exp导入导出,或者databaselink
      4.将统计信息拷贝到数据字典
      dbms_stats.import_table_stats
      (
       'SH',   --schema name
       'SALES',  --table name
       NULL, ---no partitions
       'STATISTICS_TABLE_NAME', ---statistics table name
       NULL, ---id for  statistics
       true   --index statistics
      );

分享到:
评论

相关推荐

    Oracle性能调优

    Oracle性能调优是数据库管理员和开发人员关注的重要领域,它涉及到如何优化数据库系统以提高查询速度、减少资源消耗,从而提升整体应用性能。本资料集是作者精心整理的Oracle调优笔记,涵盖了一系列实用的调优技巧和...

    玩转oracle学习笔记(四)-数据库操作

    这篇笔记主要聚焦于"玩转Oracle学习笔记(四)",作者通过文档分享了他在数据库管理、查询优化、数据处理等方面的经验。以下是对这些知识点的详细解析: 1. 数据库创建与连接: - Oracle数据库的安装与配置:学习...

    oracle学习笔记

    Oracle学习笔记涵盖了数据库管理系统Oracle的核心概念、安装配置、SQL语法、数据管理以及性能优化等多个方面的内容。Oracle作为全球广泛使用的数据库系统,对于IT专业人士来说,掌握其知识是至关重要的。 一、...

    Oracle笔记

    Oracle笔记涵盖了数据库管理、SQL查询、表空间管理、索引优化、存储过程、触发器、事务与并发控制、备份与恢复、性能调优等多个方面的内容。以下是对这些知识点的详细阐述: 1. **数据库管理**:Oracle数据库是企业...

    Mastering_Oracle_SQL(含源码)

    学习如何使用EXPLAIN PLAN分析查询执行计划,进行性能调优。 5. **PL/SQL编程**:Oracle的存储过程、函数、触发器和包(Packages)等PL/SQL编程元素,以及异常处理和游标。 6. **数据类型和约束**:熟悉Oracle的...

    涂抹oracle源代码

    通过这个过程,不仅可以提升对Oracle数据库的理解,还能提高解决实际问题的能力,如性能调优、故障排查等。《涂抹Oracle-三思笔记之一步步学Oracle》-李丙洋-源代码-6961这本书,很可能是这样一个全面指导,通过详细...

    oracle精华

    8. **性能优化**:通过SQL优化器、统计信息、索引策略、数据库调优顾问等工具,可以优化数据库性能。此外,分区技术和并行执行也是提升大规模数据处理效率的重要手段。 9. **数据库架构**:Oracle采用多层架构,...

    Oracle优化日记:一个金牌DBA的故事(第一、二部)

    《Oracle优化日记:一个金牌DBA的故事》是关于数据库管理员(DBA)在Oracle数据库优化方面的实战经验和故事集合。在这个系列中,作者通过真实的案例分享了他在优化Oracle数据库过程中的思考、策略和技巧,旨在帮助读者...

    Oracel SQL高级编程笔记

    13. **性能优化**:包括SQL优化器的选择、索引优化、统计信息的收集和更新、SQL调优顾问的使用、EXPLAIN PLAN的分析等。 14. **安全性**:Oracle提供角色权限、系统权限、对象权限等多种机制来控制用户对数据库的...

Global site tag (gtag.js) - Google Analytics