Oracle中有哪些指导模块(Advisor)?
指导可提供有关资源占用率和各个服务器组件性能的有用反馈。例如,内存指导为MEMORY_TARGET初始化参数提供建议值,该参数用于控制数据库实例所使用的总内存量。由于ADDM依赖于AWR中捕获的数据,因此Oracle数据库通过ADDM可诊断自身的性能并确定如何解决识别出的问题。ADDM在每次捕获AWR统计信息后会自动运行,它可能还会调用其它指导。常见的指导模块如下图所示:
详解如下表所示:
分类 |
简介 |
||
内存指导(memory advisors) |
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指导,可设置实例崩溃后数据库恢复所需的时间长短。 |
||
空间指导 |
段指导(Segment Advisor) |
段指导用于查找占用空间多于所需空间的表和索引。此指导会在表空间级或方案级检查造成低效的空间消耗问题,如果可能,还会生成减少空间消耗的脚本。 |
|
还原管理指导 |
使用还原管理指导,可确定支持指定的保留期所需要的还原表空间大小。 |
||
SQL相关 |
SQL访问指导(SQL Access Advisor) |
此指导用于分析在给定时间段发出的所有SQL语句,对索引或物化视图(可提高性能)的创建提供建议。需要注意的是,SAA不是自动执行的。 |
|
SQL优化指导(SQL Tuning Advisor) |
此指导用于分析单个SQL语句,还提供建议以改进该语句的性能。建议可能包括重写语句、更改实例配置或添加索引等操作。不会直接调用SQL优化指导,而是从其它工具(如*SQL或*会话)中调用它,以帮助优化影响大的SQL语句。 |
||
SQL修复指导 |
如果某一SQL语句因严重错误而失败,进而导致在自动诊断资料档案库中生成问题,则可运行SQL修复指导。该指导会对该语句进行分析,并在多数情况下会推荐一个补丁程序来修复该语句。如果实施了建议,所应用的SQL补丁程序会让查询优化程序选择一个替代执行计划供将来的执行使用,从而避免故障。此操作无需更改该SQL语句本身即可完成。 |
在上表中需要注意以下几点:
(一)自动数据库诊断监视器(ADDM)
ADDM是一个基于服务器的专用软件,它每隔60分钟检查一次数据库的性能。ADDM的目标是提前检测出可能存在的系统瓶颈,并在系统性能明显降低之前提供建议的修复办法。
(二)内存指导
内存指导内存指导实际上是多项指导功能的集合,通过它可确定数据库实例所使用的总内存的最佳设置。系统全局区(SGA)具有一组指导,包括共享池指导、数据库缓冲区高速缓存指导、Java池指导和流池指导,也有程序全局区(PGA)指导。
(三)DBMS_ADVISOR程序包
DBMS_ADVISOR程序包包含所有指导模块的所有常数和过程声明。使用这个程序包可从命令行执行任务。要执行指导过程,必须具有ADVISOR权限。使用ADVISOR权限可对指导过程和视图进行全权访问。
Which three are true about advisors in an Oracle 11g database?
A. The Automatic Database Diagnostic Monitor(ADDM) can provide recommendations for improving database performance.
B. The SQL Access Advisor can recommend the creation of materialized views and materialized view logs.
C. The SQL Tuning Advisor can recommend the creation of one or more indexes.
D. By default, the SQL Access Advisor runs automatically in each maintenance window.
E. The Segment Advisor on recommend the creation of partitioned tables.
Answer:ABE
对于C选项,STA是针对单个SQL指导的。
对于D选项,SAA不是自动运行的。自动运行的指导包括:Segment Advisor、Optimizer statistics gathering和Automatic SQL Tuning Advisor。
自动维护任务是在创建数据库时自动创建的,并由调度程序进行管理。可以通过“Automatic Maintenance Tasks(自动维护任务)”页更改默认配置。
270.Which tasks are run automatically as part of the Automated Maintenance Task by default? (Choose
all that apply.)
A. Segment Advisor
B. SQL Access Advisor
C. Optimizer statistics gathering
D. Automatic SQL Tuning Advisor
E. Automatic Database Diagnostics Monitor
Answer: ACD
答案解析:
参考:http://blog.csdn.net/rlhua/article/details/13021985
http://blog.csdn.net/rlhua/article/details/13092965
题问:以下哪种任务是自动维护任务的一部分,默认情况下自动运行的?
自动维护任务:是在创建数据库时自动创建的,并由调度程序进行管理。默认情况下,它会收集数据库中优化程序统计信息缺失或已过时的所有对象的统计信息。可以通过“Automatic Maintenance Tasks(自动维护任务)”页更改默认配置。
点击配置后,可见这三个任务默认都是启用的,当然也可以自动配置。