This chapter covers the following topics:
This manual documents four Oracle products that provide SNMP support. These products are:
the Oracle Database
the Oracle Listener
Oracle Enterprise Manager
The Oracle Server is the relational database management system (RDBMS) developed and sold by Oracle. This RDBMS includes the database that stores information, as well as the server software that accesses and manipulates that information.
For more information about Oracle Server, see the Oracle Database Concepts manual specific to your system.
The Listener is a protocol-independent application listener that receives connections on behalf of applications running over a variety of underlying protocols. The Listener is a component of Oracle Net Services, Oracle's remote data access product, enabling client/server and server/server communications across any network. It runs as a single process or task.
For more information about the Listener, see the manual Oracle Database Net Services Administrator's Guide.
Oracle Enterprise Manager provides Oracle database administrators with an intuitive, easy-to-use interface and a high degree of automation through remote task execution and reactive and proactive management capabilities. It also scales to accommodate both very large database configurations, while being flexible enough to handle installations with many databases. Oracle Enterprise Manager includes an open-architecture design, providing third-party vendors and customers with the ability to integrate their applications into Oracle's system management platform.
The MIB supporting these Oracle products are:
Network Services MIB
Public RDBMS MIB
Private Oracle Database MIB
Other Oracle Private MIBs
The public Network Services MIB (as described in RFC 1565) contains generic variables designed to apply to all types of network service applications. Oracle has implemented those variables of this MIB that are relevant to its Oracle Database.
Specific values for these variables are retrieved from a variety of sources, including configuration files, tables internal to the network service application, and from the master agent itself.
The Listener does not make use of any Network Services MIB variables.
The public RDBMS MIB is the proposed standard MIB for relational databases that has been defined by the IETF Working Group. This MIB allows for database discovery, identification of the database, and characterization of database size and activity level.
The public RDBMS MIB includes management variables that are both common to all RDBMSs and independent of vendor.
While this MIB makes a clear distinction between the database and its server, at this time the Oracle Database subagent only recognizes the standard Oracle configuration of one database to one server. Thus, it does not account for the Oracle Real Application Clusters server or gateways.
The information in this MIB is mostly retrieved from dynamic performance tables (V$ tables) and the INIT.ORA configuration file of the Oracle Database.
The private Oracle Database MIB contains additional RDBMS statistics that are specific to the Oracle database architecture. Like the public RDBMS MIB, the private Oracle Database MIB derives most of its information from dynamic performance tables of the database and from the INIT.ORA database configuration file.
The private Oracle Database MIB is platform-independent. This allows a DBA to use one MIB, regardless of the number of platforms being managed.
This section briefly covers how SNMP object identifiers (OIDs) are assigned, as it pertains to the MIBs that Oracle has implemented. Specifically, this section covers the following topics:
interpreting Oracle OIDs
interpreting OIDs for Oracle-implemented public MIBs
interpreting OIDs for instances of private Oracle MIB variables
For more information on SNMP OIDs, see any of the standard SNMP texts listed in the preface.
For easy reference, tables listing the object identifiers for each object of a given Oracle-implemented MIB can be found in the appendix covering that MIB.
The SNMP standard (RFC 1442) specifies that an object identifier (OID) be used to uniquely identify each object. An OID is a sequence of elements that indicates a hierarchical organization of identifiers. These elements take the form of a series of ÓdottedÓ integers, similar in format to an Internet address.
An example OID for an private Oracle MIB variable follows:
In this OID:
The first element (1) refers to the iso object
The second element (3) refers to the org object
The third element (6) refers to the dod object
The fourth element (1) refers to the internet object
The fifth element (4) refers to the private object
The sixth element (1) refers to the enterprises object
The seventh element (111) refers to the Oracle object
Each of these elements is assigned by entities outside Oracle. Thus, all objects within the Oracle ID space (that is, those objects to which Oracle has assigned OIDs), share the root OID 188.8.131.52.4.1.111.
Continuing use of this OID example, Oracle has defined the elements of its private ID space as follows:
The eighth element (4) is the MIB service identifier. Oracle has defined the following MIB service identifiers:
4 - Oracle Private Database MIB
5 - Oracle Listener MIB
The ninth element (1) is the MIB object identifier. Oracle has defined the following MIB object identifiers for each service:
1 - SNMP variable
2 - SNMP trap
The tenth element (7) is the MIB table identifier (oraDbConfigTable, in this case).
The eleventh element (1) is the table entry identifier. This element can be considered as a place holder and is always 1.
The twelfth element (1) is the leaf object identifier (identifying a particular variable in the table).
In addition to the four private Oracle MIBs that fall within Oracle OID space, Oracle is implementing portions of two public MIBs (Network Services MIB and RDBMS MIB) that fall outside Oracle OID space. The object IDs for the variables in these MIBs have been assigned in their respective RFCs.
An example OID for a public RDBMS MIB variable follows:
In this OID, the first four elements (184.108.40.206) match those for the Oracle root ID, indicating that this object falls under the iso, org, dod and internet objects. The fifth element (2), however, indicates that this object falls within the Internet management OID space. The seventh element (39) indicates that this object falls within the public RDBMS MIB. All variables of the public RDBMS MIB share this root OID of 220.127.116.11.2.1.39 The ninth element (2) indicates that this object is part of the rdbmsDbInfoTable. The eleventh element (3) identifies this as the leaf object rdbmsDbInfoSizeUnits.
An example OID for a public Network Services MIB variable follows:
In this OID, the first four elements (18.104.22.168) match those for the Oracle root ID, indicating that this object falls under the iso, org, dod and internet entities. The fifth element (2), however, indicates that this object falls within Internet management OID space. The seventh element (27), indicates that this object falls within the public Network Services MIB. All variables of the public Network Services MIB share this root OID of 22.214.171.124.2.1.27. The ninth element (1) indicates that this object is part of the applTable. The tenth element (6) identifies this as the leaf object applOperStatus.
Because variables in Oracle's MIBs are defined in tables, there can be multiple instances of a single variable. If, for example, there are two Oracle databases running on a given managed node, each database will have its own value for MIB variables such as applInboundAssociations, rdbmsDbName, and rdbmsSrvInfoDiskReads.
Not all variables are indexed on a per-service basis. It is also possible for a variable to have many instances for a single database. For example, while rdbmsSrvParamEntry describes a single database configuration parameter, that same managed node will have many instances of rdbmsSrvParamName.
To uniquely identify the multiple instances of these variables, each MIB table is indexed by one or more variables which, together, uniquely identify the rows of the table. (These index variables are conceptually equivalent to the primary key of a relational database table.) To refer to a particular instance of a variable, concatenate the variable's OID with the values of the index variables of the MIB table to which the variable belongs.
For instance, rdbmsDbName is defined within the rdbmsDbTable, which is indexed by the variable rdbmsDbIndex. For example, assume two databases are running on a host, one with SNMP index 2, the other with SNMP index 4. Then the name of the first database can be specified by concatenating the OID for rdbmsDbName (126.96.36.199.188.8.131.52.1.1.4) with the appropriate value of rdbmsDbIndex (2), or 184.108.40.206.220.127.116.11.18.104.22.168. Similarly, the name of the second database is the value of 22.214.171.124.126.96.36.199.188.8.131.52.
If a table is indexed by more than one variable, add the appropriate value of each index variable to the end of the OID, in the order they are listed in the table's MIB definition INDEX clause, separated by dots. The size (oraDbDataFileSizeAllocated, or 184.108.40.206.220.127.116.11.18.104.22.168) of the fifth data file (5) of the second database on this host (whose rdbmsDbIndex is 4) is the value of 22.214.171.124.126.96.36.199.188.8.131.52.4.5.