级别: 初级
【程序编程相关:构建分布式数据库应用程序】dwaine r snow 【推荐阅读:实现用于 DB2 UDB 的 .NET 】
【扩展信息:在 DB2 Universal Data】 db2 产品经理, ibm toronto lab 2004 年 4 月 就像汽车一样,数据库也需要进行一些检查,才能以最佳状态运行.本文被划分为一些检查或任务,这些检查或任务按不同时间间隔执行,以达到上述目的.简介
虽然数据库越来越具有自我感知(self-aware)与自我修复(self-healing)的能力,但是仍然需要进行一些监控,才能使数据库尽可能高效地运行.就像汽车一样,数据库也需要进行一些检查,才能够以最佳状态运行.本文被划分为一些检查或任务,这些检查或任务应该按不同时间间隔执行.第一组检查或任务应该每天都执行,以确保当前或者将来一段时间内没有问题.第二组检查或任务则需要每周运行一次,以检查本周内曾出现的问题,或者下周很可能会出现的问题.最后一组检查或任务不必每天或每周都运行,但是应该每个月都运行一次,以保持系统正常运行,如果的确出现了问题,则防止问题扩大.
监控系统
有很多原因致使您应该监控数据库,不过,最主要的原因是为了确保系统当前或者在将来一段时间内不存在问题.在问题还未发生之前就检测到问题,并采取行动,总比等到问题已经发生而被动地作出反应要好.如果按照本文描述的那样监视 db2 数据库系统,就可以在很多问题发生之前检测到它们,并维护系统的性能.可用的监控工具
通常,您需要将对 db2 的监控与对操作系统的监控结合起来,以便得到对数据库服务器上所发生一切的完整描述.单凭 db2 工具一般不能提供完整的描述.在捕捉用于分析的信息时,应确保同时捕捉 db2 与操作系统的信息,因为我们不能把在不同时间捕捉到的信息相关联.
linux 与 unix 工具
在监控系统时,每过一段时间就拍一次快照.如果只是拍一两分钟内的快照,那么就无法提供系统活动的真正视图.我建议每隔一两分钟就拍一次,并坚持至少一个小时.例如,为了捕捉 cpu.内存以及其他操作系统使用情况,可以使用工具 vmstat.vmstat命令的参数如下:
参数 1: 时间间隔,以秒计,该工具按照这个时间间隔捕捉系统信息. 参数 2: 该工具应该捕捉系统信息的次数.
为了连续一个小时每一分钟捕捉一次 vmstat 信息,并将输出写到一个名为 vmstat.out 的文件中,可以使用如下命令:
vmstat 60 60 > vmstat.out
为了连续一个小时每两分钟捕捉一次 vmstat 信息,并将输出写到一个名为 vmstat.out 的文件中,可以使用如下命令:
vmstat 120 30 > vmstat.out
既要捕捉正常/平均工作负载,也要捕捉峰值工作负载.虽然确保高效地处理正常工作负载很重要,然而同样重要的是,还应确保系统能够在不使服务器超载的情况下处理峰值工作负载.
db2 工具
db2 有很多工具可用于监控数据库与实例的活动.这些工具包括: health monitor / health center snapshot monitors / sql snapshot 函数 event monitor还有其他一些工具与日志也可以提供关于数据库与实例的信息,包括:
administration notification log 在 linux 与 unix 中,这是一个独立的文件,而在 windows 中,这个文件被合并到 event log 中. db2diag.log memory visualizer1. health monitor
在 version 8 中,db2 引入了两个新特性,用于帮助监控 db2 系统的健康状况,这两个新特性分别是:health monitor 与 health center.这两个工具可以就系统潜在的健康问题向用户发出警告,从而为 db2 universal database 添加了 management by exception(基于异常的管理)功能.这样就可以在那些会影响系统性能的健康问题真正发生之前,将它们解决掉.
health monitor 运行在 db2 服务器上,并持续地监控 db2 实例与数据库的健康状况.如果 health monitor 检测到用户定义的某个阈值被超出(例如,可用日志空间占总空间的百分比下降到低于某个指定的百分数),或者检测到某个对象的状态反常(例如,db2 实例不再运行),则 health monitor 将发出警告.
当有警告发出时,就可能发生两件事情:
发送警告通知.... 下一页