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.
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.
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.
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.
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.
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:
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.
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.
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 }
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."
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 }
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 }
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 }
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."
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 }
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."
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 }
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."
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 }
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."
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 }
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 }
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."
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 }
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."
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 }
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.
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 }
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.
rdbmsRelState, rdbmsRelActiveTime } STATUS current DESCRIPTION "A collection of objects providing basic instrumentation of an RDBMS entity." ::= { rdbmsGroups 1 }
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
[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.