The DBMS server acts as a MIB Server.
MIB means Management Information Base, which in SNMP terms is a set of information in any system that can be monitored and manipulated for the purposes of system management.
From the standpoint of the monitoring application, the MIB is simply a set of tables in a relational database that can be queried and modified using SQL statements. In actuality, the MIB is an abstraction—it is composed of internal information spread among all the Ingres processes in an installation, including:
The MIB server provides a central point of contact for the monitoring application, and acts as a distributed gateway to the actual MIB data, which in its natural habitat is not relational and does not reside in the same location.
The individual units of data are often referred to as "MIB Objects" or "MIB variables" and most often they truly are program variables in the code running the managed process.
A MIB object has a two-part name:
A generic variable type
A unique identifier constructed for each actual manifestation of a MIB variable
Each object class also has a set of permissions defined for it which are used by the MIB server in its enforcement of access control. This prevents unauthorized users from "playing" with the system.
Permissions are Octal Values:
Permission |
Octal Value |
Description |
---|---|---|
MO_PERM_NONE |
0000000 |
none |
MO_SES_READ |
0000002 |
read by session |
MO_SES_WRITE |
0000004 |
write by session |
MO_DBA_READ |
0000020 |
read by DBA |
MO_DBA_WRITE |
0000040 |
write by DBA |
MO_SERVER_READ |
0000200 |
read by server administrator |
MO_SERVER_WRITE |
0000400 |
write by server administrator |
MO_SYSTEM_READ |
0002000 |
read by system administrator |
MO_SYSTEM_WRITE |
0004000 |
write by system administrator |
MO_SECURITY_READ |
0020000 |
read by security officer |
MO_SECURITY_WRITE |
0040000 |
write by security officer |
MO_ANY_READ |
0200000 |
Override read perm bits |
MO_ANY_WRITE |
0400000 |
Override write perm bits |
For example:
MO_SES_READ + MO_SES_WRITE + MO_DBA_READ + MO_DBA_WRITE +
MO_SERVER_READ + MO_SERVER_WRITE + MO_SYSTEM_READ +
MO_SYSTEM_WRITE + MO_SECURITY_READ + MO_SECURITY_WRITE
MO_SES_READ + MO_SES_WRITE
The MIB is defined as an abstract entity consisting of simple type objects. Simple type objects are objects that have values that are strings or strings that can be interpreted as integers. Simple type objects do not represent an aggregate such as a structure.
Aggregate objects, such as a C language structure, are represented in the MIB by having a separate object type for each element. This can be compared to having a single table for each column in a relational database, with the entire table made visible with a join of all the column tables.
In the model each object has:
Each data object in the MIB has a name, called the classid, which defines its type and semantics. A classid is a string that forms a hierarchical name space by using a period (.) to separate levels of the tree. For example:
exp.scf.scs.scb_query
In this example, the object is identified as an experimental object (exp). In the current release, all objects are under the experimental branch of the name space tree, owned by the session control facility (scf), in scs code block, and is the scb_query object.
Each data object is located in a place, where the general format of a place string is:
[vnode::] [/@iigcn | /@gca_address]
where:
Is the IMA domain (also know as the Ingres installation)
Is the listen address of the server as shown in Visual DBA, Interactive Performance Monitor (IPM), or Name Server Maintenance utility (iinamu).
If the place is visible in several different processes in an installation, then it is "vnode specific."
If the place is a particular server, then it is "process specific."
The place can be local or a remote installation. To connect to the remote installation, an installation password must have been set up and working.
A classid can have none, one, or more instances in a process or a vnode.
Instances have simple data types: strings or strings that can be interpreted as integers.
An IMA table is modeled by having objects with instance values that form a key index.