Oracle 19c实时统计与自动索引详解

需积分: 41 15 下载量 201 浏览量 更新于2024-08-06 收藏 4.57MB PDF 举报
"Oracle 19c数据库新特性包括实时统计信息收集和自动索引功能。实时统计信息收集在默认情况下是开启的,可以通过Hint来禁用。自动索引功能允许数据库根据性能需求创建、报告或关闭索引,但仅在Exadata上运行的19c支持,并需单独为PDB启用。" 在Oracle Database 19c中,实时统计信息收集是一个重要的优化工具,它确保了数据库能够基于最新的数据分布信息做出有效的查询计划。统计信息的实时更新通过后台的存储过程执行,这有助于提高查询性能和系统的整体效率。若不希望在特定操作中收集这些统计信息,可以通过SQL Hint(NO_GATHER_OPTIMIZER_STATISTICS)来阻止。虽然可以查询全局的统计信息,但目前尚不支持查询分区级别的统计值。查询统计信息可以通过特定的视图完成,这对于监控和调整数据库性能至关重要。 自动索引是另一个19c引入的新特性,旨在自动化索引管理,以优化数据库性能。要检查自动索引是否已启用,可以查询cdb_auto_index_config视图。自动索引有三种状态:IMPLEMENT(启用并可见)、REPORTONLY(只报告,索引不可见)和OFF(关闭)。状态的改变通过DBMS_AUTO_INDEX包中的CONFIGURE过程完成。值得注意的是,自动索引功能仅在Exadata平台上运行的19c实例中可用,并且在启用CDB级别的自动索引后,还需要在每个PDB级别单独启用。此外,可以指定特定的表空间用于自动索引的存储,以区别于系统默认的永久表空间,这样可以更好地管理和控制自动索引的空间占用。 启用自动索引时,推荐考虑索引的维护成本和对系统的影响,因为它们可能会影响写操作的性能。同时,创建额外的表空间专门用于自动索引可以提供更好的资源隔离,并有助于管理数据库的存储结构。通过监控和调整自动索引的配置,数据库管理员能够更有效地利用资源,从而提升系统的整体性能和稳定性。