
在Oracle中,Oracle中有哪些指导模块(Advisor)?
指导可提供有关资源占用率和各个服务器组件性能的有用反馈。例如,内存指导为MEMORY_TARGET初始化参数提供建议值,该参数用于控制数据库实例所使用的总内存量。由于ADDM依赖于AWR中捕获的数据,因此Oracle数据库通过ADDM可诊断自身的性能并确定如何解决识别出的问题。ADDM在每次捕获AWR统计信息后会自动运行,它可能还会调用其它指导。常见的指导模块如下图所示:

详解如下表所示:
分类 | 简介 | |
内存指导 | PGA | V$PGA_TARGET_ADVICE:当自动PGA内存管理功能打开后,可以从V$PGA_TARGET_ADVICE中得到相关的指导数据,进而评估PGA_AGGREGATE_TARGE是否需要调整。该视图的ESTD_OVERALLOC_COUNT列表示需要额外分配的PGA内存,如果此数值不是0,就表示PGA_AGGREGATE_TARGE设置得太小,需要调整。 |
SGA | 缓冲区告诉缓存 | V$DB_CACHE_ADVICE:包含的行可预测与每行对应的高速缓存大小的物理读取数和时间。 |
共享池 | V$SHARED_POOL_ADVICE:显示有关不同池大小的共享池中估计分析时间的信息。 | |
Java池 | V$JAVA_POOL_ADVICE:显示有关不同池大小的Java池中估计类加载时间的信息。 | |
流池 | V$STREAMS_POOL_ADVICE:显示有关估计的溢出或未溢出邮件数,以及用于不同流池大小的溢出或未溢出活动的关联时间的信息。 | |
备份恢复 | 数据恢复指导 | 此指导自动诊断持续性数据故障,向用户提供修复选项并根据用户的请求执行修复。数据恢复指导的用途是减少平均恢复时间(MTTR)并提供用于自动修复数据的集中式工具。 |
平均恢复时间(MTTR)指导 | 使用MTTR指导,可设置实例崩溃后数据库恢复所需的时间长短。 | |
空间指导 | 段指导 | 段指导用于查找占用空间多于所需空间的表和索引。此指导会在表空间级或方案级检查造成低效的空间消耗问题,如果可能,还会生成减少空间消耗的脚本。 |
还原管理指导 | 使用还原管理指导,可确定支持指定的保留期所需要的还原表空间大小。 | |
SQL相关 | SQL访问指导 | 此指导用于分析在给定时段发出的所有SQL语句,还就其它索引或实体化视图(可提高性能)的创建提供建议。 |
SQL优化指导 | 此指导用于分析单个SQL语句,还提供建议以改进该语句的性能。建议可能包括重写语句、更改实例配置或添加索引等操作。不会直接调用SQL优化指导,而是从其它工具(如顶级SQL或顶级会话)中调用它,以帮助优化影响大的SQL语句。 | |
SQL修复指导 | 如果某一SQL语句因严重错误而失败,进而导致在自动诊断资料档案库中生成问题,则可运行SQL修复指导。该指导会对该语句进行分析,并在多数情况下会推荐一个补丁程序来修复该语句。如果实施了建议,所应用的SQL补丁程序会让查询优化程序选择一个替代执行计划供将来的执行使用,从而避免故障。此操作无需更改该SQL语句本身即可完成。 |
在上表中需要注意以下几点:
(一)自动数据库诊断监视器(ADDM)
ADDM是一个基于服务器的专用软件,它每隔60分钟检查一次数据库的性能。ADDM的目标是提前检测出可能存在的系统瓶颈,并在系统性能明显降低之前提供建议的修复办法。
(二)内存指导
内存指导内存指导实际上是多项指导功能的集合,通过它可确定数据库实例所使用的总内存的最佳设置。系统全局区(SGA)具有一组指导,包括共享池指导、数据库缓冲区高速缓存指导、Java池指导和流池指导,也有程序全局区(PGA)指导。
(三)DBMS_ADVISOR程序包
DBMS_ADVISOR程序包包含所有指导模块的所有常数和过程声明。使用这个程序包可从命令行执行任务。要执行指导过程,必须具有ADVISOR权限。使用ADVISOR权限可对指导过程和视图进行全权访问。
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。




