• 使用ADDM 的新功能
• 使用自动内存管理
• 使用统计信息增强功能
- Oracle Database 11g 中的ADDM 增强
• 用于RAC 的ADDM
• 指令(隐藏查找结果)
• DBMS_ADDM 程序包
- Oracle Database 11g:RAC 的自动数据库诊断监视器
Oracle Database 11g:RAC 的自动数据库诊断监视器
Oracle Database 11 g 对一系列功能进行了扩展,这些扩展的功能通过对整个集群内的性能
进行分析提高了数据库的可管理性。自动数据库诊断监视器(ADDM) 的一种特殊模式可
以分析Oracle Real Application Clusters (RAC) 数据库集群,并报告影响整个集群的问题以
及影响单个实例的问题。这种模式称为“数据库ADDM”,与Oracle Database 10 g 中已
经存在的实例ADDM 相对。
RAC 的数据库ADDM 并不只是众多报表中的一个报表,它还有适用于 RAC 的独立分
析。
- RAC 的自动数据库诊断监视器
• 确定整个RAC 集群数据库的最重要的性能问题
• 在生成AWR 快照时自动运行(默认设置)
• 在数据库范围内对以下项进行分析:
– 全局资源(例如,I/O 和全局锁)
– 高负载SQL 和热块
– 全局高速缓存互联通信量
– 网络等待时间问题
– 实例响应时间的偏差
• DBA 用来分析集群性能
RAC 的自动数据库诊断监视器
在Oracle Database 11 g 中,可以为ADDM 创建一个时段分析模式,用于分析整个集群的
吞吐量性能。如果指导以此模式运行,则称为“数据库ADDM”。可以为单个实例运行
指导;该指导等同于Oracle Database 10 g ADDM,现在称为“实例 ADDM”。
数据库ADDM 可以访问所有实例生成的 AWR 数据,因而可以更加精确地分析全局资
源。数据库ADDM 和实例 ADDM 都在连续的时段(可以包含实例启动和关闭)中运行。
对于数据库ADDM,在分析期间可能会有多个关闭或启动的实例。但是,在整个时间段
中必须保持数据库版本相同。
数据库ADDM 会在各个快照生成后自动运行。自动实例 ADDM 的运行方式与其在 Oracle
Database 10 g 中的运行方式相同。也可以对集群中的一部分实例进行分析,这称为“部分
分析ADDM”。
I/O 容量查找结果(I/O 系统过度使用)是一个全局查找结果,因为它关系到影响多个实
例的全局资源。本地查找结果关系到影响单个实例的本地资源或问题。例如,CPU 绑定
实例会产生有关CPU 的本地查找结果。
虽然可在应用程序开发过程中使用ADDM 来测试对应用程序、数据库系统或主机的更
改,但ADDM 的目标用户是 DBA。
- EM 支持 RAC 的ADDM
“Cluster Database(集群数据库)”主页:
EM 支持RAC 的ADDM
Oracle Database 11 g Enterprise Manager 可以在“Cluster Database (集群数据库)”主页上
显示ADDM 分析。“Finding(查找结果)”表显示在“ADDM Performance Analysis
(ADDM 性能分析)”部分。
对于每个查找结果,“Affected Instances(受影响的实例)”列将显示受影响的实例数量
( m/n) 。显示内容还指明每个实例的影响百分比。对查找结果进行进一步的细化会将您带
到“Performance Finding Details (性能查找结果详细资料)”页。
- EM 支持 RAC 的ADDM
“Finding History(查找结果历史记录)”页:
EM 支持RAC 的ADDM (续)
在“Performance Finding Details (性能查找结果详细资料)”页上,单击“Finding History
(查找结果历史记录)”按钮可看到一个页面,该页面上部有一个图,绘制出了随着时间的
变化查找结果在活动会话中的影响。默认的显示时段为24 小时。下拉列表支持查看七天的
信息。
在显示内容的底部显示了一个类似于结果部分的表,用于显示此指定查找的所有查找结果。
可以在此页上设置查找结果的过滤器。不同类型的查找结果(CPU 、登录数、SQL 等)有不
同种类的过滤标准。
注:对于查找结果历史记录,只考虑自动运行的 ADDM。这些结果仅反映未过滤的结果。
- 使用DBMS_ADDM 程序包
使用DBMS_ADDM 程序包
DBMS_ADDM 程序包可以简化ADDM 管理。该程序包包含以下过程和函数:
• ANALYZE_DB:创建一个ADDM 任务对数据库进行全局分析
• ANALYZE_INST:创建一个ADDM 任务对本地实例进行分析
• ANALYZE_PARTIAL:创建一个ADDM 任务对一部分实例进行分析
• DELETE :删除创建的ADDM 任务(任何种类)
• GET_REPORT:获取已执行的ADDM 任务的默认文本报表
• 参数1、2 :启动和结束快照
- 已命名的指导查找结果和指令
• 现在,已对指导结果进行了分类和命名:
– 存在于DBA{USER}_ADVISOR_FINDINGS视图中
• 可以通过DBA_ADVISOR_F INDING_NAMES视图查询
所有查找结果名称:
已命名的指导查找结果和指令
Oracle Database 10 g 引入了指导框架和多种指导来帮助DBA 有效地管理数据库。这些指
导提供查找结果形式的反馈。现在,Oracle Database 11 g 对这些查找结果进行了分类,这
样您可以通过查询指导视图来了解指定类型的查找结果在数据库中重复出现的频率。以下
指导视图中添加了一个FINDING_NAME列:
• DBA_ADVISOR_FINDINGS
• USER_ADVISOR_FINDINGS
新增的DBA_ADVISOR_FINDING_NAMES视图可以显示所有查找结果名称。
- 使用DBMS_ADDM 程序包
• 创建一个用于过滤“Undersized SGA (不够大的
SGA)”查找结果的ADDM 指令:
• DBA_ADVISOR_F INDING_NAMES中的可能查找结果
使用DBMS_ADDM 程序包
可以使用可能的查找结果名称来查询查找结果资料档案库,以获取该特定查找结果的全部
出现。
幻灯片中显示了使用查找结果指令创建实例ADDM 任务的过程。如果任务的名称为
NULL,则该名称将应用于所有后续的ADDM 任务。查找结果名称“Undersized SGA (不
够大的SGA )”必须在DBA_ADVISOR_FINDING_NAMES视图(列出了所有查找结果)
中,并且区分大小写。仅当查找结果在分析期间至少涵盖两个( min_active_sessions)
平均活动会话时,DBMS_ADDM.GET_REPORT的结果才会显示“Undersized SGA (不够
大的SGA )”查找结果。即至少占该时段中数据库总时间的10%
( min_perc_impact) 。
- 使用DBMS_ADDM 程序包
• 添加指令的过程:
– INSERT_FINDING_DIRECTIVE
– INSERT_SQL_DIRECTIVE
– INSERT_SEGMENT_DIRECTIVE
– INSERT_PARAMETER_DIRECTIVE