Network Working Group                                  D. Brower, Editor
Request for Comments: 1697        The ASK Group, INGRES DBMS Development
Category: Standards Track         B. Purvy, RDBMSMIB Working Group Chair
                                                      Oracle Corporation
                                                               A. Daniel
                                                 Informix Software, Inc.
                                                              M. Sinykin
                                                                J. Smith
                                                      Oracle Corporation
                                                             August 1994


             Relational Database Management System (RDBMS)
             Management Information Base (MIB) using SMIv2

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Table of Contents

   1. Introduction ..............................................    1
   2. The SNMPv2 Network Management Framework ...................    2
   2.1 Object Definitions .......................................    2
   3. Overview ..................................................    2
   3.1 Terminology ..............................................    3
   3.2 Structure and Features ...................................    4
   3.2.1 Tables .................................................    4
   3.2.2 Writable objects .......................................    5
   3.2.3 Traps ..................................................    5
   4. Definitions ...............................................    6
   5. Acknowledgements ..........................................   35
   6. References ................................................   36
   7. Security Considerations ...................................   37
   8. Authors' Addresses ........................................   37

1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes managed objects used for managing
   relational database (RDBMS) implementations.





Brower, Purvy, Daniel, Sinykin & Smith                          [Page 1]


RFC 1697                       RDBMS-MIB                     August 1994


2.  The SNMPv2 Network Management Framework

   The SNMPv2 Network Management Framework consists of four major
   components.  They are:

      o RFC 1442 [1] which defines the SMI, the mechanisms used for
        describing and naming objects for the purpose of management.

      o STD 17, RFC 1213 [2] defines MIB-II, the core set of managed
        objects for the Internet suite of protocols.

      o RFC 1445 [3] which defines the administrative and other
        architectural aspects of the framework.

      o RFC 1448 [4] which defines the protocol used for network
        access to managed objects.

      o RFC 1443 [5] which describes textual conventions for the
        framework.

   The framework permits new objects to be defined for the purpose of
   experimentation and evaluation.  In particular, the RDBMS-MIB can be
   seen as an extension of

      o RFC 1565 [6] which defines the MIB for monitoring network
        service applications.

2.1.  Object Definitions

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the subset of Abstract Syntax Notation One (ASN.1)
   defined in the SMI.  In particular, each object type is named by an
   OBJECT IDENTIFIER, an administratively assigned name.  The object
   type together with an object instance serves to uniquely identify a
   specific instantiation of the object.  For human convenience, we
   often use a textual string, termed the descriptor, to refer to the
   object type.

3.  Overview

   The RDBMS-MIB contains objects that may be used to manage relational
   database implementations.  Specifically, it contains information on
   installed databases, servers, and on the relation of databases and
   servers.  The terms used in this database are described below.






Brower, Purvy, Daniel, Sinykin & Smith                          [Page 2]


RFC 1697                       RDBMS-MIB                     August 1994


3.1.  Terminology

   Vendors and Products
        are providers of database systems on a host.  These vendors
        may have more than one database product that is manageable
        through this MIB.  On a host, there may be systems from
        multiple vendors, multiple systems from a single vendor, or
        any other combination.  There may be a private MIB for each
        vendor, and this may be located using the PrivateMibOID
        objects in some of the tables.

   Databases
        are collections of interrelated data organized according to a
        schema to serve one or more applications. A database is, for
        purposes of this MIB, a collection of tables whose
        organization is based on the relational model. There may be
        one or more databases available in each system on the host
        from each product. In the MIB, data about databases is
        captured in the rdbmsDbTable and the rdbmsDbInfoTable, each
        with one row per database.

   Relational Database Management System (RDBMS)
        A collection of integrated services which support database
        management and together support and control the creation, use
        and maintenance of relational databases. Servers as defined
        in this MIB provide the functions of the RDBMS.

   Servers
        are entities that provide access to databases.  For this MIB,
        servers are defined to be entities that may exist
        independently of other servers.  A server may or may not be a
        single process, based on its independence from other
        processes.  In this MIB, information about servers is
        captured in the rdbmsSvrTable, the rdbmsSvrInfoTable, each
        with one row per server extending the applTable from the
        APPLICATION-MIB of RFC 1565.  The rdbmsSvrTable and
        rdbmsSvrInfoTable are both indexed by the applIndex of that
        MIB.

   Associations
        Inbound associations are local or remote conversations,
        usually instances of the SQL CONNECT statement, as made
        visible in servers.  The MIB does not currently reveal
        individual associations; there are association counters in
        the dbmsSvrInfoTable and the applTable.

   There are also relationships between servers and databases.  All
   obvious relationships are possible and supported:



Brower, Purvy, Daniel, Sinykin & Smith                          [Page 3]


RFC 1697                       RDBMS-MIB                     August 1994


   o    1 database : 1 server

   o    1 database : many servers

   o    many databases : 1 server

   o    many databases : many servers

3.2.  Structure and Features

   The information in this MIB module is organized into nine tables,
   twelve potentially writable objects, and two traps, as follows.

3.2.1.  Tables

   o    databases installed on a host/system (rdbmsDbTable)

   o    actively opened databases (rdbmsDbInfoTable)

   o    database configuration parameters (rdbmsDbParamTable)

   o    database limited resources (rdbmsDbLimitedResourceTable)

   o    database servers installed on a system (rdbmsSrvTable)

   o    active database servers (rdbmsSrvInfoTable)

   o    configuration parameters for a server (rdbmsSrvParamTable)

   o    server limited resources (rdbmsSrvLimitedResourceTable)

   o    relation of servers and databases on a host (rdbmsRelTable)

   These entities have broad applicability among database systems, and
   are enough for many monitoring tasks.  They are far from adequate for
   detailed management or performance monitoring of specific database
   products.  This gap is expected to be filled with vendor and product
   specific MIBs addressing the entities that have not been codified
   here.












Brower, Purvy, Daniel, Sinykin & Smith                          [Page 4]


RFC 1697                       RDBMS-MIB                     August 1994


3.2.2.  Writable objects

   The MIB requires no writable objects for conformance.  There is no
   expectation that RDBMS systems may be actively managed through this
   MIB.  However, the RDBMS-MIB supports the capability to modify the
   following objects if the implementor so chooses.

   o    rdbmsDbContact

   o    rdbmsDbInfoSizeAllocated

   o    rdbmsDbParamCurrValue

   o    rdbmsDbParamComment rdbmsDbLimitedResourceLimit

   o    rdbmsDbLimitedResourceDescription

   o    rdbmsSrvContact

   o    rdbmsSrvInfoMaxInboundAssociations

   o    rdbmsSrvParamCurrValue

   o    rdbmsSrvParamComment

   o    rdbmsSrvLimitedResourceLimit

   o    rdbmsSrvLimitedResourceDescription

3.2.3.  Traps

   The RDBMS-MIB contains two traps:

   o    rdbmsStateChange

   o    rdbmsOutOfSpace















Brower, Purvy, Daniel, Sinykin & Smith                          [Page 5]


RFC 1697                       RDBMS-MIB                     August 1994


