// =================================================================== // Title: Database MOF Specification 2.7 // Filename: CIM_Database27.mof // Version: 2.7.0 // Status: Preliminary // Date: 07/30/2002 // =================================================================== // Copyright 2002 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: // The database model provides a set of classes and // associations for managing database systems. // This MOF describes a three level model for a database // environment. // 1) The database system software // 2) The common database entity // 3) The database services which perform tasks for the // database, such as coordinating user access // // The classes and associations provided in this model are // intended to be common across all database organizations // and vendor implementations. The database model // represents the entities, associations, and properties that // at an abstract level are appropriate for all database // organizations and vendor implementations. For readability // purposes, the term database when used in this MOF refers to // the common database entity. // // The database working group has focused its efforts in // this initial V2.7 release of the database model on // providing content that is consistent with the SNMP RDBMS // MIB (RFC 1697). Future versions of the MOF will extent // the initial set of properties to provide a more // comprehensive model for database management. // // The object classes below are listed in an order that // avoids forward references. Required objects that have been // defined by other working groups are omitted. // ================================================================== // Change Log for v2.7 // CR776 - Initial submission of the Database Model // CR847 - InstanceID is the Key of CommonDatabase // ================================================================== #pragma Locale ("en-US") // ================================================================== // Compile prerequisite: Core, User-Security, Application and // System MOFs // User-Security MOF required - User27_Org.mof // Application MOF required - Application27_DeploymentModel.mof // System MOF required - System27_SystemResources.mof // ================================================================== // ================================================================== // DatabaseSystem Class // ================================================================== [Experimental, Version ("2.7.0"), Description ("The CIM_DatabaseSystem class is used to represent the " "application software portion of a database environment." "\n" "A database environment is composed of a database system " "(the application software represented by this class), one " "or more database services, and one or more databases. " "See the descriptions of CIM_DatabaseService and " "CIM_CommonDatabase to get more detailed information about " "database services and databases." "\n" "Many of the management capabilities needed to represent " "the software aspects of a database system have already " "been modeled in the CIM_ApplicationSystem class from " "which CIM_DatabaseSystem extends. This class provides a " "logical entity to define the relationships that are " "specific to the database management domain.") ] class CIM_DatabaseSystem : CIM_ApplicationSystem { }; // ================================================================== // CommonDatabase Class // ================================================================== [Experimental, Version ("2.7.0"), Description ("A database is a collection of interrelated data, treated " "as a unit, which is organized into one or more schemas. " "The CIM_CommonDatabase class defines the properties that " "are common across database model and vendor " "implementations for the database entity that is represented " "by the unit of interrelated data." "\n" "Databases are manipulated through one or more " "database services. More detailed information on " "database services is provided in the description of the " "CIM_DatabaseService class." "\n") ] class CIM_CommonDatabase : CIM_EnabledLogicalElement { [Key, Description( "InstanceID opaquely identifies a specific instance of " "CommonDatabase. The InstanceID must be unique within a " "namespace. In order to ensure uniqueness, the value of " "InstanceID SHOULD be constructed in the following manner: \n" " \n" " MUST include a copyrighted, trademarked " "or otherwise unique name that is owned by the business " "entity or a registered ID that is assigned to the business " "entity that is defining the InstanceID. (This is similar to " "the _ structure of Schema class " "names.) The purpose of is to ensure that " "is truly unique across multiple vendor implementations. " "If such a name is not used, the defining entity MUST assure " "that the portion of the Instance ID is unique when " "compared with other instance providers. For DMTF defined " "instances, the is 'CIM'. \n" " MUST include a vendor specified unique " "identifier.") ] string InstanceID; [Description ("The version number for the database. If the version is not " "relevant, the value for this property must be set to NULL."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoVersion"} ] string DatabaseVersion; [Description ("The date and time when the latest complete or partial " "backup of the database was performed. If the " "database has never been backed up, then this " "property has no meaning. The value of this property " "should be set to all zeros if the database has never " "been backed up."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoLastBackup"} ] datetime LastBackup; [Description ("The estimated amount of disk space (in units) that has been " "reserved for database use."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeAllocated"} ] uint32 SizeAllocated; [Description ("The units for the SizeAllocated property and the SizeUsed " "property that is defined in the " "CIM_CommonDatabaseStatistics class. Mapping is 1 - Bytes, " "2 - Kilobytes, 3 - Megabytes, 4 - Gigabytes and " "5 - Terabytes."), ValueMap {"1", "2", "3", "4", "5"}, Values {"Bytes", "Kilobyes", "Megabytes", "Gigabytes", "Terabytes"}, MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeUnits"} ] uint16 SizeUnits; }; // ================================================================== // AssociatedDatabaseSystem Association // ================================================================== [Association, Experimental, Version ("2.7.0"), Description ("The CIM_AssociatedDatabaseSystem association identifies " "the database system that is responsible for the database.") ] class CIM_AssociatedDatabaseSystem : CIM_Dependency { [Override ("Antecedent"), Min (1), Description ("The database system that is responsible for the " "database.") ] CIM_DatabaseSystem REF Antecedent; [Override ("Dependent"), Description ("The database.") ] CIM_CommonDatabase REF Dependent; }; // ================================================================== // DatabaseAdministrator Association // ================================================================== [Association, Experimental, Version ("2.7.0"), Description ( "The CIM_DatabaseAdministrator association identifies " "a CIM_UserEntity as a database administrator " "of a CIM_CommonDatabase.") ] class CIM_DatabaseAdministrator : CIM_Dependency { [Override ("Antecedent"), Description ("The database that is being administered.") ] CIM_CommonDatabase REF Antecedent; [Override ("Dependent"), Description ("The user entity who is responsible for the administration " "of the database.") ] CIM_UserEntity REF Dependent; }; // ================================================================== // DatabaseService Class // ================================================================== [Experimental, Version ("2.7.0"), Description ("Database services perform tasks for a database. " "Examples of tasks that are performed by a database service " "include providing user access to the database, performing " "data and metadata manipulation, database administration, " "and maintenance operations." "\n" "One or more database services can perform tasks for a " "database. The database services can reside on " "the same computer system as the database or on " "different computer systems. Database services may be " "implemented as one or more processes.") ] class CIM_DatabaseService : CIM_Service { [Description ("The date and time when the database service was last " "started. If the database service has an OperationalStatus " "of Stopped or Starting, then this value is not meaningful " "and the contents MUST be set to zeros."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoStartupTime"} ] datetime StartupTime; [Override ("OperationalStatus"), Description ("This property contains the operational status of the " "database service. OK means that the database service is " "operational and available for general use. Stopped " "means that the service is unavailable and cannot be " "used. Service implies an administrative state of " "unavailability. Degraded means that the database " "service is operating at a less than optimal level. " "Starting means that the database service is in the " "process of becoming operational." "\n" "These status values map to the RFC1697 OperStatus " "values as follows: OK - UP, Stopped - DOWN, " "In Service - HALTED, Stressed - CONGESTED, and " "Starting - RESTARTING. Any additional status variables " "that are defined are CIM specific."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoOperStatus"} ] uint16 OperationalStatus[]; [Description ("The date and time when the status of the database " "service last changed."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLastChange"} ] datetime LastStatusChangeTime; [Description ("The maximum number of active inbound connections that " "can be concurrently opened on the service."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoMaxInboundAssociations"} ] uint32 ConnectionLimit; }; // ================================================================== // ServiceAvailableToDatabase Association // ================================================================== [Association, Experimental, Version ("2.7.0"), Description ("The CIM_ServiceAvailableToDatabase association relates " "databases to the database services that are available " "for database use.") ] class CIM_ServiceAvailableToDatabase : CIM_ServiceAvailableToElement { [Override ("ServiceProvided"), Description ("The database service that is providing service.") ] CIM_DatabaseService REF ServiceProvided; [Override ("UserOfService"), Description ("The database that is being served.") ] CIM_CommonDatabase REF UserOfService; [Description ("The AvailableState property indicates the current state of " "a database service regarding its ability to access a " "specific database. A service can be actively using a " "database (ACTIVE), or it can be waiting for a task to " "perform (AVAILABLE), or the service can be less than " "completely available for use by the database (RESTRICTED), " "or the database is not accessible from this " "service (UNAVAILABLE). Any service states that do not " "match one of these values should specify (OTHER)."), ValueMap {"1", "2", "3", "4", "5"}, Values {"Other", "Active", "Available", "Restricted", "Unavailable"}, MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsRelState"}, ModelCorrespondence {"CIM_ServiceAvailableToDatabase.OtherAvailableState"} ] uint16 AvailableState; [Description ("A string describing the service's available state when " "the AvailableState property is set to 1 (\"Other\"). This " "property MUST be set to NULL when AvailableState " "is any value other than 1."), ModelCorrespondence {"CIM_ServiceAvailableToDatabase.AvailableState"} ] string OtherAvailableState; [Description ("The time that the database was made active by this " "service. If the AvailableState property is not " "active, then the value of this property MUST be set " "to zero."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsRelActiveTime"} ] datetime ActiveTime; }; // ================================================================== // DatabaseParameter Class // ================================================================== [Abstract, Experimental, Version ("2.7.0"), Description ("The CIM_DatabaseParameter class extends from " "CIM_ScopedSettingData. This is an abstract class that " "specifies the database and service configuration " "parameters that are common across database models and " "vendor implementations." "\n" "The SNMP RDBMS MIB defines database and service " "parameters as name/value pair combinations rather than " "as specific named properties of the class. In order " "to maintain a consistent mapping between SNMP and CIM " "a CIM_SNMPDatabaseParameter class extends from the " "abstract CIM_DatabaseParameter class which defines " "parameters as a name value pair." "\n" "In a future release of the database MOF, the working " "group may choose to create a new class that extends " "from CIM_DatabaseParameter that specifies properties " "for common configuration parameters." "\n" "The parameter context for a specific database or database " "service is established by collecting the SettingData " "using the CIM_ElementProfile association." "\n" "The SNMP RDBMS MIB defines generic tables that contain " "rows of named database or service configuration " "entries. A parameter entry contains a parameter name, " "description, and value. See the description of the " "rdbmsDbParamTable or the rdbmsSrvParamTable for more " "information on the SNMP definitions.") ] class CIM_DatabaseParameter : CIM_ScopedSettingData { }; // ================================================================== // SNMPDatabaseParameter Class // ================================================================== [Experimental, Version ("2.7.0"), Description ( "The CIM_SNMPDatabaseParameter class extends from " "CIM_DatabaseParameter. This class is included in the " "CIM database schema to provide explicit mapping to the " "way that the SNMP MIB defines database and service " "parameters. More information on the SNMP MIB parameters " "can be found in RFC 1697." "\n" "The SNMP RDBMS MIB defines generic tables that contain " "rows of named database or service configuration " "entries. A parameter entry contains a parameter name, " "description, and value. See the description of the " "rdbmsDbParamTable or the rdbmsSrvParamTable for more " "information on the SNMP definitions.") ] class CIM_SNMPDatabaseParameter : CIM_DatabaseParameter { [Description ("The value of a database or service parameter represented as " "a string."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbParamCurrValue"} ] string ParameterValue; }; // ================================================================== // DatabaseServiceStatistics Class // ================================================================== [Experimental, Version ("2.7.0"), Description ( "The CIM_DatabaseServiceStatistics class contains the " "current statistics for a database service. These are " "counters that are relative to the start of the service " "or from the time when a reset was issued.") ] class CIM_DatabaseServiceStatistics : CIM_StatisticalData { [Description ("The date and time when the most recent inbound " "activity was observed for the database service. A " "value of all zeros indicates that no inbound activity " "has taken place since the service was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLastInboundActivity"} ] datetime LastActivity; [Counter, Description ("The number of active inbound connections that " "are currently using the service."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoapplInboundAssociation"} ] uint64 ActiveConnections; [Counter, Description ("The total number of inbound connections to the service " "since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoapplAccumulated" "InboundAssociations"} ] uint64 CumulativeConnections; [Counter, Description ("The total number of inbound connections that were rejected " "by the service since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoapplRejected" "InboundAssociations"} ] uint64 RejectedConnections; [Counter, Description ("The total number of transactions that have been completed " "by a commit or abort. Some database operations, such as " "read-only queries, may not create a transaction."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoFinishedTransactions"} ] uint64 CompletedTransactions; [Counter, Description ("The total number of database file reads that were issued " "by the service since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoDiskReads"} ] uint64 DiskReads; [Counter, Description ("The total number of database file writes that were issued " "by the service since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoDiskWrites"} ] uint64 DiskWrites; [Counter, Description ("The total number of logical database file reads that were " "issued by the service since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLogicalReads"} ] uint64 LogicalReads; [Counter, Description ("The total number of logical database file writes that were " "issued by the service since it was started. A logical " "write is a count of the number of times that parts of " "database files have been marked dirty to indicate that " "they need to be written to disk."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLogicalWrites"} ] uint64 LogicalWrites; [Counter, Description ("The total number of database pages that have been " "read by the service since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoPageReads"} ] uint64 PageReads; [Counter, Description ("The total number of database pages that have been " "written by the service since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoPageWrites"} ] uint64 PageWrites; [Counter, Description ("The total number of times the database requested disk " "space and it was not available since the service was " "started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoDiskOutOfSpaces"} ] uint64 DiskSpaceUnavailable; [Counter, Description ("The total number of requests that have been " "received by the service since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoHandledRequests"} ] uint64 RequestsHandled; [Counter, Description ("The total number of receive operations made by the service " "during request processing since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoRequestRecvs"} ] uint64 RequestsReceived; [Counter, Description ("The total number of send operations made by the service " "during request processing since it was started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoRequestsSent"} ] uint64 RequestsSent; [Counter, Description ("The maximum number of active inbound connections that " "have been concurrently using the service since it was " "started."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoHighwater" "InboundAssociations"} ] uint64 HighwaterConnections; }; // ================================================================== // CommonDatabaseStatistics Class // ================================================================== [Experimental, Version ("2.7.0"), Description ("The CIM_CommonDatabaseStatistics class contains the " "current statistics for a database.") ] class CIM_CommonDatabaseStatistics : CIM_StatisticalData { [Description ("The estimated amount of disk space (in units) that is " "currently used by the database."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeUsed"} ] uint32 SizeUsed; }; // ================================================================== // DatabaseResourceStatistics Class // ================================================================== [Experimental, Version ("2.7.0"), Description ("The CIM_DatabaseServiceStatistics class contains the " "current statistics for a database resource. This class " "maps to the database and server limited resource tables " "in the SNMP RDBMS MIB as defined in RFC 1697.") ] class CIM_DatabaseResourceStatistics : CIM_StatisticalData { [Counter, Description ("The current value of a limited database resource."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceCurrent"} ] uint64 Current; [Description ("The maximum value that the database resource can attain."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceLimit"} ] uint64 Limit; [Counter, Description ("The number of database resources used measured " "from the time when the first service was started for the " "database. Other external factors, such as an explicit " "reset of the statistics may cause this measurement to " "begin at a later point in time."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceHighwater"} ] uint64 Highwater; [Counter, Description ("The number of times that the system wanted to exceed the " "database resource limit measured from the time when the " "first service was started for the database."), MappingStrings {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceFailures"} ] uint32 Failures; }; // =================================================================== // end of file // ===================================================================