| 免费下载:IBM® DB2® Express-C 10.1 免费版 或者 DB2® 10.1 for Linux®, UNIX®, and Windows® 试用版 |
|---|
| 下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。 |
数据库管理员执行的常见维护任务,包括备份、表和索引中的数据重组,以及统计数据收集。DB2 数据库管理器为执行备份、保持最新的统计,以及必要的表和索引重组提供自动维护功能。在数据库上定期执行这些任务非常重要,可以确保针对它们的性能和可恢复性进行优化。
要确定是否以及何时执行维护活动,这可能既费时又困难。DB2 的自治功能减轻您的负担。使用 IBM Data Studio Configure Automatic Maintenance 向导,您可以轻松灵活地管理自动维护功能,无需担心 DB2 的命令语法。在向导中,您可以指定维护对象,DB2 数据库管理器使用这些目标来确定是否需要执行维护活动,然后在下一个可用的维护窗口(您定义的一个时间段)中只运行所需的活动。
本文介绍如何在 IBM Data Studio 中配置所有这些任务。阅读完本文后,您将能够:
- 了解如何使用 IBM Data Studio Configure Automatic Maintenance Wizard
- 配置维护窗口
- 配置自动备份
- 配置自动重组
- 配置自动统计数据收集
- 启动 IBM Data Studio。
- 打开 Configure Automatic Maintenance Wizard。
- 在 Administration Explorer 中,展开左侧的导航树,并选中您希望为其配置自动维护的数据库。如果它尚未连接,单击右键并选择 Connect 来连接到它。
- 在数据库连接后,右键单击它并在弹出菜单中选择 Set Up and Configure > Configure
Automatic Maintenance 菜单项,如 图 1 所示。
图 1. 启动 Configure Automatic Maintenance Wizard
- 向导中的第一个选项卡 Options,列出了数据库配置参数,以及相应的复选框。配置参数在层次结构中按缩进显示,如 图 2 所示。这些数据库配置参数允许 DBA 可以有选择性地或以组的形式启用或禁用自动表维护特性。例如,如果
AUTO_MAINT被设置为 OFF,不论其实际值如何,所有其他自动维护参数的有效值都被视为 OFF。类似地,如果AUTO_TBL_MAINT被设置为 OFF,AUTO_REORG、AUTOSTATS_PROF、AUTO_PROF_UPD、AUTO_RUNSTATS和AUTO_STMT_STATS参数的有效值都被视为OFF。如果AUTO_TBL_MAINT被设置为 ON,AUTO_REORG、AUTOSTATS_PROF、AUTO_PROF_UPD、AUTO_RUNSTATS和AUTO_STMT_STATS参数的有效值都是自己的实际值。选中某个参数的复选框,将其值设置为ON,或者取消选中以将其值设置为OFF。
图 2. Configure Automatic Maintenance Wizard 中的 Options 选项卡
- 根据您的需求修改自动维护选项值后,单击 Preview Command 或展开 Command 节以查看生成的命令。
图 3. 预览命令
- 单击 Run 在 DB2 服务器上执行生成的命令。修改被应用到数据库。
您已成功启用配置参数。
维护窗口是您定义的允许 DB2 数据库管理器执行自动维护活动的时间段。一个数据库可以指定两个窗口:
- 在线维护窗口:在此维护操作时间段中,允许用户访问维护对象。
- 离线维护窗口:在此维护操作时间段中,用户将无法访问正在进行维护的对象。
自动维护活动会消耗系统上的资源,在它们运行时,可能会影响数据库的性能。有些活动还会限制对表、索引和数据库的访问。因此,在数据库管理器可以运行维护活动时,您必须提供适当的窗口。
离线维护活动(离线数据库备份以及表与索引重组)只有在离线维护窗口中才可以执行。对数据库对象的访问级别取决于正在运行的维护活动。
在离线备份过程中会强制关闭所有连接的应用程序,并且在执行离线备份时不允许应用程序进行连接。然而,如果正在执行离线的表或索引重组(数据碎片),允许应用程序访问,但不允许更新表中的数据。
即使离线维护活动已超出指定的窗口,它们仍将继续运行。内部调度机制不断学习如何最好地估计作业完成时间。如果某个特定数据库备份或重组活动的离线维护窗口太小,并依赖于健康监视器来提供需要增加离线维护窗口的通知,调度程序下次将无法启动作业。
在线索引重组仅可以在在线维护窗口中执行。当在线维护活动运行时,所有连接的应用程序保持连接,并且可以建立新的连接。通过自适应实用工具调节机制来限制在线数据库备份、自动统计数据收集和概要分析,以最大限度地减少对系统的影响。
即使在线维护活动超出指定的窗口,它们也将继续运行。
如果同时定义了在线和离线窗口,建议两者不要重叠。一般来说,离线窗口比在线窗口小得多。如果两个窗口重叠,在线任务可能会在离线窗口(重叠的部分)中执行,这会占用离线任务(已经在较小的窗口中运行)的时间。
设置初始的在线或离线维护窗口,或修改现有的在线或离线维护窗口:
- 单击 Online Maintenance Window 或 Offline
Maintenance Window 选项卡,为自动维护操作指定时间段。
图 4. Online Maintenance window 选项卡
图 5. Offline maintenance window 选项卡
- 选中 Create or update the maintenance window 复选框。
- 在 Specify when the automatic maintenance can run 下拉菜单中选择 During the specified time 或 Not during the specified time。
- 指定开始时间和持续时间的小时数。
- 选中 Days of the week 复选框,以指定窗口的频率。
- 根据您的要求定义维护窗口后,单击 Preview Command 或展开 Command 节,以查看生成的命令。请参见 图 3。
- 单击 Run 执行命令。将修改应用到数据库中。
您已成功启用并配置了维护窗口。
由于硬件或软件的各类故障,数据库可能会变得无法使用。自动数据库备份使得数据库备份管理任务对于 DBA 来说更容易,并确保数据库正常定期备份,并按需要执行了最近一次数据库完整备份。
建议您为系统规划和实施一个灾难恢复战略,以保护您的数据。您可以将数据库自动备份特性纳入您的备份和恢复战略。
配置自动备份:
- 使用
AUTO_DB_BACKUP和AUTO_MAINT数据库配置参数可以启用或禁用自动备份维护。如需启用自动备份特性,在 Options 选项卡下,选中与AUTO_DB_BACKUP和AUTO_MAINT参数对应的复选框。请参见 图 2。 - 为在线备份定义一个在线维护窗口,并为离线数据库备份定义一个离线维护窗口。在 “配置维护窗口” 小节中详细解释了该操作。
- 定义一个备份策略。自动备份策略用于控制自动备份的行为。如需设置初始自动备份维护策略或修改一个现有的自动备份维护策略,单击 Backup Policy 并选中 Create or update the backup policy 复选框。请参见 图 6。
图 6. 备份策略选项
可以在备份策略中配置以下选项:
- Backup criteria 指定自动备份何时应考虑计划备份的条件。在下列任一条件为真时,会执行自动备份:
- 您从来没有完成一个完整的数据库备份。
- 自最后一次完全备份起所经过的时间超过指定的小时数(例如,如果自最后一次备份起,经过的时间已超过一个星期,会执行备份)。
- 自最后一次备份起,消耗的事务日志的空间(只适用于归档日志模式)超过指定的值(例如,如果使用的日志空间超过 25 MB,执行备份)。
Backup criteria 为您提供以下选项,以指定由自动备份执行的备份频率:
- Optimize for database recoverability:使用该选项,备份执行得更频繁,如每天一次。
- Balance database recoverability with performance:使用该选项,每周执行一次备份。
- Optimize for database performance:使用该选项,执行备份的频率稍低,如每个月一次。
- Customize the criteria:使用该选项,可以更灵活地设置频率以及自最后一次备份的事务日志空间消耗。
- Backup location 指定放置备份的位置。您也可以改变备份映像的位置。自动数据库备份支持磁盘、磁带、Tivoli® Storage Manager (TSM) 和供应商 DLL 介质类型。如果选择磁盘作为备份介质类型,自动备份特性将定期从 Configure Automatic Maintenance Wizard 中所指定的目录中删除旧的备份映像。在任意给定时间都只保证提供最新的备份映像。建议该目录专门用于自动备份特性,并且不会用来存储其他备份映像。
- Backup mode 指定自动备份应以在线还是离线模式执行备份。如果数据库启用了前滚恢复(归档日志),自动备份数据库可以启用在线或离线备份。否则,只能使用离线备份。
- Backup criteria 指定自动备份何时应考虑计划备份的条件。在下列任一条件为真时,会执行自动备份:
- 根据您的要求定义备份策略后,单击 Preview Command 或展开 Command 节来查看生成的命令。请参见 图 3。
- 单击 Run 执行命令。将修改应用到数据库中。
您已成功启用并配置了自动备份。
数据库管理员执行一个称为 reorg 的频繁任务,以重组表和索引中的数据。当在一个表中发生许多变更时,数据可能无法有效地存储在磁盘上的连续页面。因此,数据库管理器必须执行更多读操作来访问数据。
表重组用于对表进行碎片整理,回收可用空间,并消除溢出行,以提高数据访问的性能。Reorg 也用于按特定索引的顺序重新排列数据,以优化使用该索引的查询。
利用表或索引的重组维护,可以提高数据库管理器访问表的效率。当您使用自动重组时,您不必担心何时以及如何重组数据,因为它管理一个离线表和索引重组。如果您不确定何时以及如何重组表和索引,您可以将自动重组纳入您的整体数据库维护规划。
配置自动重组:
- 使用
AUTO_REORG、AUTO_TBL_MAINT和AUTO_MAINT数据库配置参数,可以启用或禁用自动重组特性。选中与 Options 选项卡下面的AUTO_MAINT、AUTO_TBL_MAINT和AUTO_REORG参数相对应的复选框,启用自动重组。请参见 图 2。 - 定义一个离线维护窗口,以指定自动重组将执行的离线表与索引重组的时间段。在 “配置维护窗口” 小节中详细解释了该操作。当您定义一个离线维护窗口时,请注意:
- 为了成功运行自动重组,必须指定一个离线窗口。如果启用了自动重组但没有离线窗口,重组操作每次运行都将失败。在默认情况下,所有 DB2 数据库定义了一个在线窗口:
24x7(所有天数的所有时间)。但没有默认的离线窗口(因为没有所有用户均可接受的默认值)。 - 当一个表正在离线窗口中执行重组时,将无法访问该表,这意味着不允许读或写访问。因此,离线窗口的定义应该与表的使用时段没有重叠。
- 离线窗口应给予足够的重组执行时间。如果窗口太小(例如,一个月一次,每次一小时),它会限制自动重组的优点,因为它无法提供足够的时间来执行重组。
- 为了成功运行自动重组,必须指定一个离线窗口。如果启用了自动重组但没有离线窗口,重组操作每次运行都将失败。在默认情况下,所有 DB2 数据库定义了一个在线窗口:
- 定义一个重组的策略。重组策略用于控制自动表重组的行为。如需设置初始的自动重组维护策略或改变现有的自动重组维护策略,单击 Reorg Policy 选项卡,选择 Create or update the reorganization policy 复选框。请参见 图 7。
图 7. 重组策略
在重组策略中可以配置以下选项:
- Table scope 确定对哪些表进行自动重组。定义表范围的方式:
- All tables:该选项默认对除了系统表外的所有表进行自动重组。选中 Include system table 复选框将系统表也包括在自动重组集合中。
- Selected tables:该选项允许您筛选并选择您想对其进行自动重组的特定表。您可以选择以下其中一个筛选器选项:
- Use simple criteria filter:您可以选择简单条件,根据名称、架构、表类型、表空间和注释等属性筛选表。完成一个
WHERE子句,将它应用到SELECT tables from SYSCAT.TABLES,即可完成该规范。例如,TABNAME LIKE '%EMP%'。 - Use customize filter:您可以指定一个能够提供更多灵活性和控制过滤器表的自定义筛选器,其方法是在一个 select 语句上定义您自己的
WHERE子句并将其应用到SELECT tables FROM SYSCAT.TABLES。
- Use simple criteria filter:您可以选择简单条件,根据名称、架构、表类型、表空间和注释等属性筛选表。完成一个
- 大小条件是一个可选元素,用于根据每个分区的表大小来排除表,它仅适用于离线重组操作。超出该大小限制的表将不会被考虑使用离线表或索引重组。如果启用了自动重组的在线索引重组,表仍然被视为使用在线索引重组。大表的重组将会非常耗时、昂贵,并且要求较大的离线维护窗口,该条件有助于排除这样的大表。自动重组使用公式
(SYSSTAT.TABLES.CARD * SYSSTAT.TABLES.AVGROWSIZE ) / (包含该表的表空间的分区组中的分区数量)来估算每个分区的表大小。 - Reorganization 选项允许您通过指定以下选项来修改重组操作的行为:
- Use a system temporary table space with a compatible page size。在默认情况下,当一个表被重组时,数据库管理器在包含该表的表空间中存储表的一个工作副本。如果表空间没有足够的空间来存储表的副本,并且表空间没有被定义为可调整大小,或者如果底层文件系统空间用完,重组操作会失败。如果 Use a system temporary table space with a compatible page size 选项被启用,自动重组在重组操作过程中会自动选择一个兼容页面大小的临时表空间来保存表的工作副本。
- Index reorganization mode 用于指定是否要在在线维护窗口或在离线维护窗口中重组索引。在 online index reorganization mode 中,当索引正在被重组时,用户将仍然能够读取和写入索引,因为自动重组所执行的重组命令将包括
ALLOW WRITE ACCESS选项,因此建议对索引使用 online index reorganization mode。在线重组将花费更多时间,但可以通过指定较大的联机维护窗口管理它。对于不支持在线索引重组的表(例如,MDC表),即使指定了 online index reorganization mode,自动重组仍将在离线维护窗口中执行索引重组。 - Compression data dictionary 允许您选择为表重建压缩字典或保留现有的压缩字典。重建字典可以实现更好的压缩,但将增加表重组所需的时间。在默认情况下,自动重组会保留任何现有的压缩字典。如果您没有启用行压缩,您可以忽略该选项。有关行压缩特性的更多信息,请参阅 DB2 文档。
- Table scope 确定对哪些表进行自动重组。定义表范围的方式:
- 根据您的要求定义重组策略后,单击 Preview Command 或展开 Command 节来查看生成的命令。请参见 图 3。
- 单击 Run 执行命令。将修改应用到数据库中。
您已成功启用并配置了自动重组。
DB2 优化程序使用目录统计数据,以针对任何给定查询确定最有效的访问计划。如果表或索引的统计数据是过时的或不完整的,优化程序选择的计划可能并不是最佳的,造成较差的查询执行性能。要针对某个给定的工作负载决定收集哪些统计数据,这有时是相当复杂的。并且,要使这些统计数据保持最新状态是相当费时的。
若配置了自动统计数据收集,DB2 将确定数据库的统计数据是否需要更新。DB2 将自动在后台运行 RUNSTATS 实用工具,以确保提供最新的数据库统计数据。
如果您无法确定针对数据库中表的统计数据收集频率,可以将自动统计数据收集特性包括在您的整体数据库维护计划中。
配置自动统计数据收集:
- 为了启用自动统计数据收集,请将
AUTO_MAINT和AUTO_TBL_MAINT数据库配置参数设置为 ON。在 Options 选项卡下面,选中与AUTO_MAINT、AUTO_TBL_MAINT参数对应的复选框。请参见 图 2。您可以配置以下选项:- Background statistics collection:为了启用 Background statistics collection,将
AUTO_RUNSTATS数据库配置参数设置为 ON。在 Options 选项卡下面,选中与AUTO_RUNSTATS参数对应的复选框。 - Real-time statistics collection:为了启用 Real-time statistics collection,将
AUTO_STMT_STATS和AUTO_RUNSTATS数据库配置参数设置为 ON。在 Options 选项卡下面,选中与AUTO_STMT_STATS和AUTO_RUNSTATS参数对应的复选框。 - Automatic statistics profile generation:为了启用 automatic statistics profile generation,将
AUTO_STATS_PROF和AUTO_PROF_UPD数据库配置参数设置为 ON。当AUTO_RUNSTATS数据库配置参数也设置为 ON 时,使用生成的配置文件自动收集统计数据。在 Options 选项卡下面,选中与
AUTO_STATS_PROF和AUTO_PROF_UPD参数对应的复选框。注:如果启用了
SECTION_ACTUALS数据库配置参数,就不能启用AUTO_STATS_PROF。
请参阅 DB2 文档,获取有关自动统计数据收集的详细信息(参阅 参考资料)。
- Background statistics collection:为了启用 Background statistics collection,将
- 定义一个在线维护窗口,指定开始自动统计数据收集的时间。自动统计数据收集只会在在线维护窗口中执行,所以没有必要为自动统计数据收集定义一个离线维护窗口。在默认情况下,所有 DB2 数据库都定义了一个在线窗口:
24x7。这是普遍接受的自动统计数据收集。当 RUNSTATS 发生时,用户可访问表,并且自适应实用工具调节机制始终可以限制统计数据收集,以控制对系统整体性能的影响。要修改在线窗口,选中 Online maintenance window 选项卡下面的 Create or update the maintenance window 复选框。指定一个可以满足您的需求的维护窗口。在 “配置维护窗口” 小节中详细解释了该操作。 - 定义一个用于控制自动统计数据收集行为的 runstats 策略。如需设置初始自动 runstats 维护策略或改变现有的自动 runstats 维护策略,单击 Runstats Policy 选项卡,选中 Create or update the runstats policy 复选框。请参见 图 8。
图 8. Runstats 策略选项
在 runstats 策略选项中,指定表范围,确定对哪些表进行自动统计数据收集:
- All tables 是默认选项,对所有表都进行自动统计数据收集。取消选中
Include system tables复选框可以排除系统表,从而避免对它们进行自动统计数据收集。 - Selected tables 让您可以筛选并选择您想对其进行自动统计数据收集的表。您可以选择以下其中一个筛选器选项:
- Use simple criteria filter:根据名称、架构、表类型、表空间和注释等不同的属性筛选表。完成一个
WHERE子句,将它应用到SELECT tables from SYSCAT.TABLES即可完成该规范(例如,TABNAME LIKE '%EMP%')。 - Use customize filter:通过在一个 select 语句上定义您自己的
WHERE子句并应用到SELECT tables FROM SYSCAT.TABLES,可以在筛选表时获得更大的灵活性和控制。
- Use simple criteria filter:根据名称、架构、表类型、表空间和注释等不同的属性筛选表。完成一个
- All tables 是默认选项,对所有表都进行自动统计数据收集。取消选中
- 根据您的要求定义 runstats 策略后,单击 Preview Command 或展开 Command 节来查看生成的命令。请参见 图 3。
- 单击 Run 在 DB2 服务器上执行命令。修改被应用到数据库。
您已成功启用并配置了自动统计数据收集。
本文演示了如何使用 IBM Data Studio 启用或修改自动维护配置参数与自动数据库备份、自动重组,以及自动统计数据收集特性,而无需担心命令的语法。本文还概述了 DB2 自动维护特性,以帮助您了解何时以及如何启用这些特性。
学习
-
访问 IBM Data Studio 信息中心,查找使用 IBM Data Studio 所需的所有信息。
-
查看 IBM DB2 Database for Linux, UNIX, and Windows 信息中心。
- 文章 "Automatic table maintenance in DB2" 解释了 auto-runstats 的工作原理。
- "使用 XML-RPC 为 C++ 应用程序启用 Web 服务" 解释了如何使用命令行界面配置自动维护策略。
- 在 developerWorks 中国网站 Information Management 专区 了解有关 Information Management 的更多信息。查找技术文档、操作文件、培训、产品信息等等。
- 随时关注 developerWorks 技术活动 和 网络广播。
- 在 Twitter 上关注 developerWorks。
获得产品和技术
- 使用可从 developerWorks 直接下载的 IBM 产品评估试用版软件 构建您的下一个开发项目。
- 现在您可以免费使用 DB2。下载 IBM 软件下载:IBM DB2 Express-C 10.1,这是为社区提供的 DB2 Express Edition 的免费版本,它提供与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。
讨论
- 参与论坛讨论。
- 查看 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