4.  Definitions

  RDBMS-MIB DEFINITIONS ::= BEGIN

  IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Counter32, Gauge32, Integer32
          FROM SNMPv2-SMI
      DisplayString, DateAndTime, AutonomousType
          FROM SNMPv2-TC
      applIndex, applGroup
          FROM APPLICATION-MIB
      mib-2
          FROM RFC1213-MIB;

  rdbmsMIB MODULE-IDENTITY
      LAST-UPDATED "9406150655Z"
      ORGANIZATION "IETF RDBMSMIB Working Group"
      CONTACT-INFO
              "           David Brower

                  Postal: The ASK Group, INGRES DBMS Development
                          1080 Marina Village Parkway
                          Alameda, CA  94501
                          US

                     Tel: +1 510 748 3418
                     Fax: +1 510 748 2770

                  E-mail: daveb@ingres.com"
      DESCRIPTION
          "The MIB module to describe objects for generic relational
           databases."

      ::= { mib-2 39 }

  rdbmsObjects        OBJECT IDENTIFIER ::= { rdbmsMIB 1 }

  ----------------------------------------------------------------

  rdbmsDbTable    OBJECT-TYPE
      SYNTAX      SEQUENCE OF RdbmsDbEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of databases installed on a system."
      ::= { rdbmsObjects 1 }




Brower, Purvy, Daniel, Sinykin & Smith                          [Page 6]


RFC 1697                       RDBMS-MIB                     August 1994


  rdbmsDbEntry    OBJECT-TYPE
      SYNTAX      RdbmsDbEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry for a single database on the host.  Whether a
           particular database is represented by a row in rdbmsDbTable
           may be dependent on the activity level of that database,
           according to the product's implementation.  An instance of
           rdbmsRelState having the value active, other, or restricted
           implies that an entry, corresponding to that instance, will
           be present."
      INDEX  { rdbmsDbIndex }
      ::= { rdbmsDbTable 1 }

  RdbmsDbEntry    ::=
      SEQUENCE {
          rdbmsDbIndex            INTEGER,
          rdbmsDbPrivateMibOID        OBJECT IDENTIFIER,
          rdbmsDbVendorName       DisplayString,
          rdbmsDbName             DisplayString,
          rdbmsDbContact          DisplayString
      }

  rdbmsDbIndex        OBJECT-TYPE
      SYNTAX          INTEGER (1..2147483647)
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "A numeric index, unique among all the databases from all
           products on this host.  This value is a surrogate for the
           conceptually unique key, which is {PrivateMibOID,
           databasename}"
      ::= { rdbmsDbEntry  1 }

  rdbmsDbPrivateMibOID    OBJECT-TYPE
      SYNTAX          OBJECT IDENTIFIER
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
         "The authoritative identification for the private MIB for
          this database, presumably based on the vendor, e.g., {
          enterprises 111 <optional subidentifiers>} for Oracle
          databases, {enterprises 757 <optional subidentifiers>} for
          Ingres databases, { enterprises 897 <optional
          subidentifiers>} for Sybase databases, etc.

          If no OBJECT IDENTIFIER exists for the private MIB, attempts



Brower, Purvy, Daniel, Sinykin & Smith                          [Page 7]


RFC 1697                       RDBMS-MIB                     August 1994


          to access this object will return noSuchName (SNMPv1)
          or noSuchInstance (SNMPv2)."
      ::= { rdbmsDbEntry  2 }

  rdbmsDbVendorName   OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The name of the vendor whose RDBMS manages this database,
           for informational purposes."
      ::= { rdbmsDbEntry 3 }

  rdbmsDbName     OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The name of this database, in a product specific format.  The
           product may need to qualify the name in some way to resolve
           conflicts if it is possible for a database name to be
           duplicated on a host.  It might be necessary to construct a
           hierarchical name embedding the RDBMS instance/installation
           on the host, and/or the owner of the database.  For instance,
           '/test-installation/database-owner/database-name'."
      ::= { rdbmsDbEntry 4 }

  rdbmsDbContact  OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The textual identification of the contact person for this
           managed database, together with information on how to contact
           this person.

           Note: if there is no server associated with this database, an
           agent may need to keep this in other persistent storage,
           e.g., a configuration file.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsDbEntry 5 }







Brower, Purvy, Daniel, Sinykin & Smith                          [Page 8]


RFC 1697                       RDBMS-MIB                     August 1994


  ----------------------------------------------------------------

  rdbmsDbInfoTable    OBJECT-TYPE
      SYNTAX          SEQUENCE OF RdbmsDbInfoEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "The table of additional information about databases present
           on the host."
      ::= { rdbmsObjects 2 }

  rdbmsDbInfoEntry    OBJECT-TYPE
      SYNTAX          RdbmsDbInfoEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "Information that must be present if the database is actively
           opened.  If the database is not actively opened, then
           attempts to access corresponding instances in this table may
           result in either noSuchName (SNMPv1) or noSuchInstance
           (SNMPv2).  'Actively opened' means at least one of the
           rdbmsRelState entries for this database in the rdbmsRelTable
           is active(2)."
      INDEX  { rdbmsDbIndex }
      ::= { rdbmsDbInfoTable 1 }

  RdbmsDbInfoEntry ::=
      SEQUENCE {
          rdbmsDbInfoProductName      DisplayString,
          rdbmsDbInfoVersion          DisplayString,
          rdbmsDbInfoSizeUnits        INTEGER,
          rdbmsDbInfoSizeAllocated    INTEGER,
          rdbmsDbInfoSizeUsed         INTEGER,
          rdbmsDbInfoLastBackup       DateAndTime
      }

  rdbmsDbInfoProductName  OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The textual product name of the server that created or last
           restructured this database.  The format is product specific."
      ::= { rdbmsDbInfoEntry 1 }

  rdbmsDbInfoVersion  OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      read-only



Brower, Purvy, Daniel, Sinykin & Smith                          [Page 9]


RFC 1697                       RDBMS-MIB                     August 1994


      STATUS          current
      DESCRIPTION
          "The version number of the server that created or last
           restructured this database.  The format is product specific."
      ::= { rdbmsDbInfoEntry 2 }

  rdbmsDbInfoSizeUnits    OBJECT-TYPE
      SYNTAX              INTEGER {
                              bytes(1),
                              kbytes(2),
                              mbytes(3),
                              gbytes(4),
                              tbytes(5)
                              }
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "Identification of the units used to measure the size of this
           database in rdbmsDbInfoSizeAllocated and rdbmsDbInfoSizeUsed.
           bytes(1) indicates individual bytes, kbytes(2) indicates
           units of kilobytes, mbytes(3) indicates units of megabytes,
           gbytes(4) indicates units of gigabytes, and tbytes(5)
           indicates units of terabytes.  All are binary multiples -- 1K
           = 1024.  If writable, changes here are reflected in the get
           values of the associated objects."

      ::= { rdbmsDbInfoEntry 3 }

  rdbmsDbInfoSizeAllocated    OBJECT-TYPE
      SYNTAX                  INTEGER (1..2147483647)
      MAX-ACCESS              read-write
      STATUS                  current
      DESCRIPTION
          "The estimated size of this database (in
           rdbmsDbInfoSizeUnits), which is the disk space that has been
           allocated to it and is no longer available to users on this
           host.  rdbmsDbInfoSize does not necessarily indicate the
           amount of space actually in use for database data.  Some
           databases may support extending allocated size, and others
           may not.

           Note that a compliant agent does not need to
           allow write access to this object."

  --       Note:  computing SizeAllocated may be expensive, and SNMP
  --       agents might cache the value to increase performance.

      ::= { rdbmsDbInfoEntry 4 }



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 10]


RFC 1697                       RDBMS-MIB                     August 1994


  rdbmsDbInfoSizeUsed     OBJECT-TYPE
      SYNTAX              INTEGER (1..2147483647)
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The estimated size of this database, in rdbmsDbInfoSizeUnits,
           which is actually in use for database data."

  --       Note:  computing SizeUsed may be expensive, and SNMP
  --       agents might cache the value to increase performance.
      ::= { rdbmsDbInfoEntry 5 }

  rdbmsDbInfoLastBackup       OBJECT-TYPE
       SYNTAX                 DateAndTime
       MAX-ACCESS             read-only
       STATUS                 current
       DESCRIPTION
          "The date and time that the latest complete or partial backup
           of the database was taken. If a database has never been
           backed up, then attempts to access this object will
           result in either noSuchName (SNMPv1) or noSuchInstance
           (SNMPv2)."
       ::= { rdbmsDbInfoEntry 6 }

  ----------------------------------------------------------------

  rdbmsDbParamTable       OBJECT-TYPE
      SYNTAX              SEQUENCE OF RdbmsDbParamEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The table of configuration parameters for a database.
           Entries should be populated according to the following
           guidelines:
           (1) The value should be specified through administrative
               (human) intervention.
           (2) It should be configured on a per-database basis.
           (3) One of the following is true:
               (a) The parameter has a non-numeric value;
               (b) The current value is numeric, but it only changes due
                   to human intervention;
               (c) The current value is numeric and dynamic, but the
                   RDBMS does not track access/allocation failures
                   related to the parameter;
               (d) The current value is numeric and dynamic, the
                   RDBMS tracks changes in access/allocation failures
                   related to the parameter, but the failure has no
                   significant impact on RDBMS performance or



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 11]


RFC 1697                       RDBMS-MIB                     August 1994


                   availability.
               (e) The current value is numeric and dynamic, the
                   RDBMS tracks changes in access/allocation failures
                   related to the parameter, the failure has
                   significant impact on RDBMS performance or
                   availability, and is shown in the
                   rdbmsDbLimitedResource table."
      ::= { rdbmsObjects 3 }

  rdbmsDbParamEntry       OBJECT-TYPE
      SYNTAX              RdbmsDbParamEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "An entry for a single configuration parameter for a database.
           Parameters with single values have a subindex value of one.
           If the parameter is naturally considered to contain a
           variable number of members of a class, e.g.  members of the
           DBA user group, or files which are part of the database, then
           it must be presented as a set of rows.  If, on the other
           hand, the parameter represents a set of choices from a class,
           e.g. the permissions on a file or the options chosen out of
           the set of all options allowed, AND is guaranteed to always
           fit in the 255 character length of a DisplayString, then it
           may be presented as a comma separated list with a subindex
           value of one.  Zero may not be used as a subindex value.

           If the database is not actively opened, then attempts
           to access corresponding instances in this table may result in
           either noSuchName (SNMPv1) or noSuchInstance (SNMPv2).
           'Actively opened' means at least one of the
           rdbmsRelState entries for this database in the rdbmsRelTable
           is active(2)."
      INDEX  { rdbmsDbIndex, rdbmsDbParamName, rdbmsDbParamSubIndex }
      ::= { rdbmsDbParamTable 1 }

  RdbmsDbParamEntry ::=
      SEQUENCE {
          rdbmsDbParamName                DisplayString,
          rdbmsDbParamSubIndex            INTEGER,
          rdbmsDbParamID                  AutonomousType,
          rdbmsDbParamCurrValue           DisplayString,
          rdbmsDbParamComment             DisplayString
      }

  rdbmsDbParamName        OBJECT-TYPE
      SYNTAX              DisplayString (SIZE (1..64))
      MAX-ACCESS          not-accessible



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 12]


RFC 1697                       RDBMS-MIB                     August 1994


      STATUS              current
      DESCRIPTION
          "The name of a configuration parameter for a database.  This
           name is product-specific.  The length is limited to 64
           characters to constrain the number of sub-identifiers needed
           for instance identification (and to minimize network
           traffic)."

      ::= { rdbmsDbParamEntry 1 }

  rdbmsDbParamSubIndex    OBJECT-TYPE
      SYNTAX              INTEGER (1..2147483647)
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The subindex value for this parameter.  If the parameter is
           naturally considered to contain a variable number of members
           of a class, e.g.  members of the DBA user group, or files
           which are part of the database, then it must be presented as
           a set of rows.  If, on the other hand, the parameter
           represents a set of choices from a class, e.g. the
           permissions on a file or the options chosen out of the set of
           all options allowed, AND is guaranteed to always fit in the
           255 character length of a DisplayString, then it may be
           presented as a comma separated list with a subindex value of
           one.  Zero may not be used as a value."
      ::= { rdbmsDbParamEntry 2 }

  rdbmsDbParamID          OBJECT-TYPE
      SYNTAX              AutonomousType
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The ID of the parameter which may be described in some other
           MIB (e.g., an enterprise-specific MIB module).  If there is
           no ID for this rdbmsDbParamName, attempts to access this
           object will return noSuchName (SNMPv1) or noSuchInstance
           (SNMPv2)."
      ::= { rdbmsDbParamEntry 3 }

  rdbmsDbParamCurrValue OBJECT-TYPE
      SYNTAX              DisplayString
      MAX-ACCESS          read-write
      STATUS              current
      DESCRIPTION
          "The value for a configuration parameter now in effect, the
           actual setting for the database.  While there may multiple
           values in the temporal domain of interest (for instance, the



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 13]


RFC 1697                       RDBMS-MIB                     August 1994


           value to take effect at the next restart), this is the
           current setting.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsDbParamEntry 4 }

  rdbmsDbParamComment     OBJECT-TYPE
      SYNTAX              DisplayString
      MAX-ACCESS          read-write
      STATUS              current
      DESCRIPTION
          "Annotation which describes the purpose of a configuration
           parameter or the reason for a particular parameter's
           setting.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsDbParamEntry 5 }

  ----------------------------------------------------------------

  rdbmsDbLimitedResourceTable         OBJECT-TYPE
      SYNTAX          SEQUENCE OF RdbmsDbLimitedResourceEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "The table of limited resources that are kept per-database."
      ::= { rdbmsObjects 4 }

  rdbmsDbLimitedResourceEntry     OBJECT-TYPE
      SYNTAX      RdbmsDbLimitedResourceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry for a single limited resource kept per-database.
           A limited resource has maximum use determined by a parameter
           that might or might not be changeable at run time, or visible
           in the rdbmsDbParamTable. Examples would be the number of
           available locks, or disk space on a partition.  Arrays of
           resources are supported through an integer sub index, which
           should have the value of one for single-instance names.

           Limited resources that are shared across databases, are best
           put in the rdbmsSvrLimitedResourceTable instead of this one.




Brower, Purvy, Daniel, Sinykin & Smith                         [Page 14]


RFC 1697                       RDBMS-MIB                     August 1994


           If the database is not actively opened, then attempts to
           access corresponding instances in this table may result in
           either noSuchName (SNMPv1) or noSuchInstance (SNMPv2).
           'Actively opened' means at least one of the rdbmsRelState
           entries for this database in the rdbmsRelTable is active(2)."

      INDEX { rdbmsDbIndex, rdbmsDbLimitedResourceName }
      ::= { rdbmsDbLimitedResourceTable 1 }

  RdbmsDbLimitedResourceEntry ::=
      SEQUENCE {
          rdbmsDbLimitedResourceName          DisplayString,
          rdbmsDbLimitedResourceID            AutonomousType,
          rdbmsDbLimitedResourceLimit         INTEGER,
          rdbmsDbLimitedResourceCurrent       INTEGER,
          rdbmsDbLimitedResourceHighwater     INTEGER,
          rdbmsDbLimitedResourceFailures      Counter32,
          rdbmsDbLimitedResourceDescription   DisplayString
      }

  rdbmsDbLimitedResourceName          OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "The name of the resource, for instance 'global locks' or
           'locks for the FOO database', or 'data space on /dev/rdsk/5s0
           for FOO'. The length is limited to 64 characters to constrain
           the number of sub-identifiers needed for instance
           identification (and to minimize network traffic)."
      ::= { rdbmsDbLimitedResourceEntry  1 }

  rdbmsDbLimitedResourceID OBJECT-TYPE
      SYNTAX              AutonomousType
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The ID of the resource which may be described in some other
           MIB (e.g., an enterprise-specific MIB module).  If there is
           no ID for this rdbmsDbLimitedResourceName, attempts to access
           this object will return noSuchName (SNMPv1) or noSuchInstance
           (SNMPv2)."
      ::= { rdbmsDbLimitedResourceEntry 2 }

  rdbmsDbLimitedResourceLimit         OBJECT-TYPE
      SYNTAX          INTEGER (1..2147483647)
      MAX-ACCESS      read-write
      STATUS          current



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 15]


RFC 1697                       RDBMS-MIB                     August 1994


      DESCRIPTION
          "The maximum value the resource use may attain.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsDbLimitedResourceEntry  3 }

  rdbmsDbLimitedResourceCurrent       OBJECT-TYPE
      SYNTAX          INTEGER (1..2147483647)
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The current value for the resource."
      ::= { rdbmsDbLimitedResourceEntry  4 }

  rdbmsDbLimitedResourceHighwater     OBJECT-TYPE
      SYNTAX          INTEGER (1..2147483647)
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The maximum value of the resource seen since applUpTime
           was reset for the earliest server which has the database
           actively opened.

           If there are two servers with the database open, and the
           oldest one dies, the proper way to invalidate the value is by
           resetting sysUpTime."
      ::= { rdbmsDbLimitedResourceEntry  5 }

  rdbmsDbLimitedResourceFailures      OBJECT-TYPE
      SYNTAX          Counter32
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The number of times the system wanted to exceed the limit of
           the resource since applUpTime was reset for the earliest
           server which has the database actively opened.

           If there are two servers with the DB open, and the
           oldest one dies, the proper way to invalidate the value is by
           resetting sysUpTime."
      ::= { rdbmsDbLimitedResourceEntry  6 }

  rdbmsDbLimitedResourceDescription           OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      read-write
      STATUS          current



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 16]


RFC 1697                       RDBMS-MIB                     August 1994


      DESCRIPTION
          "A description of the resource and the meaning of the integer
           units used for Limit, Current, and Highwater.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsDbLimitedResourceEntry  7 }

  ----------------------------------------------------------------

  rdbmsSrvTable       OBJECT-TYPE
      SYNTAX          SEQUENCE OF RdbmsSrvEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "The table of database servers running or installed
           on a system."
      ::= { rdbmsObjects 5 }

  rdbmsSrvEntry   OBJECT-TYPE
      SYNTAX      RdbmsSrvEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry for a single database server.  A server is an
           independent entity that provides access to one or more
           databases.  Failure of one does not affect access to
           databases through any other servers.  There might be one or
           more servers providing access to a database.  A server may be
           a 'process' or collection of 'processes', as interpreted by
           the product."
      INDEX { applIndex }
      ::= { rdbmsSrvTable 1 }

  RdbmsSrvEntry ::=
      SEQUENCE {
          rdbmsSrvPrivateMibOID   OBJECT IDENTIFIER,
          rdbmsSrvVendorName  DisplayString,
          rdbmsSrvProductName DisplayString,
          rdbmsSrvContact     DisplayString
      }

  rdbmsSrvPrivateMibOID   OBJECT-TYPE
      SYNTAX          OBJECT IDENTIFIER
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 17]


RFC 1697                       RDBMS-MIB                     August 1994


          "The authoritative identification for the private MIB for this
           server, presumably based on the vendor, e.g., { enterprises
           111 <optional subidentifiers>} for Oracle servers, {
           enterprises 757 <optional subidentifiers>} for Ingres
           servers, { enterprises 897 <optional subidentifiers>} for
           Sybase servers, etc.

           If no OBJECT IDENTIFIER exists for the private MIB, attempts
           to access this object will return noSuchName (SNMPv1)
           or noSuchInstance (SNMPv2)."
      ::= { rdbmsSrvEntry  1 }

  rdbmsSrvVendorName  OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The name of the vendor whose RDBMS manages this database,
           for informational purposes."
      ::= { rdbmsSrvEntry 2 }

  rdbmsSrvProductName  OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The product name of this server.  This is normally the
           vendor's formal name for the product, in product specific
           format."
      ::= { rdbmsSrvEntry 3 }

  rdbmsSrvContact OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The textual identification of the contact person for this
           managed server, together with information on how to contact
           this person.

           Note: if there is no active server associated with this
           object, an agent may need to keep this in other persistent
           storage, e.g., a configuration file.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsSrvEntry 4 }



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 18]


RFC 1697                       RDBMS-MIB                     August 1994


  ----------------------------------------------------------------

  rdbmsSrvInfoTable   OBJECT-TYPE
      SYNTAX          SEQUENCE OF RdbmsSrvInfoEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "The table of additional information about database servers.

           Entries in this table correspond to applications in the
           APPLICATION-MIB applTable.  Some objects in that table are
           application-specific.  When they are associated with an RDBMS
           server in this table, the objects have the following
           meanings.

           applName - The name of this server, i.e., the process or
           group of processes providing access to this database.  The
           exact format will be product and host specific.

           applVersion - The version number of this server, in product
           specific format.

           applOperStatus - up(1) means operational and available for
           general use.  down(2) means the server is not available for
           use, but is known to the agent.  The other states have broad
           meaning, and may need to be supplemented by the vendor
           private MIB.  Halted(3) implies an administrative state of
           unavailability.  Congested(4) implies a resource or or
           administrative limit is prohibiting new inbound associations.
           The 'available soon' description of restarting(5) may include
           an indeterminate amount of recovery.

           applLastChange is the time the agent noticed the most recent
           change to applOperStatus.

           applInboundAssociation is the number of currently active
           local and remote conversations (usually SQL connects).

           applOutboundAssociations is not provided by this MIB.

           applAccumulatedInboundAssociations is the total number of
           local and remote conversations started since the server came
           up.

           applAccumulatedOutbound associations is not provided by this
           MIB.

           applLastInboundActivity is the time the most recent local or



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 19]


RFC 1697                       RDBMS-MIB                     August 1994


           remote conversation was attempted or disconnected.

           applLastOutboundActivity is not provided by this MIB.

           applRejectedInboundAssociations is the number of local or
           remote conversations rejected by the server for
           administrative reasons or because of resource limitations.

           applFailedOutboundAssociations is not provided by this MIB."

      ::= { rdbmsObjects 6 }

  rdbmsSrvInfoEntry   OBJECT-TYPE
      SYNTAX          RdbmsSrvInfoEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "Information that must be present for a single 'up' database
           server, with visibility determined by the value of the
           corresponding applOperStatus object.  If an instance of
           applOperStatus is not up(1), then attempts to access
           corresponding instances in this table may result in either
           noSuchName (SNMPv1) or noSuchInstance (SNMPv2) being returned
           by the agent."
      INDEX { applIndex }
      ::= { rdbmsSrvInfoTable 1 }

  RdbmsSrvInfoEntry ::=
      SEQUENCE {
          rdbmsSrvInfoStartupTime                 DateAndTime,
          rdbmsSrvInfoFinishedTransactions        Gauge32,
          rdbmsSrvInfoDiskReads                   Counter32,
          rdbmsSrvInfoDiskWrites                  Counter32,
          rdbmsSrvInfoLogicalReads                Counter32,
          rdbmsSrvInfoLogicalWrites               Counter32,
          rdbmsSrvInfoPageWrites                  Counter32,
          rdbmsSrvInfoPageReads                   Counter32,
          rdbmsSrvInfoDiskOutOfSpaces             Counter32,
          rdbmsSrvInfoHandledRequests             Counter32,
          rdbmsSrvInfoRequestRecvs                Counter32,
          rdbmsSrvInfoRequestSends                Counter32,
          rdbmsSrvInfoHighwaterInboundAssociations        Gauge32,
          rdbmsSrvInfoMaxInboundAssociations              Gauge32
      }

  rdbmsSrvInfoStartupTime  OBJECT-TYPE
      SYNTAX              DateAndTime
      MAX-ACCESS          read-only



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 20]


RFC 1697                       RDBMS-MIB                     August 1994


      STATUS              current
      DESCRIPTION
          "The date and time at which this server was last started."
      ::= { rdbmsSrvInfoEntry 1 }

  rdbmsSrvInfoFinishedTransactions  OBJECT-TYPE
      SYNTAX              Gauge32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The number of transactions visible to this server that have
           been completed by either commit or abort.  Some database
           operations, such as read-only queries, may not result in the
           creation of a transaction."
      ::= { rdbmsSrvInfoEntry 2 }

  rdbmsSrvInfoDiskReads   OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The total number of reads of database files issued to the
           operating system by this server since startup.  Numbers are
           not comparable between products.  What constitutes a
           readand how it is accounted is product-specific."
      ::= { rdbmsSrvInfoEntry 3 }

  rdbmsSrvInfoLogicalReads    OBJECT-TYPE
      SYNTAX                  Counter32
      MAX-ACCESS              read-only
      STATUS                  current
      DESCRIPTION
          "The total number of logical reads of database files made
           internally by this server since startup.  The values of this
           object and those of rdbmsSrvInfoDiskReads reveal the effect
           of caching on read operation. Numbers are not comparable
           between products, and may only be meaningful when aggregated
           across all servers sharing a common cache."
      ::= { rdbmsSrvInfoEntry 4 }

  rdbmsSrvInfoDiskWrites  OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The total number of writes to database files issued to the
           operating system by this server since startup.  Numbers are
           not comparable between products."



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 21]


RFC 1697                       RDBMS-MIB                     August 1994


      ::= { rdbmsSrvInfoEntry 5 }

  rdbmsSrvInfoLogicalWrites  OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The total number of times parts of the database files have
           been marked 'dirty' and in need of writing to the disk.  This
           value and rdbmsSrvInfoDiskWrites give some indication of the
           effect of 'write-behind' strategies in reducing the number of
           disk writes compared to database operations.  Because the
           writes may be done by servers other than those marking the
           parts of the database files dirty, these values may only be
           meaningful when aggregated across all servers sharing a
           common cache.  Numbers are not comparable between products."
      ::= { rdbmsSrvInfoEntry 6 }

  rdbmsSrvInfoPageReads   OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The total number of pages in database files read by this
           server since startup.  'Pages' are product specific units of
           disk i/o operations.  This value, along with
           rdbmsSrvInfoDiskReads, reveals the effect of any grouping
           read-ahead that may be used to enhance performance of some
           queries, such as scans."
      ::= { rdbmsSrvInfoEntry 7}

  rdbmsSrvInfoPageWrites  OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The total number of pages in database files written by this
           server since startup.  Pages are product-specific units of
           disk I/O.  This value, with rdbmsSrvInfoDiskWrites, shows the
           effect of write strategies that collapse logical writes of
           contiguous pages into single calls to the operating system."
      ::= { rdbmsSrvInfoEntry 8 }

  rdbmsSrvInfoDiskOutOfSpaces OBJECT-TYPE
      SYNTAX                  Counter32
      MAX-ACCESS              read-only
      STATUS                  current
      DESCRIPTION



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 22]


RFC 1697                       RDBMS-MIB                     August 1994


          "The total number of times the server has been unable to
           obtain disk space that it wanted, since server startup.  This
           would be inspected by an agent on receipt of an
           rdbmsOutOfSpace trap."
      ::= { rdbmsSrvInfoEntry 9 }

  rdbmsSrvInfoHandledRequests     OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The total number of requests made to the server on inbound
           associations.  The meaning of 'requests' is product specific,
           and is not comparable between products.

           This is intended to encapsulate high level semantic
           operations between clients and servers, or between peers.
           For instance, one request might correspond to a 'select' or
           an 'insert' statement.  It is not intended to capture disk
           i/o described in rdbmsSrvInfoDiskReads and
           rdbmsSrvInfoDiskWrites."
      ::= { rdbmsSrvInfoEntry 10 }

  rdbmsSrvInfoRequestRecvs        OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The number of receive operations made processing any requests
           on inbound associations. The meaning of operations is product
           specific, and is not comparable between products.

           This is intended to capture lower-level i/o operations than
           shown by HandledRequests, between clients and servers, or
           between peers.  For instance, it might roughly correspond to
           the amount of data given with an 'insert' statement.  It is
           not intended to capture disk i/o described in
           rdbmsSrvInfoDiskReads and rdbmsSrvInfoDiskWrites."
      ::= { rdbmsSrvInfoEntry 11 }

  rdbmsSrvInfoRequestSends        OBJECT-TYPE
      SYNTAX              Counter32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The number of send operations made processing requests
           handled on inbound associations.  The meaning of operations
           is product specific, and is not comparable between products.



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 23]


RFC 1697                       RDBMS-MIB                     August 1994


           This is intended to capture lower-level i/o operations than
           shown by HandledRequests, between between clients and
           servers, or between peers.  It might roughly correspond to
           the number of rows returned by a 'select' statement.  It is
           not intended to capture disk i/o described in DiskReads."
      ::= { rdbmsSrvInfoEntry 12 }

  rdbmsSrvInfoHighwaterInboundAssociations  OBJECT-TYPE
      SYNTAX              Gauge32
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The greatest number of inbound associations that have been
           simultaneously open to this server since startup."
      ::= { rdbmsSrvInfoEntry 13 }

  rdbmsSrvInfoMaxInboundAssociations OBJECT-TYPE
      SYNTAX              Gauge32
      MAX-ACCESS          read-write
      STATUS              current
      DESCRIPTION
          "The greatest number of inbound associations that can be
           simultaneously open with this server.  If there is no limit,
           then the value should be zero.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsSrvInfoEntry 14 }

  ----------------------------------------------------------------

  rdbmsSrvParamTable      OBJECT-TYPE
      SYNTAX              SEQUENCE OF RdbmsSrvParamEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The table of configuration parameters for a server.  Entries
           should be populated according to the following guidelines:
           (1) The value should be specified through administrative
               (human) intervention.
           (2) It should be configured on a per-server or a more global
               basis, with duplicate entries for each server sharing
               use of the parameter.
           (3) One of the following is true:
               (a) The parameter has a non-numeric value;
               (b) The current value is numeric, but it only changes due
                   to human intervention;



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 24]


RFC 1697                       RDBMS-MIB                     August 1994


               (c) The current value is numeric and dynamic, but the
                   RDBMS does not track access/allocation failures
                   related to the parameter;
               (d) The current value is numeric and dynamic, the
                   RDBMS tracks changes in access/allocation failures
                   related to the parameter, but the failure has no
                   significant impact on RDBMS performance or
                   availability.
               (e) The current value is numeric and dynamic, the
                   RDBMS tracks changes in access/allocation failures
                   related to the parameter, the failure has
                   significant impact on RDBMS performance or
                   availability, and is shown in the
                   rdbmsSrvLimitedResource table."
      ::= { rdbmsObjects 7 }

  rdbmsSrvParamEntry      OBJECT-TYPE
      SYNTAX              RdbmsSrvParamEntry
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "An entry for a single configuration parameter for a server.
           Parameters with single values have a subindex value of one.
           If the parameter is naturally considered to contain a
           variable number of members of a class, e.g.  members of the
           DBA user group, or tracepoints active in the server, then it
           must be presented as a set of rows.  If, on the other hand,
           the parameter represents a set of choices from a class,
           e.g. the permissions on a file or the options chosen out of
           the set of all options allowed, AND is guaranteed to always
           fit in the 255 character length of a DisplayString, then it
           may be presented as a comma separated list with a subindex
           value of one.  Zero may not be used as a subindex value.

           Entries for a server must be present if the value of the
           corresponding applOperStatus object is up(1).  If an instance
           of applOperStatus is not up(1), then attempts to access
           corresponding instances in this table may result in either
           noSuchName (SNMPv1) or noSuchInstance (SNMPv2) being returned
           by the agent."
      INDEX  { applIndex, rdbmsSrvParamName, rdbmsSrvParamSubIndex }
      ::= { rdbmsSrvParamTable 1 }

  RdbmsSrvParamEntry ::=
      SEQUENCE {
          rdbmsSrvParamName           DisplayString,
          rdbmsSrvParamSubIndex       INTEGER,
          rdbmsSrvParamID             AutonomousType,



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 25]


RFC 1697                       RDBMS-MIB                     August 1994


          rdbmsSrvParamCurrValue      DisplayString,
          rdbmsSrvParamComment        DisplayString
      }

  rdbmsSrvParamName       OBJECT-TYPE
      SYNTAX              DisplayString (SIZE (1..64))
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The name of a configuration parameter for a server.  This
           name is product-specific. The length is limited to 64
           characters to constrain the number of sub-identifiers needed
           for instance identification (and to minimize network
           traffic)."
      ::= { rdbmsSrvParamEntry 1 }

  rdbmsSrvParamSubIndex   OBJECT-TYPE
      SYNTAX              INTEGER (1..2147483647)
      MAX-ACCESS          not-accessible
      STATUS              current
      DESCRIPTION
          "The subindex value for this parameter.  If the parameter is
           naturally considered to contain a variable number of members
           of a class, e.g.  members of the DBA user group, or files
           which are part of the database, then it must be presented as
           a set of rows.  If, on the other hand, the parameter
           represents a set of choices from a class, e.g. the
           permissions on a file or the options chosen out of the set of
           all options allowed, AND is guaranteed to always fit in the
           255 character length of a DisplayString, then it may be
           presented as a comma separated list with a subindex value of
           one.  Zero may not be used as a value."
      ::= { rdbmsSrvParamEntry 2 }

  rdbmsSrvParamID         OBJECT-TYPE
      SYNTAX              AutonomousType
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The ID of the parameter which may be described in some
           other MIB.  If there is no ID for this rdbmsSrvParamName,
           attempts to access this object will return noSuchName
           (SNMPv1) or noSuchInstance (SNMPv2)."
      ::= { rdbmsSrvParamEntry 3 }

  rdbmsSrvParamCurrValue  OBJECT-TYPE
      SYNTAX              DisplayString
      MAX-ACCESS          read-write



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 26]


RFC 1697                       RDBMS-MIB                     August 1994


      STATUS              current
      DESCRIPTION
          "The value for a configuration parameter now in effect, the
           actual setting for the server.  While there may multiple
           values in the temporal domain of interest (for instance, the
           value to take effect at the next restart), this is the
           current setting.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsSrvParamEntry 4 }

  rdbmsSrvParamComment    OBJECT-TYPE
      SYNTAX              DisplayString
      MAX-ACCESS          read-write
      STATUS              current
      DESCRIPTION
          "Annotation which describes the purpose of a configuration
           parameter or the reason for a particular parameter's
           setting.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsSrvParamEntry 5 }

  ----------------------------------------------------------------

  rdbmsSrvLimitedResourceTable        OBJECT-TYPE
      SYNTAX          SEQUENCE OF RdbmsSrvLimitedResourceEntry
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "The table of limited resources relevant to a server."
      ::= { rdbmsObjects 8 }

  rdbmsSrvLimitedResourceEntry    OBJECT-TYPE
      SYNTAX      RdbmsSrvLimitedResourceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry for a single limited resource kept by the server.
           A limited resource has maximum use determined by a parameter
           that might or might not changeable at run time, or visible in
           the rbmsSrvParamTable.  Examples would be the number of
           available locks, or number of concurrent executions allowed
           in a server.  Arrays of resources are supported through an



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 27]


RFC 1697                       RDBMS-MIB                     August 1994


           integer subindex, which should have the value of one for
           single-instance names.

           Limited resources that are shared across servers or databases
           are best duplicated in this table across
           all servers accessing the resource."
      INDEX { applIndex, rdbmsSrvLimitedResourceName }
      ::= { rdbmsSrvLimitedResourceTable 1 }

  RdbmsSrvLimitedResourceEntry ::=
      SEQUENCE {
          rdbmsSrvLimitedResourceName         DisplayString,
          rdbmsSrvLimitedResourceID           AutonomousType,
          rdbmsSrvLimitedResourceLimit        INTEGER,
          rdbmsSrvLimitedResourceCurrent      INTEGER,
          rdbmsSrvLimitedResourceHighwater    INTEGER,
          rdbmsSrvLimitedResourceFailures     Counter32,
          rdbmsSrvLimitedResourceDescription  DisplayString
      }

  rdbmsSrvLimitedResourceName         OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      not-accessible
      STATUS          current
      DESCRIPTION
          "The name of the resource, for instance 'threads' or
           'semaphores', or 'buffer pages'"
      ::= { rdbmsSrvLimitedResourceEntry  1 }

  rdbmsSrvLimitedResourceID OBJECT-TYPE
      SYNTAX              AutonomousType
      MAX-ACCESS          read-only
      STATUS              current
      DESCRIPTION
          "The ID of the resource which may be described in some other
           MIB.  If there is no ID for this rdbmsSrvLimitedResourceName,
           attempts to access this object will return noSuchName
           (SNMPv1) or noSuchInstance (SNMPv2)."
      ::= { rdbmsSrvLimitedResourceEntry 2 }

  rdbmsSrvLimitedResourceLimit        OBJECT-TYPE
      SYNTAX          INTEGER (1..2147483647)
      MAX-ACCESS      read-write
      STATUS          current







Brower, Purvy, Daniel, Sinykin & Smith                         [Page 28]


RFC 1697                       RDBMS-MIB                     August 1994


      DESCRIPTION
          "The maximum value the resource use may attain.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsSrvLimitedResourceEntry  3 }

  rdbmsSrvLimitedResourceCurrent      OBJECT-TYPE
      SYNTAX          INTEGER (1..2147483647)
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The current value for the resource."
      ::= { rdbmsSrvLimitedResourceEntry  4 }

  rdbmsSrvLimitedResourceHighwater            OBJECT-TYPE
      SYNTAX          INTEGER (1..2147483647)
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The maximum value of the resource seen since applUpTime
           was reset."
      ::= { rdbmsSrvLimitedResourceEntry  5 }

  rdbmsSrvLimitedResourceFailures     OBJECT-TYPE
      SYNTAX          Counter32
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The number of times the system wanted to exceed the limit of
           the resource since applUpTime was reset."
      ::= { rdbmsSrvLimitedResourceEntry  6 }

  rdbmsSrvLimitedResourceDescription    OBJECT-TYPE
      SYNTAX          DisplayString
      MAX-ACCESS      read-write
      STATUS          current
      DESCRIPTION
          "A description of the resource and the meaning of the integer
           units used for Limit, Current, and Highwater.

           Note that a compliant agent does not need to
           allow write access to this object."

      ::= { rdbmsSrvLimitedResourceEntry  7 }





Brower, Purvy, Daniel, Sinykin & Smith                         [Page 29]


RFC 1697                       RDBMS-MIB                     August 1994


  ----------------------------------------------------------------

  rdbmsRelTable   OBJECT-TYPE
      SYNTAX      SEQUENCE OF RdbmsRelEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A table relating databases and servers present on a host."
      ::= { rdbmsObjects 9 }

  rdbmsRelEntry   OBJECT-TYPE
      SYNTAX      RdbmsRelEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry relating a single database server to a single
           database to which it may provide access.  The table is
           indexed first by the index of rdbmsDbTable, and then
           rdbmsSrvTable, so that all servers capable of providing
           access to a given database may be found by SNMP traversal
           operations (get-next and get-bulk).  The makeup of this table
           depends on the product's architecture, e.g. if it is one
           server - many databases, then each server will appear n
           times, where n is the number of databases it may access, and
           each database will appear once.  If the architecture is one
           database - many servers, then each server will appear once
           and each database will appear n times, where n is the number
           of servers that may be accessing it."
      INDEX  { rdbmsDbIndex, applIndex }
      ::= { rdbmsRelTable 1 }

  RdbmsRelEntry ::=
      SEQUENCE {
           rdbmsRelState          INTEGER,
           rdbmsRelActiveTime     DateAndTime
      }

  rdbmsRelState   OBJECT-TYPE
      SYNTAX      INTEGER{
                      other(1),
                      active(2),
                      available(3),
                      restricted(4),
                      unavailable(5)
                      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 30]


RFC 1697                       RDBMS-MIB                     August 1994


          "The state of this server's access to this database.
           Active(2) means the server is actively using the database.
           Available(3) means the server could use the database if
           necessary.  Restricted(4) means the database is in some
           administratively determined state of less-than-complete
           availability.  Unavailable(5) means the database is not
           available through this server.  Other(1) means the
           database/server is in some other condition, possibly
           described in the vendor private MIB."

      ::= { rdbmsRelEntry 1 }

  rdbmsRelActiveTime  OBJECT-TYPE
      SYNTAX          DateAndTime
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The time the database was made active by the server.  If an
           instance of rdbmsRelState is not active(1), then attempts to
           access the corresponding instance of this object may result
           in either noSuchName (SNMPv1) or noSuchInstance (SNMPv2)
           being returned by the agent."
      ::= { rdbmsRelEntry 2 }

  ----------------------------------------------------------------

  -- Well known resources for which limits, high water marks,
  -- access or allocation failures, and current levels of use
  -- are possibly available in either the rdbmsDbLimitedResources
  -- or the rdbmsSrvLimitedResources tables.

  rdbmsWellKnownLimitedResources OBJECT IDENTIFIER
          ::= { rdbmsObjects 10 }

  rdbmsLogSpace   OBJECT-IDENTITY
                  STATUS  current
                  DESCRIPTION
                  "Storage allocated for redo and undo logs."
          ::= { rdbmsWellKnownLimitedResources 1}

  ----------------------------------------------------------------

  rdbmsTraps       OBJECT IDENTIFIER ::= { rdbmsMIB 2 }

  rdbmsStateChange    NOTIFICATION-TYPE
      OBJECTS         { rdbmsRelState }
      STATUS          current
      DESCRIPTION



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 31]


RFC 1697                       RDBMS-MIB                     August 1994


          "An rdbmsStateChange trap signifies that one of the database
           server/databases managed by this agent has changed its
           rdbmsRelState in a way that makes it less accessible for use.
           For these purposes, both active(2) and available(3) are
           considered fully accessible.  The state sent with the trap is
           the new, less accessible state."
      ::= { rdbmsTraps 1 }

  rdbmsOutOfSpace NOTIFICATION-TYPE
      OBJECTS     { rdbmsSrvInfoDiskOutOfSpaces }
      STATUS      current
      DESCRIPTION
          "An rdbmsOutOfSpace trap signifies that one of the database
           servers managed by this agent has been unable to allocate
           space for one of the databases managed by this agent.  Care
           should be taken to avoid flooding the network with these
           traps."
      ::= { rdbmsTraps 2 }

  ----------------------------------------------------------------

  -- compliance information

  rdbmsConformance    OBJECT IDENTIFIER ::= { rdbmsMIB 3 }
  rdbmsCompliances    OBJECT IDENTIFIER ::= { rdbmsConformance 1 }
  rdbmsGroups         OBJECT IDENTIFIER ::= { rdbmsConformance 2 }

  -- compliance statements

  rdbmsCompliance     MODULE-COMPLIANCE
      STATUS          current
      DESCRIPTION
          "The compliance statement for SNMP entities which
           implement the RDBMS MIB"
      MODULE HOST-RESOURCES-MIB
          MANDATORY-GROUPS    { hrSystem }
      MODULE APPLICATION-MIB
          MANDATORY-GROUPS { applGroup }
      MODULE RDBMS-MIB
          MANDATORY-GROUPS { rdbmsGroup }

      GROUP  rdbmsGroup
          DESCRIPTION
              "The rdbmsGroup is mandatory, but no write access
               to objects is required for compliance."
          OBJECT      rdbmsDbContact
          MIN-ACCESS  read-only
          DESCRIPTION



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 32]


RFC 1697                       RDBMS-MIB                     August 1994


              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsDbParamCurrValue
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsDbParamComment
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsDbLimitedResourceLimit
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsDbLimitedResourceDescription
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsSrvContact
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsSrvInfoMaxInboundAssociations
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsSrvParamCurrValue
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsSrvParamComment
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsSrvLimitedResourceLimit
          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."
          OBJECT      rdbmsSrvLimitedResourceDescription



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 33]


RFC 1697                       RDBMS-MIB                     August 1994


          MIN-ACCESS  read-only
          DESCRIPTION
              "A compliant system need not allow write-access to this
              object."

      ::= { rdbmsCompliances 1 }

  -- units of conformance

      -- rdbmsStateChange and rdbmsOutOfSpace traps are omitted
      -- intentionally.  They are not required or part of any
      -- conformance group.

  rdbmsGroup   OBJECT-GROUP
      OBJECTS  {
                  rdbmsDbPrivateMibOID, rdbmsDbVendorName,
                  rdbmsDbName, rdbmsDbContact,

                  rdbmsDbInfoProductName, rdbmsDbInfoVersion,
                  rdbmsDbInfoSizeUnits, rdbmsDbInfoSizeAllocated,
                  rdbmsDbInfoSizeUsed, rdbmsDbInfoLastBackup,

                  rdbmsDbParamCurrValue, rdbmsDbParamComment,

                  rdbmsDbLimitedResourceLimit,
                  rdbmsDbLimitedResourceCurrent,
                  rdbmsDbLimitedResourceHighwater,
                  rdbmsDbLimitedResourceFailures,
                  rdbmsDbLimitedResourceDescription,

                  rdbmsSrvPrivateMibOID, rdbmsSrvVendorName,
                  rdbmsSrvProductName, rdbmsSrvContact,

                  rdbmsSrvInfoStartupTime,
                  rdbmsSrvInfoFinishedTransactions,
                  rdbmsSrvInfoDiskReads, rdbmsSrvInfoDiskWrites,
                  rdbmsSrvInfoLogicalReads, rdbmsSrvInfoLogicalWrites,
                  rdbmsSrvInfoPageReads, rdbmsSrvInfoPageWrites,
                  rdbmsSrvInfoHandledRequests,
                  rdbmsSrvInfoRequestRecvs, rdbmsSrvInfoRequestSends,
                  rdbmsSrvInfoHighwaterInboundAssociations,
                  rdbmsSrvInfoMaxInboundAssociations,

                  rdbmsSrvParamCurrValue, rdbmsSrvParamComment,

                  rdbmsSrvLimitedResourceLimit,
                  rdbmsSrvLimitedResourceCurrent,
                  rdbmsSrvLimitedResourceHighwater,



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 34]


RFC 1697                       RDBMS-MIB                     August 1994


                  rdbmsSrvLimitedResourceFailures,
                  rdbmsSrvLimitedResourceDescription,

                  rdbmsRelState, rdbmsRelActiveTime }
      STATUS   current
      DESCRIPTION
          "A collection of objects providing basic instrumentation of an
           RDBMS entity."
      ::= { rdbmsGroups 1 }

  ----------------------------------------------------------------

  END

5.  Acknowledgements

   This document was produced by the IETF RDBMSMIB working group:

       Mark Allyn, Boeing
       Virinder Batra, IBM
       Jonathan Bauer  DEC
       Janice Befu, Network General
       Gerard Berthet, Independence Technologies
       Dave Brower, Ingres
       Barry Bruins, Network General
       David Campbell, Digital Equipment Corporation
       Stephen Campbell, European Database Consulting
       Jeff Case       SNMP Research
       Dave Crocker    Silicon Graphics
       Tony Daniel, Informix
       Craig DeNoce, Sybase
       Howard Dernehl, Ingres/Data General
       Mike Hartstein, Oracle
       Vijay Iyer, Independence Technologies
       Britt Johnston, Progress
       Bill Kehoe, Sybase
       Deirdre Kostick, Bellcore
       Cheryl Krupczak, Empire Technologies
       Damien Lindauer, Microsoft
       Ivan Lui, Informix
       John McCormack, Tandem Computers Inc.
       David Meldrum, Sybase
       David Morandi, Red Brick Systems
       Bob Natale, American Computer
       Diana Parr, Gupta
       David Perkins, Synoptics
       Randy Presuhn, Peer Networks
       Brian Promes, Novell



Brower, Purvy, Daniel, Sinykin & Smith                         [Page 35]


RFC 1697                       RDBMS-MIB                     August 1994


       Bob Purvy, Oracle
       Roger Reinsch, IBM
       Marshall T. Rose, Dover Beach Consulting
       Jon Saperia, DEC
       Marc Sinykin, Oracle
       Jay Smith, Oracle
       Mike Sorsen, Edward D. Jones & Co.
       Bob Taylor, Tandem
       Maria Valls, IBM
       Bert Wijnen, IBM
       Stan Wong, IBM

6.  References

   [1] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
       of Management Information for version 2 of the Simple Network
       Management Protocol (SNMPv2)", RFC 1442, SNMP Research, Inc.,
       Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
       University, April 1993.

   [2] McCloghrie, K., and M. Rose, "Management Information Base for
       Network Management of TCP/IP-based internets - MIB-II", STD 17,
       RFC 1213, Hughes LAN Systems, Performance Systems International,
       March 1991.

   [3] Galvin, J., and K. McCloghrie, "Administrative Model for version
       2 of the Simple Network Management Protocol (SNMPv2)", RFC 1445,
       Trusted Information Systems, Hughes LAN Systems, April 1993.

   [4] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
       Operations for version 2 of the Simple Network Management
       Protocol (SNMPv2)", RFC 1448, SNMP Research, Inc., Hughes LAN
       Systems, Dover Beach Consulting, Inc., Carnegie Mellon
       University, April 1993.

   [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
       Conventions for version 2 of the Simple Network Management
       Protocol (SNMPv2)", RFC 1443, SNMP Research, Inc., Hughes LAN
       Systems, Dover Beach Consulting, Inc., Carnegie Mellon
       University, April 1993.

   [6] Kille, S., WG Chair, and N. Freed, Editor, "The Network Services
       Monitoring MIB", RFC 1565, ISODE Consortium, Innosoft, January
       1994.







Brower, Purvy, Daniel, Sinykin & Smith                         [Page 36]


RFC 1697                       RDBMS-MIB                     August 1994


7.  Security Considerations

   Security issues are not discussed in this memo.

8.  Authors' Addresses

   David Brower
   The ASK Group, INGRES DBMS Development
   1080 Marina Village Parkway
   Alameda, CA, 94501
   US

   Phone: +1 510 748 3418
   EMail: daveb@ingres.com


   Bob Purvy
   Oracle Corporation
   500 Oracle Parkway
   Redwood Shores, CA  94065
   US

   Phone: +1 415 506 2972
   EMail: bpurvy@us.oracle.com


   Anthony Daniel
   Informix Software, Inc.
   921 S.W. Washington Street
   Portland, OR  97205
   US

   Phone: +1 503 221 2638
   EMail: anthony@informix.com


   Marc Sinykin
   Oracle Corporation
   400 Oracle Parkway
   Redwood Shores, CA  94065
   US

   Phone: +1 415 506 2477
   EMail: msinykin@us.oracle.com







Brower, Purvy, Daniel, Sinykin & Smith                         [Page 37]


RFC 1697                       RDBMS-MIB                     August 1994


   Jay Smith
   Oracle Corporation
   400 Oracle Parkway
   Redwood Shores, CA  94065
   US

   Phone: +1 415 506 6239
   EMail: jaysmith@us.oracle.com











































Brower, Purvy, Daniel, Sinykin & Smith                         [Page 38]