全部博文(346)
分类: 数据库开发技术
2010-03-02 18:26:33
有这样几个原因,使得这一努力尤显意义重大。其一,Working Group 的这一努力是首先认识到除了硬件设备和操作系统之外,SNMP 在管理软件应用程序中也具有巨大潜力。但更为重要的是,厂家在这一努力过程中显示出非凡的远见和对客户的关心,他们有意识地制定了一个标准的 MIB 而不是多个单独的、私有的(并很可能是相互冲突的)MIB。这样一来,无论对什么样的数据库进行管理,数据库管理员和其他系统管理者都可以通过使用新的标准 RDBMS MIB 而更快、更容易地从实际中受益。
这一白皮书将描述 SNMP 的基本概念以及 Oracle Corporation 是如何在其产品,包括 Oracle7 Server,中添加 SNMP 支持的。其中,还对 SNMP 是如何协助数据库管理员的这一问题进行了描述,并包含了 Oracle SNMP 管理演示程序的一些示例。
即使以前对 SNMP 所知甚少,但只要您熟悉其所涉及的范围并了解数据库管理员要负责处理的问题,您就能够理解这一白皮书内大部分内容。
作为一个协议,SNMP 仅简单地定义如何传输信息——通信是怎样发起、如何组织和处理。SNMP 并不定义和解释管理信息本身的具体内容;而只传输根据 SNMP 标准定义和格式化的信息。
MIB 是用一种非常精确的语法来编写的(称为用于结构化管理信息的 SMI)。每个对象都用一个名称和对象 ID (OID) 来进行标识,并具有数据类型和访问权限。例如,对象 sysContact 就是由 OID 1.3.6.1.2.1.1.4 来标识的,且包含关于特定系统管理员联系信息的读写字符串。MIB 包含的对象,少则几个,多则上千。
通常认为 mgmt 分枝下的所有对象都是标准的,并由 Internet Engineering Task Force (IETF) 来严密控制。例如,所有声称可以使用 SNMP 的关系型数据库服务器都支持 mgmt 分枝下的标准 RDBMS MIB。通常,标准 MIB 也称作公共 MIB。
已经有 1000 多家厂商,包括 Oracle,为了提高其产品的可管理性,已经将他们自己的 MIB 对象添加在私有分枝下。例如,可以在 private.enterprise.oracle 分枝下找到 Oracle 服务专用的 MIB。这些 MIB 有时指私有的、私人的或企业的 MIB。事实上,正如所展示的那样,Oracle 已经为多个 Oracle 产品定义了 MIB,其中私有的 Oracle7 Server MIB 是唯一的一个(参阅参考书目 1、2 和 3)。
上面的图表显示的示例,是 RDBMS 标准 MIB 中的一些对象以及 Oracle 企业数据库 MIB 中的一些对象。有关 MIB 对象的完整列表,请参阅参考书目 1 或 2。
管理节点(也称作管理站或控制台)运行一个称为管理平台(或框架)的软件包。所有进出管理站的 SNMP 流量都由管理平台来处理。例如,HP 的 OpenView 就是一个广泛支持各种管理应用程序的管理平台。其他的管理平台包括:
>
管理应用程序是运行在某个管理平台上的、可选的、可添加的软件包,专门管理某一特定的网络服务。如上所示,Oracle Monitoring Application 就是管理应用程序的一个例子。这是 Oracle 提供的一个演示程序,该应用程序与分布在 Oracle 数据库环境下的各种平台、发现程序和监视器一同运行。
管理平台将 SNMP 的历史数据存储在一个信息库(MIB 并不含有实际数据)。显然,通过 SNMP 收集到的历史数据在很多方面都很有用,包括产量计划、资源利用、存货、财会和各种报表。信息库可以是任意格式的,可以是关系型数据库、层次数据库,或是纯文本文件。许多管理平台都将 Oracle 数据库作为信息库的一个选项。使用何种信息库与 Oracle 对 SNMP 的支持无关。
显然,该节点支持通过 SNMP 监视的一个或多个服务。被管理节点可以是单用途的,比如打印机或路由器(因此只支持单个的 MIB)。但通常,被管理节点是运行大量的可管理的服务和应用程序(因此支持多 MIB——用于 O/S 和其他每一被管理的服务)的 CPU。
每一被管理的服务都有一个或多个相关的 MIB,这些 MIB 含有可用于该服务的管理对象。例如,可以使用两类互补的 MIB 监视 Oracle7 Server:标准 RDBMS MIB 和 Oracle 企业 RDBMS MIB。
每个物理节点必须具备 SNMP 代理。该代理协调进出管理平台的所有 SNMP 通信(SNMP 查询和响应),以节点的名义执行下列 SNMP 功能:
通常操作系统会提供 SNMP 代理。但是,并不是所有操作系统所配的代理都是可扩展的,因此 Oracle 提供了一个由 PEER Networks, Inc. 颁发了许可证的、可扩展的主代理。
SNMP Poll 是最常见的 SNMP 事务,由管理者节点发起。由管理应用程序请求有关某个特定被管理服务的管理信息。应用程序利用管理平台提供的 SNMP 支持将这一请求传输到被管理节点。运行在目标节点上的 SNMP 代理接收请求,获答复信息并将其送回到管理者。SNMP Set 类似于轮询,但它并不请求变量的当前值,而是给变量设置一个新值。
与 Poll 和设置操作不同,SNMP Trap 由被管理节点开始,在此之前,管理者并没发出任何请求。通常这种通信是用来通知发生了某一异常事件。管理者端用于侦听陷阱信息的守护程序会接收这类消息,而该守护程序通常都是管理框架的一部分。然后,接收陷阱信息的守护程序会将陷阱消息转发到相关的管理应用程序。
SNMP 将数据库管理与大量的、广泛使用的管理工具集成。有了 SNMP,所有管理者(数据库管理员、系统管理员、网络管理员)可以在屏幕上查看网络节点状态、网络链接、路由器、服务器等信息的同时查看 Oracle 数据库的状态。数据库管理员和网络管理员还可以使用相同的工具,一同确定并解决交叠问题和难以诊断的问题。
基于 SNMP 的管理工具数量多,功能强且灵活。当前多数基于 SNMP 的管理工具都利用了直观的图形界面。管理者可以结合使用标尺、刻度盘、图表和图像等图形元素,来显示窗口和控制面板。还可以实时地绘制、缩放和重新绘制数据的各种映射和视图,并且只需轻触按纽就可调用其他应用程序。正因为 SNMP 既简单又开放,这种应用程序的数量还在不断增长。
SNMP 可对分散的服务进行集中管理。可以使用一个中心管理工作站监视任意数字或查看远程数据库。这样做有很多好处,比如可以更有效地利用数据库管理员资源(用一个中心数据库管理员代替多个远程数据库管理员),而且使分布式数据库和网络服务的管理更易保持协调一致。
SNMP 是一个开放式的、事实上的管理标准。 SNMP 已经得到广泛应用,而且 SNMP 的发展速度还在不断加快。正如该协议的名称,SNMP 既简单又易于实现。许多基于 SNMP 的第三方的管理产品都可以使用的并可以交互操作。因为 SNMP 已得到验证并已接受为标准,所以您对软件和培训的投资对产品是有用的。
SNMP 使您能更积极地解决问题。 许多数据库管理员总是不能对某些问题作出及时的反应,而不是对问题有所估计并在问题发生之间就作好应对准备。SNMP 的一大好处就是可以持续地对 Oracle 服务进行监视,这样,如果发生了什么意外情况,您会马上得到通知并采取纠正操作。甚至还可以为这些事件定义一些程序来进行自动响应。
下图表描述了 Oracle SNMP 应用程序在与 HP OpenView 一同使用时可提供的一些特性。
在左上角是分布式 Oracle 网络的自定义映射,显示在三个节点上运行着的五个数据库服务器。您可以看到数据库 NMS 的颜色(红色)与别的不同,表明可能存在某些问题。下拉式菜单显示了可以查看信息的不同分类(Init Parameters、Instance、Storage、Users 和 Schema)。
在右上角是 Oracle Server Manager 运行的两个独立的实例——一个显示数据库 V713 表空间信息,另一个则显示数据库 TPC_B 的用户信息。这些信息展示了是如何根据 SNMP 捕获的信息启动如 Oracle Server Manager 这样的应用程序。在这个例子中,V713 表空间 FILLDISK 的空间分配表几乎已经被填满。当该表空间的分配率达到预先指定的阈值(大概为 95%),Oracle Server Manager 就会依据当时的情况启动,自动显示一个窗口以便给表空间增加空间。数据库管理员可以选择继续或退出窗口。
这些显示信息有各自不同的来源,并可以通过缩放或重新显示来显示更多数据。在映射中将显示 Oracle 不同产品的标准 Oracle 图标。
Oracle 正在提供 Oracle 主要产品的 MIB。目前已经可以使用的 MIB 有:
Oracle 还为常用的管理平台提供了一个基本的 SNMP 演示程序,并为 Oracle7 服务器的所有用户提供了一个 SNMP 解决方案的 CDROM。
Oracle 通过 Oracle 的 Business Alliance Programme (BAP) 和系统管理工具 Systems Management Tool Initiative (SMTI) 与第三方紧密合作以指定、开发、测试、分配和销售 Oracle 新的管理产品和特性。SNMP Software Development Kit (SDK) 特别适用于这些伙伴(参考书目 4 )。
SNMPv2 其他的显著特性有:一个新的可以改善性能的 GET BULK 操作符,和用于支持层次管理站并减少网络流量的管理者到管理者 MIB。
除了这些新特征,厂家已经在缓步向 SNMPv2 移植。我们有理由期待扩展 SNMP 在管理和监视上的应用规模的努力会促进对 SNMPv2 的需求。
1. Oracle SNMP Support Reference Guide;Part No. A32324。
2. Oracle7 Database Server SNMP MIB Quick Reference Card,Part No. A33144。
3. Oracle SQL*Net Services SNMP MIB Reference Card;Part No. A33145。
4. Oracle SNMP Software Development Kit;Part No. A22084。 (包含以上部分)。
商务出版物
5. The Simple Book - An Introduction to Internet Management;第 2 版;Marshall T. Rose;Prentice Hall;1994。
6. SNMP, SNMPv2, and CMIP - The Practical Guide to Network-Management Standards;William Stallings;AddisonWesley;1993。
7. Managing Internetworks with SNMP;Mark A. Miller;M & T Books;1993。
RFC
8. RFC 1697:D. Brower,R. Purvy,A. Daniels,M. Sinykin,J. Smith 著 "Relational Database Management System (RDBMS) Management Information Base (MIB) using SMIv2," 1994 年 8 月
9. RFC 1157:J. D. Case,M. Fedo,M. L. Schoffstall 和 C. Davin 著 "Simple Network Management Protocol (SNMP)," 1990 年 5 月
10.RFC 1156:K. McCloghrie 和 M. T. Rose 著 "Management Information Base for Network Management of TCP/IP-based Internets," 1990 年 5 月
11. RFC 1227:M. T. Rose 著 "SNMP MUX Protocol and MIB," 1991 年 5 月。