Advertisement

Oracle 11g 使用 DBMS_STAT 收集各类统计信息

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本文章介绍了如何在Oracle 11g数据库中使用DBMS_STATS包来收集各种类型的统计信息,包括表、索引和模式等对象的统计详情。 Oracle 11g中的DBMS_STATS包是用于收集数据库对象统计信息的重要工具,这些统计数据对于查询执行计划的选择至关重要。在早期版本的Oracle中(如7版),使用analyze语句来获取这类数据,但自8.1.5引入dbms_stats后,官方推荐采用这个新的包进行操作。 DBMS_STATS的主要功能是分析表、索引和其他数据库对象,并收集关于它们的数据分布和大小的信息。这些统计信息包括行数、块数、空闲空间等关键指标以及最大值与最小值的范围及唯一数据的数量等等。所有这些统计数据存储在Oracle的数据字典中,为查询优化器提供支持。 使用DBMS_STATS时,可以通过以下参数来控制统计信息收集的过程: 1. **estimate_percent**:定义采样比例,用于估算整个对象的状态情况。 2. **block_sample**:选择是否采用随机块抽样的方式代替默认的行抽样方法。在某些情况下(如数据分布不均匀),这种方法能提供更准确的数据。 3. **options**: - `GATHER`:分析所有架构元素; - `GATHER EMPTY`:仅对没有统计信息的对象进行处理; - `GATHER STALE`:重新评估修改量超过10%的表和索引; - `GATHER AUTO`:结合以上两种模式,自动管理过期或缺失的统计数据。 4. **method_opt**:定义数据收集的具体范围(如针对特定列)。 5. **cascade**:当设为TRUE时,会连同相关联的对象一起进行统计分析。 6. **degree**:并行度设置,用于指定在执行统计信息采集操作时使用的CPU数量。 7. **granularity**:粒度控制参数,在处理分区表中尤为重要。它决定了收集统计数据的详细程度(如全局、分区或子分区级别)。 8. **stattab 和 statown**:允许用户选择将生成的数据存储到特定表格和模式下。 9. **statid**:一个可选标识符,用于关联不同的统计信息集合。 10. **stattabno_invalidate**:若设为TRUE,则不会由于统计数据更新导致依赖的游标失效。 11. **stattype**:指定所收集数据的具体类型(如DATA)。 例如: ```sql EXEC DBMS_STATS.GATHER_TABLE_STATS( ownname => SCOTT, tabname => EMP, method_opt => FOR ALL COLUMNS, estimate_percent => 100, degree => 8, granularity => ALL, cascade => TRUE); ``` 定期收集统计信息是必要的,特别是在大量数据变动之后(如插入、更新或删除操作),以确保查询优化器能够生成最高效的执行计划。否则,由于依赖于过时或不准确的数据而可能导致性能下降。 在实践中,根据具体环境和需求调整DBMS_STATS的参数设置是非常重要的,这将有助于实现最佳的系统性能表现。同时也要注意维护统计信息的新鲜度与准确性,这对数据库的整体运行效率有着直接的影响。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Oracle 11g 使 DBMS_STAT
    优质
    本文章介绍了如何在Oracle 11g数据库中使用DBMS_STATS包来收集各种类型的统计信息,包括表、索引和模式等对象的统计详情。 Oracle 11g中的DBMS_STATS包是用于收集数据库对象统计信息的重要工具,这些统计数据对于查询执行计划的选择至关重要。在早期版本的Oracle中(如7版),使用analyze语句来获取这类数据,但自8.1.5引入dbms_stats后,官方推荐采用这个新的包进行操作。 DBMS_STATS的主要功能是分析表、索引和其他数据库对象,并收集关于它们的数据分布和大小的信息。这些统计信息包括行数、块数、空闲空间等关键指标以及最大值与最小值的范围及唯一数据的数量等等。所有这些统计数据存储在Oracle的数据字典中,为查询优化器提供支持。 使用DBMS_STATS时,可以通过以下参数来控制统计信息收集的过程: 1. **estimate_percent**:定义采样比例,用于估算整个对象的状态情况。 2. **block_sample**:选择是否采用随机块抽样的方式代替默认的行抽样方法。在某些情况下(如数据分布不均匀),这种方法能提供更准确的数据。 3. **options**: - `GATHER`:分析所有架构元素; - `GATHER EMPTY`:仅对没有统计信息的对象进行处理; - `GATHER STALE`:重新评估修改量超过10%的表和索引; - `GATHER AUTO`:结合以上两种模式,自动管理过期或缺失的统计数据。 4. **method_opt**:定义数据收集的具体范围(如针对特定列)。 5. **cascade**:当设为TRUE时,会连同相关联的对象一起进行统计分析。 6. **degree**:并行度设置,用于指定在执行统计信息采集操作时使用的CPU数量。 7. **granularity**:粒度控制参数,在处理分区表中尤为重要。它决定了收集统计数据的详细程度(如全局、分区或子分区级别)。 8. **stattab 和 statown**:允许用户选择将生成的数据存储到特定表格和模式下。 9. **statid**:一个可选标识符,用于关联不同的统计信息集合。 10. **stattabno_invalidate**:若设为TRUE,则不会由于统计数据更新导致依赖的游标失效。 11. **stattype**:指定所收集数据的具体类型(如DATA)。 例如: ```sql EXEC DBMS_STATS.GATHER_TABLE_STATS( ownname => SCOTT, tabname => EMP, method_opt => FOR ALL COLUMNS, estimate_percent => 100, degree => 8, granularity => ALL, cascade => TRUE); ``` 定期收集统计信息是必要的,特别是在大量数据变动之后(如插入、更新或删除操作),以确保查询优化器能够生成最高效的执行计划。否则,由于依赖于过时或不准确的数据而可能导致性能下降。 在实践中,根据具体环境和需求调整DBMS_STATS的参数设置是非常重要的,这将有助于实现最佳的系统性能表现。同时也要注意维护统计信息的新鲜度与准确性,这对数据库的整体运行效率有着直接的影响。
  • Oracle 11G自动与调优
    优质
    本课程深入讲解Oracle 11g数据库中自动统计信息收集机制及其在性能调优中的应用,帮助学员掌握高效数据库管理技巧。 文档里包含Oracle 11G统计信息自动收集及调整的内容,这些功能可以帮助优化数据库性能。不合理的统计信息会影响数据库的运行效率。因此,合理地使用和维护统计信息对于提升数据库性能至关重要。
  • 优质
    本栏目涵盖时事、科技、文化等各领域的最新资讯和深度分析,旨在为读者提供全面的信息服务。 关于学生的文章等内容从Spreadsheet导出:想尝试康帕斯营火活动。
  • Oracle 11g RAC群版
    优质
    Oracle 11g RAC集群版是一款提供高可用性和可伸缩性的数据库管理系统,通过在多台服务器间共享数据来提升应用性能和稳定性。 在vSphere 7.0环境中部署RHEL 6.8操作系统,并在其上安装Oracle 11g RAC所需的具体Oracle软件包及部分rpm包。
  • 源代码:
    优质
    源代码:信息收集系统是一款集成了高效数据抓取与管理功能的应用程序,适用于个人及企业用户快速构建、定制和优化其专属的信息数据库。 信息收集系统是一个采用ASP+Access开发的信息管理平台。 该系统的优点如下: 1. 系统能够收集各种文本资料及图片数据,并支持通过手机上网访问以及使用手机相机拍照上传照片。 2. 收集到的数据分为两种类型,一种是匿名提交的,另一种则需要用户登录后填写相关信息。
  • C# 中算自量及量与熵
    优质
    本文探讨了在C#编程环境下如何计算信息论中的核心概念,包括自信息、联合信息、条件信息和熵。通过实例代码解析这些概念的应用及其重要性。 我编写了一个计算信息量的小程序,用于处理离散无记忆信源。该程序可以根据给定的输入概率分布以及信道特性来计算各种信息量和熵,并进一步确定信道容量。
  • Woron_Scan_V1.09_CN_与Cnmk.Net_V2联合使的卡工具
    优质
    这段标题提及的是一个名为Woron Scan V1.09 CN的软件版本,它与Cnmk.Net V2结合使用,据称能够搜集卡类的信息。不过需要注意的是,此类工具可能涉及非法或不道德的数据采集行为,请谨慎对待,并遵守相关法律法规和道德规范。 手机SIM卡中的ki值可以被解算出来,并用以推算一组数据。利用这些数据完成写卡的过程。
  • Oracle 11g, Oracle DBA, Oracle OCP
    优质
    本课程涵盖Oracle 11g数据库管理与优化的核心知识,旨在培养具备OCP认证水平的专业DBA人才,适合数据库管理员及技术人员学习。 Oracle 11g是由Oracle公司推出的重要数据库管理系统版本,其全称为Oracle Database 11g,在大型企业和机构中的应用尤为广泛,并以高效、稳定及强大的功能著称。作为负责管理和维护该系统的专业人员——Oracle DBA(Database Administrator),需要具备深厚的理论知识和丰富的实践经验。 获得Oracle OCP(Oracle Certified Professional)认证是证明数据库管理员在Oracle领域专业知识和技术能力的一种高级别方式,通过一系列严格的考试来验证其安装、配置、性能优化、备份恢复及安全等方面的专业技能。 文件名称“Oracle DB 11g SQL Fundamentals I”表明内容主要涉及基础SQL知识的学习。作为每个Oracle DBA必须掌握的核心技能之一,SQL(Structured Query Language)用于管理和操作关系数据库,包括数据查询、更新和删除等基本操作,并支持在Oracle 11g中的高级功能如子查询、联接及聚合函数。 学习该版本的SQL基础知识首先需要了解各种数据类型及其使用方法。此外,掌握SELECT语句的基本结构与用法同样重要,这包括如何选择列、从表中提取所需信息以及利用WHERE子句进行结果过滤等技能。同时还要熟悉GROUP BY和HAVING子句用于分组筛选及ORDER BY命令对查询结果排序的技巧。 在提高查询效率方面,在Oracle 11g环境中创建不同类型的索引(如B树或位图索引)并理解它们的工作原理至关重要,这有助于识别性能瓶颈。此外,通过使用EXPLAIN PLAN工具分析SQL执行计划能够帮助DBA优化语句实现更高效的数据检索。 确保数据库的安全性是另一个重要方面。Oracle提供了多种机制来管理用户权限和控制访问,如GRANT、REVOKE命令以及角色概念的应用等措施保障信息安全无虞。 备份与恢复操作在日常维护工作中不可或缺。借助RMAN(Recovery Manager)工具,DBA能够执行全面的或增量的数据保护策略,并掌握如何利用这些手段进行有效数据还原工作以应对潜在灾难性事件的影响。 除此之外,性能监控和优化也是Oracle DBA的关键职责之一。通过使用SQL*Plus、Enterprise Manager或其他性能视图等工具分析系统瓶颈并调整配置参数来提升整体运行效率是必不可少的工作内容。 综上所述,Oracle 11g的DBA工作涵盖了一系列关键领域包括但不限于数据库设计与安装配置、编写高效SQL代码以及实施安全措施和灾难恢复计划。而获取OCP认证则标志着个人在相关领域的专业水平达到了一个新的高度,并为那些希望继续发展职业生涯的专业人士提供了一个重要的里程碑。通过持续学习及实践,可以全面掌握Oracle 11g的复杂功能并为企业数据管理和业务连续性做出贡献。
  • 卡管理表(自动汇总
    优质
    信用卡管理表是一款功能强大的财务管理工具,能够自动汇总并分析您的信用卡消费记录,帮助您轻松掌握个人财务状况。 这款工具主要适用于需要管理多张信用卡的人群。在填写完基础信息后,它可以自动生成免息天数、剩余还款日期、可用额度以及未还账单等相关信息。
  • Oracle 11g官方文档PDF
    优质
    本资源合集提供Oracle 11g全套官方文档的PDF版本,涵盖数据库管理、开发及应用部署等多方面内容,适合数据库管理员和技术开发者深入学习与参考。 提供ORACLE11G官方文档的高清带目录PDF版资源包,包含《Oracle 2days DBA》、《Oracle 2days 数据仓库》、《Oracle 2days安全指南》以及《Oracle 2days开发指南》等共14本手册。希望这些资料能为大家带来便利。