OracleDatabase11g:面向管理员的新增功能8-2OracleDatabase11g:面向管理员的新增功能8-3OracleDatabase11g:面向管理员的新增功能8-4OracleDatabase11g:RAC的自动数据库诊断监视器OracleDatabase11g对一系列功能进行了扩展,这些扩展的功能通过对整个集群内的性能进行分析提高了数据库的可管理性。自动数据库诊断监视器(ADDM)的一种特殊模式可以分析OracleRealApplicationClusters(RAC)数据库集群,并报告影响整个集群的问题以及影响单个实例的问题。这种模式称为“数据库ADDM”,与OracleDatabase10g中已经存在的实例ADDM相对。RAC的数据库ADDM并不只是众多报表中的一个报表,它还有适用于RAC的独立分析。OracleDatabase11g:面向管理员的新增功能8-5RAC的自动数据库诊断监视器在OracleDatabase11g中,可以为ADDM创建一个时段分析模式,用于分析整个集群的吞吐量性能。如果指导以此模式运行,则称为“数据库ADDM”。可以为单个实例运行指导;该指导等同于OracleDatabase10gADDM,现在称为“实例ADDM”。数据库ADDM可以访问所有实例生成的AWR数据,因而可以更加精确地分析全局资源。数据库ADDM和实例ADDM都在连续的时段(可以包含实例启动和关闭)中运行。对于数据库ADDM,在分析期间可能会有多个关闭或启动的实例。但是,在整个时间段中必须保持数据库版本相同。数据库ADDM会在各个快照生成后自动运行。自动实例ADDM的运行方式与其在OracleDatabase10g中的运行方式相同。也可以对集群中的一部分实例进行分析,这称为“部分分析ADDM”。I/O容量查找结果(I/O系统过度使用)是一个全局查找结果,因为它关系到影响多个实例的全局资源。本地查找结果关系到影响单个实例的本地资源或问题。例如,CPU绑定实例会产生有关CPU的本地查找结果。虽然可在应用程序开发过程中使用ADDM来测试对应用程序、数据库系统或主机的更改,但ADDM的目标用户是DBA。OracleDatabase11g:面向管理员的新增功能8-6EM支持RAC的ADDMOracleDatabase11gEnterpriseManager可以在“ClusterDatabase(集群数据库)”主页上显示ADDM分析。“Finding(查找结果)”表显示在“ADDMPerformanceAnalysis(ADDM性能分析)”部分。对于每个查找结果,“AffectedInstances(受影响的实例)”列将显示受影响的实例数量(m/n)。显示内容还指明每个实例的影响百分比。对查找结果进行进一步的细化会将您带到“PerformanceFindingDetails(性能查找结果详细资料)”页。OracleDatabase11g:面向管理员的新增功能8-7EM支持RAC的ADDM(续)在“PerformanceFindingDetails(性能查找结果详细资料)”页上,单击“FindingHistory(查找结果历史记录)”按钮可看到一个页面,该页面上部有一个图,绘制出了随着时间的变化查找结果在活动会话中的影响。默认的显示时段为24小时。下拉列表支持查看七天的信息。在显示内容的底部显示了一个类似于结果部分的表,用于显示此指定查找的所有查找结果。可以在此页上设置查找结果的过滤器。不同类型的查找结果(CPU、登录数、SQL等)有不同种类的过滤标准。注:对于查找结果历史记录,只考虑自动运行的ADDM。这些结果仅反映未过滤的结果。OracleDatabase11g:面向管理员的新增功能8-8使用DBMS_ADDM程序包DBMS_ADDM程序包可以简化ADDM管理。该程序包包含以下过程和函数:•ANALYZE_DB:创建一个ADDM任务对数据库进行全局分析•ANALYZE_INST:创建一个ADDM任务对本地实例进行分析•ANALYZE_PARTIAL:创建一个ADDM任务对一部分实例进行分析•DELETE:删除创建的ADDM任务(任何种类)•GET_REPORT:获取已执行的ADDM任务的默认文本报表•参数1、2:启动和结束快照OracleDatabase11g:面向管理员的新增功能8-9已命名的指导查找结果和指令OracleDatabase10g引入了指导框架和多种指导来帮助DBA有效地管理数据库。这些指导提供查找结果形式的反馈。现在,OracleDatabase11g对这些查找结果进行了分类,这样您可以通过查询指导视图来了解指定类型的查找结果在数据库中重复出现的频率。以下指导视图中添加了一个FINDING_NAME列:•DBA_ADVISOR_FINDINGS•USER_ADVISOR_FINDINGS新增的DBA_ADVISOR_FINDING_NAMES视图可以显示所有查找结果名称。OracleDatabase11g:面向管理员的新增功能8-10使用DBMS_ADDM程序包可以使用可能的查找结果名称来查询查找结果资料档案库,以获取该特定查找结果的全部出现。幻灯片中显示了使用查找结果指令创建实例ADDM任务的过程。如果任务的名称为NULL,则该名称将应用于所有后续的ADDM任务。查找结果名称“UndersizedSGA(不够大的SGA)”必须在DBA_ADVISOR_FINDING_NAMES视图(列出了所有查找结果)中,并且区分大小写。仅当查找结果在分析期间至少涵盖两个(min_active_sessions)平均活动会话时,DBMS_ADDM.GET_REPORT的结果才会显示“UndersizedSGA(不够大的SGA)”查找结果。即至少占该时段中数据库总时间的10%(min_perc_impact)。OracleDatabase11g:面向管理员的新增功能8-11使用DBMS_ADDM程序包(续)附加的PL/SQL指令过程:•INSERT_FINDING_DIRECTIVE:创建一个指令以限制特定查找结果类型的报告•INSERT_SQL_DIRECTIVE:创建一个指令以限制对特定SQL的操作的报告•INSERT_SEGMENT_DIRECTIVE:创建一个指令以阻止ADDM创建为特定段“运行段指导”的操作•INSERT_PARAMETER_DIRECTIVE:创建一个指令以阻止ADDM创建更改特定系统参数值的操作•参数的长语法将在此处再次发挥了作用。•如果指定了ALL,则将报告指令。注:有关可用过程的完整说明,请参阅《OracleDatabase11gPL/SQLReferencesandTypes》文档。OracleDatabase11g:面向管理员的新增功能8-12修改的指导视图添加FILTERED列增强了包含指导查找结果、建议案和操作的视图。OracleDatabase11g:面向管理员的新增功能8-13新增的ADDM视图有关可用过程的完整说明,请参阅OracleDatabase11g文档集。OracleDatabase11g:面向管理员的新增功能8-14OracleDatabase10gSGA参数如幻灯片中所示,激活自动共享内存管理(ASMM)时将自动优化五个最重要的池。这些参数称为“自动优化的参数”。第二类称为“手动动态参数”,包括不必关闭实例就可手动调整大小但系统不会自动进行优化的参数。最后一类是“手动静态参数”,包括大小固定且不先关闭实例就无法调整大小的参数。OracleDatabase11g:面向管理员的新增功能8-15OracleDatabase10gPGA参数PGA_AGGREGATE_TARGET指定了可供与该实例关联的所有服务器进程使用的目标总PGA内存。将PGA_AGGREGATE_TARGET设置为非零值时,会自动将WORKAREA_SIZE_POLICY参数设置为AUTO。这意味着会自动调整由占用大量内存的SQL操作符使用的SQL工作区大小。非零值是此参数的默认值,因为除非另行指定,否则Oracle会将其设置为SGA大小的20%或10MB(取两者中的较大值)。将PGA_AGGREGATE_TARGET设置为0时,也会自动将WORKAREA_SIZE_POLICY参数设置为MANUAL。这意味着可使用*_AREA_SIZE参数来调整SQL工作区的大小。请记住,PGA_AGGREGATE_TARGET不是一个固定值。它用于帮助系统更有效地管理PGA内存,但在必要的情况下,系统将超出该设置。可以根据每个数据库会话对WORK_AREA_SIZE_POLICY进行更改,这样便可以按需要根据每个会话进行手动内存管理。例如,假定会话加载了大型导入文件,因此需要较大的sort_area_size。可以使用登录触发器为正在执行导入操作的帐户设置WORK_AREA_SIZE_POLICY。如果WORK_AREA_SIZE_POLICY为AUTO,PGA_AGGREGATE_TARGET设置为0,则在启动时将引发外部错误ORA-04032。OracleDatabase11g:面向管理员的新增功能8-16OracleDatabase10gPGA参数(续)注:在Oracle9iDatabase版本2之前,PGA_AGGREGATE_TARGET一直用于控制所有专用服务器连接的工作区大小。但是,该参数对共享服务器连接没有影响;这种情况下优先使用*_AREA_SIZE参数。在OracleDatabase10g中,PGA_AGGREGATE_TARGET控制由专用连接和共享连接分配的工作区。OracleDatabase11g:面向管理员的新增功能8-17OracleDatabase10g内存指导为了帮助您调整最重要的SGA组件的大小,OracleDatabase11g中引入了幻灯片中的指导:•V$DB_CACHE_ADVICE包含的行预测与每行对应的高速缓存大小的物理读取数和时间。•V$SHARED_POOL_ADVICE显示有关不同池大小的共享池中估计分析时间的信息。•V$JAVA_POOL_ADVICE显示有关不同池大小的Java池中估计类加载时间的信息。•V$STREAMS_POOL_ADVICE显示有关估计的溢出或未溢出消息数,以及用于不同流池大小的溢出或未溢出活动的关联时间的信息。注:有关这些视图的详细信息,请参阅《Oracle数据库参考》。OracleDatabase11g:面向管理员的新增功能8-18OracleDatabase10g内存指导(续)•在OracleDatabase10g中,SGAAdvisor会显示出DB时间的改善(可针对特定SGA总大小设置实现此改善)。使用此指导可以减少在设置SGA大小时反复试验的次数。指导数据存储在V$SGA_TARGET_ADVICE视图中。•V$PGA_TARGET_ADVICE将预测,PGA_AGGREGATE_TARGET参数值的更改会对V$PGASTAT性能视图显示的PGA高速缓存命中率产生怎样的影响。预测是根据PGA_AGGREGATE_TARGET参数的多个值(围绕其当前值进行选择)来进行的。建议统计信息是通过模拟过去实例运行的工作量来生成的。11g中新增了一列(ESTD_TIME),对应于处理字节所需的CPU和I/O时间。OracleDatabase11g:面向管理员的新增功能8-19自动内存管理:概览使用自动内存管理时,系统会导致内存发生从SGA到PGA(或相反)的间接转移,并根据工作量自动调整PGA和SGA的大小。这种间接的内存转移依赖于操作系统的共享内存释放机制。将内存释放给操作系统后,其它组件可以通过向操作系统请求内存来分配内存。当前,Linux、Solaris、HP-UX、AIX和Windows中已实现了这种功能。设置数据库实例的内存目标,将系统优化到目标内存大小,根据需要在系统全局区(SGA)和总程序全局区(P