课程:Outlook:监控数据库
课程概述
除了进行备份之外,可能还需要执行大量定期检查,具体取决于您使用的数据库。
课程目标
完成本课程后,您将能够:
安排额外的数据库定期检查
业务示例
为确保良好的数据库性能,从而确保良好的 SAP 系统性能,管理员对数据库执行额外的检查,这些检查可以定期安排。
定期监控数据库
除了对数据库备份的日常监控外,还必须根据数据库定期执行许多其他检查。其中一些可以使用 DBA Cockpit Planning Calendar 进行安排。
图 55:数据库监控
例如,这些检查可以是:
• 生成统计数据以确保访问数据记录时的良好性能
• 监控数据库增长(例如,可用空间)
• 检查一般数据库问题或错误
• 监控计划的定期操作(例如备份)
定期生成统计数据是有效访问数据记录的重要前提。运行 SQL 语句时,数据库必须选择对所请求数据的可能访问路径之一。在 SQL 语句中,WHERE 条件指定了实际的结果数。数据库现在必须尽可能快地找到相关的数据记录,换句话说,只有很少的读取访问。数据库既可以读取表的全部内容(全表扫描),也可以通过索引访问表(索引扫描)。使用这些统计数据,数据库的 Cost Based Optimizer 计算所有可能的访问路径各自的读取访问次数,并选择最佳(最经济)的访问路径。
图 56:确定最佳访问路径
统计信息包含有关表中条目数、表和索引占用的块数以及各个表字段值的选择性的信息。
生成统计信息的建议持续时间可能因您使用的数据库或版本而异。原则上,只有在表的大小明显增加或减少时才需要生成新的统计信息。这就是在 SAP 环境中通过两个步骤生成统计信息的原因。第一步,执行检查以确定是否需要为表生成统计信息。为此,将当前数据记录数与上次生成统计信息时存在的数据记录数进行比较。在第二步中,为所有大小发生显着变化的表生成统计信息。根据您使用的数据库,这两个步骤都安排在一个作业或两个单独的作业中。
统计数据的生成对于有效访问数据极为重要,因此管理员应定期检查。
管理员的另一项重要任务是检查数据库增长(特别是空闲内存)以确保数据库性能保持较高水平。这可以通过数据库工具或 SAP 系统来完成。 SAP 系统中有各种可用的数据库事务,以及 CCMS 监控。下图显示了数据库监视器的一部分,可用于监视数据库的填充程度。如图所示,您不仅可以监控数据库增长,还可以监控性能和计划的 DBA 活动,例如备份和统计信息生成。
图 57:数据库:CCMS 监控 (RZ20)
您还应该定期检查计划定期操作的状态(例如,备份和统计信息生成)。如果出现问题或警告,请在计划日历或 DBA Cockpit 日志概览中分析相应的日志。
图 58:DBA Cockpit:日志
本课仅提供管理员必须定期执行的各种检查的初步概述。有关这些检查的更多信息,请联系您的数据库供应商、查阅技术文档、联系 SAP 顾问或参加我们针对您正在使用的数据库的管理课程之一。
解决方案 10:Outlook:监控数据库
任务:更新统计数据
在事务 DBACOCKPIT 中安排当前统计数据的生成。
1. 使用 MaxDB,您可以选择为所有表生成一般统计信息(无需事先检查)。这些操作通常安排在新安装之后或重大更改(例如升级)之后。
计划为 DBA Cockpit 中的所有表生成统计信息。选择 18:00 作为开始时间。
a) 在左侧菜单中选择 Jobs → DBA Planning Calendar,调用 DBA Cockpit Planning Calendar(事务 DBACOCKPIT)。通过双击 Action Pad 中的条目,选择更新所有优化器统计信息。
选择 18:00 作为开始时间,然后选择添加按钮。条目 UpdAllStats 出现在计划日历中。
2. 通常,更新安排在两步过程中。第一步,检查哪些表自上一代统计数据以来发生了如此巨大的变化,以至于它们需要新的统计数据。在第二步中,为这些表生成统计信息。
使用 DBA Cockpit 中的两步过程安排统计信息的生成。为确保在生成统计信息后已经过了一段时间,请将此操作安排在第二天早上。
a) 检查哪些表需要新的统计信息。
在左侧菜单中选择 Jobs → DBA Planning Calendar 调用 DBA Cockpit Planning Calendar(事务 DBACOCKPIT)。通过双击操作面板中的条目来选择操作标记需要更新统计信息的表。
将动作参数保留为其默认值,选择第二天早上 06:00 作为开始时间,并通过选择添加按钮确认动作。条目 PrepUpdStat 出现在计划日历中。
b) 为选定的表生成统计信息。
调用 DBA Cockpit 计划日历(在左侧菜单 Jobs → DBA 计划日历中)。通过双击操作板中的条目,选择操作更新已标记表的统计信息。
选择第二天早上 07:00 作为开始时间,然后选择添加按钮。此条目现在在计划日历中显示为 UpdStats。
3. 第二天早上,检查计划日历以查看操作是否已成功执行。
例如:检查哪些表在更新所有优化器统计信息和标记表以更新它们需要新统计信息的操作之间发生了如此大的变化。使用后一个操作的程序日志来执行此操作。
a) 在 DBA Cockpit 中,通过在左侧菜单中选择 Jobs → DBA Planning Calendar 来调用 Planning Calendar(事务 DBACOCKPIT)。
b) 通过双击日历中的操作条目打开操作的详细信息。 Mark tables for statistics update 操作的条目在周历中称为 PrepUpdStat。
c) 在 Display details for action 窗口中,选择 Program Log 标签页。您可以通过文本集 TOBDO 在日志中识别已标记为更新的表。
选择继续关闭窗口。
原文下载: