课程目标:
- 管理优化统计信息
- 管理AWR
- 使用ADDM
- 诊断框架
- 告警日志
- 自动任务
1、数据库维护
使用Oracle复杂基础设施可以使主动数据库维护更简单,包括以下主要元素:
- 自动工作负载知识库(AWR)是每个Oracle数据库内置的知识库。 每隔一段时间,Oracle数据库服务器对关键信息和工作负载信息进行快照并存储。所捕获的数据可以通过由数据库进行分析也可以人工分析。
- 使用自动任务,数据库执行常规的维护操作,如定期备份,更新优化统计信息,和数据库健康检查。
被动数据库的维护包括关键错误和数据库健康检查发现的情况:
- 对于不能自动解决以及要求管理员注意(如运行空间不足)的问题,数据库服务器生成警报。数据库服务器的监控运行并对问题发出通知,同时会提供建议如何解决问题。
- 建议是由一些顾问产生,其中每一个负责一个子系统。例如内存,段和SQL顾问。
2、查看预警历史
预警历史页显示当前数据库在指定的时间段中的预警历史记录。一个警告表示一个潜在的问题:一个警告或临界阈值的一个监测指标,一个目标是不再可用。点击列在预警历史页面的度量获得详细的统计信息和实际时间戳。
例子:查看预警历史记录
3、术语
自动工作负载知识库(AWR)为内部Oracle服务器组件提供服务来收集,处理,维护和使用性能统计信息检测问题和调优。活动会话历史(ASH)是存储在AWR中的最近会话活动历史情况。
统计数据是数据库和对象的详细信息数据的集合。查询优化器使用优化器统计信息为每个SQL语句选择最佳执行计划。并为性能监控提供信息。
AWR快照包括数据库统计信息、度量、应用统计信息以及操作系统统计信息等。AWR基线是一组在一段时间内收集的AWR快照,用于性能比较的基准,可以是当前性能与基线的比较,也可以是两个基线进行比较。
系统移动窗口基线是由数据库默认收集。系统移动窗口基线是一组变化的快照集,默认包括最后八天的快照。在收集了足够的数据并进行统计计算后,该基线变为有效。统计计算默认是在每个星期六的午夜进行。
用户在ORACLE数据库中执行操作时,必然要创建相应的连接和会话,其中,所有当前的会话信息都保存在动态性能视图V$SESSION中,通过该视图,DBA可以查看用户实际执行的操作,或者当前的等待事件等。通常这部分信息是调优过程中的关键信息,不过,一旦连接断开。会话信息就会被同时从V$SESSION及其它相关视图中清除,也就是说,用户执行完操作走人,而你(DBA),如果不能在当前逮到他,过了这点,就不知道它曾经做过什么了。
10g 版本中,ORACLE又新增加了一个视图(其它是若干,不过咱们还是以session为引子说):V$ACTIVE_SESSION_HISTORY,看名字就知道,就是活动会话的历史记录,这下,即使用户操作完成后,断开了连接也不怕,因为其会话的情况已经被记录了下来,这项特性就是ASH了,全称与视图名相同,正是:ACTIVE SESSION HISTORY。
ASH 每秒钟收集一次当前处于非空闲等待事件的、活动状态的、session的信息,并保存在V$ACTIVE_SESSION_HISTORY视图中,我们(应该以及必须)知道,动态性能视图其实上是ORACLE自行构造的一堆存在于SGA内存区的虚表,就是说,ASH的数据是保存在内存里的,实际上,ORACLE分配给ASH的空间并不是无限大(更何况ORACLE自身管理的内存空间也不是无限大),查看ASH可供使用的内存空间,可以通过如下SQL:
SQL> select pool, name, bytes/1024/1024 Mb From v$sgastat where name like ¨%ASH %¨;
V$ACTIVE_SESSION_HISTORY中能够记录多少会话信息, 一方面取决于该数据库的SGA 分配给ASH buffers的大小 ,另一方面取决于数据库的启动和关闭(重启数据库时将重构SGA内存区)。这两方面的因素制约了V$ACTIVE_SESSION_HISTORY中能够保存的会话信息的能力,做为DBA,我们肯定是希望ASH尽可能多的保留关于会话的信息,但目前来看单纯依靠V$ACTIVE_SESSION_HISTORY肯定无法实现这点,那怎么办呢?别担心,ORACLE又提供了AWR特性,ASH收集到的会话信息,是做为AWR中快照信息的一部分,被保存到了硬盘上。
AWR采样数据都存储在SYSAUX表空间中,并且以WRM$_* 和 WRH$_*的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计数据。
4、Oracle优化:概要
优化器是Oracle数据库创建SQL语句执行计划的一部分。创建执行计划并选择合适的执行计划是处理任何SQL语句的一个重要步骤,可以极大影响执行时间。
执行计划是执行语句的一系列操作。优化器考虑了所引用对象的许多因素以及在查询中指定的条件。优化器所需信息包括:
- 系统统计信息(I/O、CPU等)以及模式对象(行数、索引等)
- 数据字典信息
- WHERE子句
- 开发者提供的hints
可以使用如EM,EXPLAIN PLAN,和SQL*Plus AUTOTRACE诊断工具,查看执行计划的优化选择。
基于功能Oracle优化器有2种:查询优化器和自动调优优化器。
5、优化器统计数据
优化器统计数据包括表、列、索引和系统统计。表和索引的统计数据存储在数据字典中。这些统计数据不提供实时数据。提供了一个关于数据存储和分配统计上正确的快照,用于优化决定如何访问数据。
收集的统计数据包括:
- 数据库块中的表或索引的大小
- 行数
- 表的平均行大小和链数
- 索引中删除叶行的高度和数目
随着数据的插入,删除和修改,实际数据都在改变,但由于维护实时统计数据对性能影响很大,通过定期收集表和索引的统计数据来更新。
优化器统计数据是由一个自动的维护工作来自动收集的,在默认情况下,每天在预定义的维护窗口中运行。
优化器统计信息不同于收集在AWR快照中的数据库性能统计数据。
例子:查看数据字典信息和实际的业务表可以看到记录的行数有可能不一致
SQL> select count(*) from hr.emp;
COUNT(*)
----------
0
SQL> insert into hr.emp select * from hr.employees;
107 rows created.
SQL> select count(*) from hr.emp;
COUNT(*)
----------
107
SQL> select num_rows from dba_tables where owner='HR' and table_name='EMP';
NUM_ROWS
----------
0
6、使用管理优化器统计信息页面
要管理EM中的优化器统计信息,单击“服务器”选项卡,然后单击“查询优化”部分中的“管理优化器统计”。
可以执行以下任务:
- 收集优化统计数据。
- 将优化数据还原为过去的一个点。所选择的时间点必须在优化统计数据保留周期内,默认为30天。
- 锁定优化器统计信息来保证某个对象的统计数据不会被覆盖。用于想保留某个表在某个时间有代表性的统计数据。表中数据的波动不会影响被锁定的统计数据。
- 解锁优化器统计数据,撤消先前的锁定。
- 删除优化器统计数据。
最佳实践
使用自动维护任务收集优化器统计信息。需要设置初始化参数STATISTICS_LEVEL为TYPICAL或者ALL。
例子:查看STATISTICS_LEVEL参数
SQL> show parameter statistics_level
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
statistics_level string TYPICAL
7、手动收集优化器统计数据
可以在特定时间手动收集统计数据,例如在下一次系统收集工作之前,一个表的内容发生大的变化,关于该表的统计数据不再准确,就需要进行手动收集统计数据。一般在24小时内,一个大表的内容改变超过10%就建议进行手动收集统计数据。
手动收集统计数据可以使用EM或者DBMS_STATS包。系统统计信息只能使用DBMS_STATS收集。系统统计描述了该系统的硬件特性,如I/O和CPU的性能和利用率,查询优化。
收集优化器统计信息菜单选项启动一个向导,该向导可以选择收集优化统计信息的范围、对象、选项和调度。根据选择的是表、模式或者数据库,向导提交dbms_stats.gather_ * _stats任务。在这个向导中设置dbms_stats包使用的值,确定这个任务运行的时间。
对于常规统计数据不推荐手动收集,因为统计数据在维护窗口中收集更有效,对用户的影响较小。如果自动作业失败或被禁用,则可提交手动作业。
可以直接使用dbms_stats收集优化器统计信息:
SQL> exec dbms_stats.gather_table_stats('HR','EMP');
PL/SQL procedure successfully completed.
SQL> select num_rows from dba_tables where owner='HR' and table_name='EMP';
NUM_ROWS
----------
107
现在的行数正确地反映了表中的信息。dbms_stats也能够手动收集统计整个模式甚至整个数据库。
除非工作负载发生大的改变,否则不改变系统统计数据。因此,系统统计不需要经常调整。dbms_stats.gather_system_stats在特定的时间收集系统统计信息。
最佳实践提示:在创建数据库时使用以下命令:
SQL> exec dbms_stats.gather_system_stats('noworkload');
noworkload选项需要几分钟(取决于数据库的大小)捕捉估计I/O特性,如平均读取寻道时间和I/O传输率。
8、收集统计数据的首选项
dbms_stats.gather_ * _stats存储过程可以对整个数据库或单个对象收集统计信息。当调用gather_ * _stats,会使用到一些默认值。默认值适用于大多数情况,但对于某些对象或模式,可以修改默认值而不需要去手动运行任务。Oracle 11g允许为单个对象,模式、数据库或全局设定值(称为参数)。
使用set_ * _prefs存储过程为不属于SYS或SYSTEM用户的对象设置首选项。
使用set_datatbase_prefs存储过程为数据库中的所有表和模式设置首选项。set_schema_prefs覆盖指定模式中的表。set_table_prefs对单个表进行设置。
无论是在数据库级、模式级还是表级,所有对象的首选项设置都在一个表中,在模式级别设置的首选项覆盖在表级的。
在dba_tab_stat_prefs视图查看对象级别首选项。不是设置在对象级别的首选项会被设置在全局级别,调用dbms_stats.get_prefs存储过程查看全局首选项。
可以在表,模式,数据库和全局级别设置、获取、删除、导出和导入首选项。
Oracle 11g的首选项:
- 级联:决定收集表统计数据时是否收集索引的统计数据。
- 并行度:设置用于收集统计数据的并行度。
- 发布:用来决定是否将统计数据发布到字典中还是存储在私有区域中。使用publish_pending_stats存储过程可以使DBA在发布统计信息前进行验证。
- 过期百分百:确定过期统计信息的阈值。该值是自上次统计数据收集以来修改行数的百分比。上面的例子就是修改为13%。
- 增量:在分区表上使用增量方式收集全局统计数据。
- 直方图:确定列和直方图参数,用来收集列统计信息。
- 粒度:决定了统计的粒度(用于分区表)。
- 游标失效:用来判断无效光标。
- 估计百分比:用来获取统计行数。这是表中的行数的百分比。
使用dbms_stats.delete_ * _prefs存储过程删除表、模式和数据库级别的首选项。使用dbms_stats.reset_param_defaults存储过程重置全局首选项到推荐值。
例子:设置HR模式下EMP表的统计信息收集首选项参数
SQL> select * from dba_tab_stat_prefs where owner='HR' and table_name='EMP';
no rows selected
SQL> exec dbms_stats.set_table_prefs('HR','EMP','STALE_PERCENT','13');
PL/SQL procedure successfully completed.
SQL> select * from dba_tab_stat_prefs where owner='HR' and table_name='EMP';
OWNER TABLE_NAME PREFERENCE_NAME PREFERENCE_VALUE
---------- ---------- ------------------------------ --------------------
HR EMP STALE_PERCENT 13
SQL> select DBMS_STATS.GET_PREFS('STALE_PERCENT','HR','EMP') from dual;
DBMS_STATS.GET_PREFS('STALE_PERCENT','HR','EMP')
--------------------------------------------------------------------------------
13
9、自动工作负载知识库(AWR)
AWR收集、维护和利用统计信息来检测问题和调优。可以看作用于数据库统计、度量的一个数据仓库。
默认每60分钟从SGA自动捕获的统计信息并以快照的形式存储。快照被称为管理监视器的后台进程(MMON)存储到磁盘。默认情况保留八天。可以修改快照间隔和保留时间。
AWR包含几百个表,都属于SYS模式,储存在SYSAUX表空间。Oracle建议只通过EM或者dbms_workload_repository包进行访问。不支持DML操作。
10、AWR基础设施
AWR基础设施有两个主要部分:
- 内存中的数据采集。由于性能原因这些统计数据存储在内存中。存储在内存中的统计数据可以通过动态性能视图(V$)访问。
- 表示持续性部分的AWR快照。AWR快照可以通过数据字典视图和EM访问。
存储在磁盘中的原因有:
- 不受实例崩溃的影响
- 需要历史数据作为基线比较分析
- 由于内存不足,旧的统计数据被新的替换,替换的数据可以保存为以后使用。
MMON进程将在内存中的统计信息写到磁盘。AWR为Oracle数据库提供了一种自动捕获历史统计数据的方法。
11、AWR基线
AWR基线是一组AWR快照集。是保存在AWR中某一个重要时期的一组快照集。基线是一对快照的定义;通过快照序列号(snap_ids)或者开始和结束时间来识别快照。每一组快照集都有开始和结束快照,包括之间的所有快照。快照集用于保留快照数据。因此默认情况下,属于快照集的快照将保留到快照集被删除。可以设定快照将保留的天数。
执行create_baseline存储过程从一组快照中创建一个基线,并指定一个名称和一对快照标识符。基线名称唯一。选择过去某一个有代表性的时期来创建基线,用于与当前系统行为进行比较。也可以使用EM通过基线设置基于阈值的告警。还可以在该存储过程中设置过期时间(单位天),默认为空,表示“永不过期”。
可以直接从dba_hist_snapshot视图或者从EM获取snap_ids。
例子:从dba_hist_snapshot视图获取snap_id以及开始结束时间
SQL> select snap_id,begin_interval_time,end_interval_time from dba_hist_snapshot;
SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME
---------- ------------------------------ ------------------------------
252 21-DEC-15 07.42.50.968 AM 21-DEC-15 09.00.37.899 AM
253 21-DEC-15 09.00.37.899 AM 21-DEC-15 10.00.41.453 AM
256 21-DEC-15 12.49.45.910 PM 21-DEC-15 01.00.46.630 PM
12、EM和AWR
企业管理器和资源
单击“服务器”选项卡,然后单击“统计信息管理”部分中的“自动工作量资料档案库”。在自动工作量资料档案库页上,单击“编辑”以更改设置。
从自动工作量资料档案库页:
- 编辑设置
- 查看已创建快照的详细信息以及手动创建快照
- 创建AWR基线
- 生成AWR报告
13、管理AWR
AWR设置包括保留时间、采集间隔,和收集级别。减少其中的任何设置将影响依赖于AWR组件的功能,包括顾问。
增加设置可以提供更进一步的顾问建议,但是需要消耗存储快照空间和收集快照信息的性能。
在调整新应用程序时考虑设置收集级别为ALL。ALL表示收集SQL执行计划和时间统计,提高SQL顾问的建议准确性。当调优完毕,修改回TYPICAL。
beginDBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(10080,120);end;
14、收集级别
statistics_level初始化参数控制各种统计信息的捕获和各种顾问,包括自动维护任务。自动维护任务包括收集优化器统计信息。statistics_level参数可以设置为以下几个:
BASIC:关闭AWR统计信息和度量计算。禁用自动优化器统计任务,所有的顾问和服务器生成的警报。
TYPICAL:收集数据库自动管理所需的主要统计数据。
ALL:捕获所有的统计数据,增加了操作系统统计和计划执行统计。在大多数情况下,为了更好的系统性能可以不需要这些统计数据。
Oracle建议statistics_level设置TYPICAL。设置为BASIC禁用自动收集优化器统计信息。
15、自动数据库诊断监视器
与其他顾问不同,ADDM在每个AWR快照后自动运行。每进行一次快照,ADDM对最后的两次快照进行分析。ADDM主动监控实例和检测最大瓶颈。
在许多情况下,ADDM为检测到的问题提供建议甚至量化建议的好处。
可以由ADDM检测到的常见问题:
- CPU瓶颈
- 不好的网络连接管理
- 锁争用
- I/O能力
- 不合适的数据库实例内存结构
- 高负载的SQL语句
- 高PL/SQL和Java的时间
- 高检查点负载和原因(例如小日志文件)
每个ADDM分析结果存储在AWR中,也可以通过EM访问。
16、ADDM结果
在自动数据库诊断监视器(ADDM)页面,你可以看到最后一次ADDM运行后的详细结果。
上图需要注意以下几点:
(1)在这个时间点平均活跃用户数量急剧增加。此外主要的问题是Wait问题。
(2)ADDM图底部图标对应的是时间点,可以点击其他图标看以前的分析。
(3)下方是ADDM发现可调整部分的简短总结。通过点击一个特定的问题,定向到性能查找详情页。
单击“查看报告”按钮,可以获得文本格式的性能分析报告。
17、ADDM建议
在性能发现详细信息页,给出了解决相应问题的建议。建议分为模式,SQL调优,数据库配置,和许多其他类别。
ADDM的建议包括:
硬件的变化:增加CPU或改变I/O子系统结构
数据库配置:更改初始化参数设置
模式变化:哈希分区表或索引,或使用自动段空间管理(ASSM)
应用更改:对序列使用缓存选项,或使用绑定变量
使用其他顾问:为高负载SQL运行SQL调优顾问,或运行段顾问。
18、顾问框架
顾问提供了关于服务器组件资源利用和性能有用的反馈信息。例如,内存顾问提供了memory_target初始化参数(控制实例使用的内存总量)的推荐值。
通过对AWR捕获的数据进行分析,ADDM使Oracle数据库可以分析自己的性能,定位问题并解决。在每个AWR统计数据捕获后ADDM自动运行。它可能会调用其他顾问。
使用顾问基础设施的主要好处:
- 所有顾问使用一个统一的接口。
- 使用负载知识库,所有的顾问都有一个共同的数据源和结果存储。
不是所有的顾问都显示在上图(例如,数据恢复顾问和SQL修复顾问就未列出)。
自动数据库诊断监视器(ADDM)
ADDM每60分钟查看数据库性能。它的目标是在尽早发现系统瓶颈并在系统性能下降前修复。
内存顾问
内存顾问实际上是多个顾问函数的集合,有助于确定数据库实例所使用的总内存的最佳设置。系统全局区(SGA)有共享池顾问,数据库缓冲区高速缓存顾问,Java池顾问和流池顾问。Java池顾问和流池顾问不会出现在EM顾问页面。还有程序全局区(PGA)顾问。
平均恢复时间(MTTR)顾问
使用MTTR顾问,设置实例崩溃后所需恢复时间。
段顾问
查找消耗比实际需要的空间更多的表和索引。在表空间或模式级别检查多余空间使用,产生脚本来减少空间消耗。
SQL访问顾问
分析一段时期内执行的所有SQL语句,通过建议创建索引或物化视图提高性能。
SQL调优顾问
分析单个SQL语句,提供性能的改进建议。建议包括重写语句、更改实例配置或添加索引等。不直接调用SQL调优顾问,使用其他工具(如Top SQL或Top Sessions)帮助优化影响大的SQL语句。
undo管理顾问
为指定的保留期建议undo空间大小。
数据恢复顾问
自动诊断持续性数据故障,向用户提出修复方案,并在用户的请求中执行修复。数据恢复顾问的目的是减少平均恢复时间(MTTR),并提供一个集中的工具进行自动化的数据修复。
SQL修复顾问
SQL语句失败后运行SQL修复顾问。
19、EM和顾问
顾问中心页面是所有顾问的主要页面。通过单击主页中的相关链接列表中的指导中心。
在“顾问”页面的“顾问”选项卡上,列出所有已注册到负载知识库的顾问。可以通过顾问类型和预定义的时间段来筛选此列表。
检查器标签可以调度各种数据库完整性检查。
20、dbms_advisor包
dbms_advisor包包含所有顾问模型的所有常量和存储过程定义。可以在命令行使用这些包来执行任务。
21、自动维护任务
通过分析存储在AWR信息,数据库可以识别需要进行的日常维护任务,如优化统计信息刷新。自动维护任务使数据库自动执行这些操作。它使用调度程序在预定义的维护窗口中运行这些任务。
默认情况下,工作日维护窗口开始于晚上10:00,持续4小时。在星期六和星期日,维护窗口在早上6:00开始并持续20个小时。维护窗口的所有属性都是可自定义的,包括开始和结束时间、频率、星期几等。此外,可以通过数据库资源管理器资源计划限制自动维护任务对正常数据库操作的影响。
默认的自动维护任务:
- 收集优化器统计信息。
- 自动段顾问。
- 自动SQL顾问。
在“服务器”页面的“调度程序”标题下,单击“自动维护任务”,可以查看自动维护任务调度和最近的历史。单击“配置”到自动维护任务配置页。任务在窗口中执行。上图显示了任务执行的最后一个窗口,任务的下一个窗口将被执行。
注意,当维护窗口关闭时,默认情况下调度程序终止优化器统计数据收集,剩余的对象将在下一个维护窗口处理。
22、自动维护任务配置
在自动维护任务配置页面上,可以启用和禁用自动维护任务。
选择“窗口名称”来查看或编辑窗口日程安排。
单击“编辑”窗口组以添加和删除窗口组中的窗口。
23、服务器产生的告警
当数据库处于异常的状态会发出告警。默认情况下,数据库通过EM提供告警。可以配置EM向管理员发送电子邮件信息同时在控制台上显示报警信息。
可以为许多相关的指标设置的阈值。超过阈值,数据库会主动发出通知。潜在问题的早期通知可以让我们快速反应并解决。
默认大约有60个监控指标:
- 问题作业数
- 数据库等待时间(%)
- Dump Area使用(%)
- 对比基线,SQL的响应时间(%)
- 表空间使用(%)
- 一般事件
额外的关键指标:
- 平均文件读取时间(厘秒)
- 响应时间(每个事务)
- 等待时间(%)
24、设置阈值
在EM主页相关链接区域点击“度量和策略设置”要整个数据库设置或编辑一个阈值。输入警告值和临界值。当数据库达到指定值时,会发出相关告警。
已设置的阈值将出现在“带有阈值的度量”列表中。默认情况下,约60个指标有预设的阈值,可以根据需要进行修改。“所有指标”列表显示没有设置阈值的指标。
单击“编辑图标”可以修改阈值。
单击“收集调度”可以修改调度。
25、创建和测试告警
可以为特定对象设置阈值。
需要在INVENTORY表空间超过75%时收到一个关键警报。(表空间不允许数据文件自动扩展。)创建和测试告警,按以下步骤:
(1)在EM中,导航到“指标和策略设置”页,然后单击表空间使用阈值编辑图标设置阈值。
(2)在“模式”选项卡的“表”页,创建一个表来测试告警。8MB的存储子句的初始设置使表立即分配10MB的80%。
(3)当收到此表无法扩展的错误时,点击主页查看相关告警。默认每10分钟收集一次表空间使用情况。
大多数的警报包含一个相关联的顾问的名字,提供了详细的建议。
例子:创建表空间,创建表,查看告警
SQL> create tablespace inventory datafile '+data' size 10M;
Tablespace created.
SQL> create table hr.filler tablespace inventory storage(initial 8M) as select * from hr.employees;
Table created.
26、告警通知
通知机制使用EM用户界面。它基于一个通知规则的概念为即将到来的警报建立一套适当通知机制。
使用EM可以编辑通知规则。在主页上,单击“首选项”链接显示一般信息,在这里可以指定要接收通知的电子邮件地址。
单击“通知区域”中的“规则”链接。选择“数据库可用性和关键状态”规则,然后单击“编辑”按钮,到“编辑通知规则:数据库可用性和关键状态”页,单击“度量”选项卡并编辑要接收通知的指标。
如果要接受通知,需要先设置邮件服务器。
27、对告警做出反应
当收到一个告警,可以按照它提供的建议,或者考虑运行ADDM(或其他顾问)获得更详细的诊断信息。
关键错误产生告警和事件。关键错误产生的事件通常会被收集到问题中。可以使用支持工作台进行调查并报告给Oracle。
当问题的原因消失时,大多数告警(如“空间不足”)被清除。然而,其他告警(如通用告警日志错误)需要手动确认。在采取必要的纠正措施后,必须手动清理或删除告警。清理告警会将告警发送到Alert History,可以在EM主页的相关链接“告警历史记录”页查看。删除告警将从Alert History中删除它。
要清除如通用告警日志错误之类告警,请单击主页上的“诊断概要”下的告警日志链接。在告警日志错误页选择“警报”,单击“清除”。
28、告警类型和清除告警
有两种服务器生成的告警:阈值和非阈值。
大多数服务器生成的告警是通过为度量设置一个警告和临界值。可以定义超过120个度量的阈值,包括以下:
- 每秒物理读
- 用户每秒提交
- SQL服务响应时间
除了表空间使用度量与数据库相关,其他度量与实例相关。阈值告警也被称为有状态的告警,告警条件消失时自动清理告警。在视图dba_outstanding_alerts查看有状态的告警,清理后在dba_alert_history视图查看。
其他服务器生成的告警对应于特定的数据库事件,如ORA-*错误,“快照太旧”错误,恢复区空间不够,可恢复会话暂停。这些都是非阈值的告警,也被称为无状态告警。无状态的告警直接进入告警历史表。
例子:查看告警和告警历史
SQL> select object_name,object_type,reason,suggested_action from dba_outstanding_alerts;
OBJECT_NAME OBJECT_TYPE REASON SUGGESTED_ACTION
--------------- --------------- -------------------------------------------------- ----------------------------------------
INVENTORY TABLESPACE Tablespace [INVENTORY] is [90 percent] full Add space to the tablespace
SQL> select object_name,object_type,reason,suggested_action from dba_alert_history where object_name<>'Concurrency';
OBJECT_NAME OBJECT_TYPE REASON SUGGESTED_ACTION
--------------- --------------- -------------------------------------------------- ----------------------------------------
stone INSTANCE Instance stone.stone. up on node oracletest1 as of No action is necessary
time 2015-12-18 07:52:35.000000000 +08:00; reason
code: user
stone INSTANCE Instance stone.stone. down on node oracletest1 as Restart if desired and not automatically
of time 2015-12-18 07:52:34.000000000 +08:00; reas restarting
on code: unknown
29、相关习题:
(1)In your database instance, the STATISTICS_LEVEL initialization parameter is set to BASIC.
What is the impact of this setting?
A. Optimizer statistics are collected automatically.
B. Only timed operating system (OS) statistics and plan execution statistics are collected.
C. The snapshots for the Automatic Workload Repository (AWR) are not generated automatically.
D. Snapshots cannot be collected manually by using the DBMS_WORKLOAD_REPOSITORY package.
E. The Oracle server dynamically generates the necessary statistics on tables as part of query optimization.
答案:C
(2)You have recently collected statistics on certain objects of a schema in your database. But you observe suboptimal execution plans for the queries on these objects after two days of statistics collection. The optimizer statistics retention period is set to its default value.
Which action would help to use the previous set of statistics on the objects?
A. Restore statistics from statistics history.
B. Reduce the optimizer statistics retention period by 2 days.
C. Set the OPTIMIZER_PENDING_STATISTICS parameter to TRUE.
D. Reduce the Automatic Workload Repository (AWR) retention period by 2 days.
答案:A
(3)Examine the command:
SQL>DBMS_STATS.SET_TABLE_PREFS('SH','CUSTOMERS','PUBLISH','false');
Which statement describes the effect of the above command?
A.Automatic statistics collection is stopped for the CUSTOMERS table
B.Statistics for the CUSTOMERS table are locked and cannot be overwritten
C.Existing statistics for the CUSTOMERS table become unusable for the query optimizer
D.Subsequently, statistics gathered on the CUSTOMERS table are stored as pending statistics
答案:D
(4)The job to gather optimizer statistics for objects runs as part of the automatic maintenance window in your database instance. At a certain point of time, the maintenance window closes before the statistics are gathered for all objects.
Which statement is true in this scenario?
A. The statistics collection continues until all objects are processed.
B. The job is terminated and the statistics collected are restored to a time before the job started.
C. This produces an error and the statistics collected are locked until the next time that the maintenance window is opened.
D. The job is terminated and the statistics for the remaining objects are collected the next time that the maintenance window is opened.
答案:D
(5)Which two statements are true about alerts? (Choose two.)
A. Clearing an alert sends the alert to the alert history
B. Response actions cannot be specified with server-generated alerts
C. The nonthreshold alerts appear in the DBA_OUTSTANDING_ALERTS view
D. Server-generated alerts notify the problems that cannot be resolved automatically and require administrators to be notified
答案:AD
(6)Which two statements are true about the Automatic Database Diagnostic Monitor (ADDM)? (Choose two.)
A. The ADDM requires at least four AWR snapshots for analysis
B. The ADDM runs after each AWR snapshot is collected automatically by MMON
C. The results of the ADDM analysis are stored in the Automatic Workload Repository (AWR)
D. The ADDM analysis provides only diagnostics information but does not provide recommendations
E. The ADDM calls other advisors if required, but does not provide recommendations about the advisors
答案:BC
(7)Which statement is true about the Manageability Monitor (MMON) background process?
A. It transfers statistics from memory to disk at regular intervals.
B. It coordinates the rebalance activity for disk groups when ASM is used.
C. It communicates with the Automatic Storage Management (ASM) instance on behalf of the database instance.
D. It performs dynamic memory management when Automatic Shared Memory Management is enabled for the database instance.
答案:A
(8)You have set Tablespace Full Metrics Threshold values for the USERS tablespace as follows:
Warning (%): 90
Critical (%): 95
Which background process is responsible for issuing alerts when the threshold is crossed?
A. System monitor (SMON)
B. Process monitor (PMON)
C. Memory manager process (MMAN)
D. Manageability Monitor process (MMON)
答案:D
(9)View the Exhibit to examine the output of the DBA_OUTSTANDING_ALERTS view.
After 30 minutes, you executed the following command:
SQL> SELECT reason,metric_value FROM dba_outstanding_alerts;
REASON METRIC_VALUE
------------------------------------------------- --------------------
Tablespace [TEST] is [28 perce 28.125 nt] full 28.125
What could be the reason for the elimination of the other rows in the output?
A. An Automatic Workload Repository snapshot has been taken recently.
B. The non-threshold-based alerts are transferred to DBA_ALERT_HISTORY.
C. The threshold alerts conditions are cleared and the alerts are transferred to DBA_ALERT_HISTORY.
D. The threshold alerts related to database metrics are permanently stored in DBA_ALERT_HISTORY but not the threshold alerts related to instance metrics.
答案:C
(10)Your database is functional with a peak load for the last one hour. You want to preserve the performance statistics collected during this period to be used for comparison when you analyze the performance of the database in the future.
What action would you take to achieve this task?
A. Insert finding directives for ADDM tasks in the future.
B. Create a baseline on a pair of snapshots spanning the peak-load period.
C. Decrease the snapshot interval in the AWR to collect more snapshots during the peakload period.
D. Set the snapshot retention period in the Automatic Workload Repository (AWR) to zero to avoid automatic purging of snapshots.
答案:B
(11)You have statistics collected for some selected tables. Your requirement is that the statistics for the tables and all dependent indexes must not be overwritten by further statistics collection until a certain point of time.
How would you achieve this?
A. Lock statistics for the tables.
B. Change STALE_PERCENT to zero for the tables.
C. Set the TIMED_STATISTICS parameter to TRUE.
D. Set the STATISTICS_LEVEL parameter to BASIC.
E. Set the OPTIMIZER_USE_PENDING parameter statistics to TRUE.
答案:A
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28536251/viewspace-1988382/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28536251/viewspace-1988382/