1 karl 1.1 // ===================================================================
2 // Title: Database MOF Specification 2.7
3 // Filename: CIM_Database27.mof
4 // Version: 2.7.0
5 // Status: Preliminary
6 // Date: 07/30/2002
7 // ===================================================================
8 // Copyright 2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description:
45 // The database model provides a set of classes and
46 // associations for managing database systems.
47 // This MOF describes a three level model for a database
48 // environment.
49 // 1) The database system software
50 // 2) The common database entity
51 // 3) The database services which perform tasks for the
52 // database, such as coordinating user access
53 //
54 // The classes and associations provided in this model are
55 // intended to be common across all database organizations
56 // and vendor implementations. The database model
57 // represents the entities, associations, and properties that
58 // at an abstract level are appropriate for all database
59 // organizations and vendor implementations. For readability
60 // purposes, the term database when used in this MOF refers to
61 // the common database entity.
62 //
63 // The database working group has focused its efforts in
64 karl 1.1 // this initial V2.7 release of the database model on
65 // providing content that is consistent with the SNMP RDBMS
66 // MIB (RFC 1697). Future versions of the MOF will extent
67 // the initial set of properties to provide a more
68 // comprehensive model for database management.
69 //
70 // The object classes below are listed in an order that
71 // avoids forward references. Required objects that have been
72 // defined by other working groups are omitted.
73 // ==================================================================
74 // Change Log for v2.7
75 // CR776 - Initial submission of the Database Model
76 // CR847 - InstanceID is the Key of CommonDatabase
77 // ==================================================================
78
79 #pragma Locale ("en-US")
80
81
82 // ==================================================================
83 // Compile prerequisite: Core, User-Security, Application and
84 // System MOFs
85 karl 1.1 // User-Security MOF required - User27_Org.mof
86 // Application MOF required - Application27_DeploymentModel.mof
87 // System MOF required - System27_SystemResources.mof
88 // ==================================================================
89
90
91 // ==================================================================
92 // DatabaseSystem Class
93 // ==================================================================
94
95 [Experimental, Version ("2.7.0"),
96 Description
97 ("The CIM_DatabaseSystem class is used to represent the "
98 "application software portion of a database environment."
99 "\n"
100 "A database environment is composed of a database system "
101 "(the application software represented by this class), one "
102 "or more database services, and one or more databases. "
103 "See the descriptions of CIM_DatabaseService and "
104 "CIM_CommonDatabase to get more detailed information about "
105 "database services and databases."
106 karl 1.1 "\n"
107 "Many of the management capabilities needed to represent "
108 "the software aspects of a database system have already "
109 "been modeled in the CIM_ApplicationSystem class from "
110 "which CIM_DatabaseSystem extends. This class provides a "
111 "logical entity to define the relationships that are "
112 "specific to the database management domain.") ]
113 class CIM_DatabaseSystem : CIM_ApplicationSystem {
114 };
115
116
117 // ==================================================================
118 // CommonDatabase Class
119 // ==================================================================
120
121 [Experimental, Version ("2.7.0"),
122 Description
123 ("A database is a collection of interrelated data, treated "
124 "as a unit, which is organized into one or more schemas. "
125 "The CIM_CommonDatabase class defines the properties that "
126 "are common across database model and vendor "
127 karl 1.1 "implementations for the database entity that is represented "
128 "by the unit of interrelated data."
129 "\n"
130 "Databases are manipulated through one or more "
131 "database services. More detailed information on "
132 "database services is provided in the description of the "
133 "CIM_DatabaseService class."
134 "\n") ]
135 class CIM_CommonDatabase : CIM_EnabledLogicalElement {
136
137 [Key, Description(
138 "InstanceID opaquely identifies a specific instance of "
139 "CommonDatabase. The InstanceID must be unique within a "
140 "namespace. In order to ensure uniqueness, the value of "
141 "InstanceID SHOULD be constructed in the following manner: \n"
142 "<Vendor ID><ID> \n"
143 " <Vendor ID> MUST include a copyrighted, trademarked "
144 "or otherwise unique name that is owned by the business "
145 "entity or a registered ID that is assigned to the business "
146 "entity that is defining the InstanceID. (This is similar to "
147 "the <Schema Name>_<Class Name> structure of Schema class "
148 karl 1.1 "names.) The purpose of <Vendor ID> is to ensure that <ID> "
149 "is truly unique across multiple vendor implementations. "
150 "If such a name is not used, the defining entity MUST assure "
151 "that the <ID> portion of the Instance ID is unique when "
152 "compared with other instance providers. For DMTF defined "
153 "instances, the <Vendor ID> is 'CIM'. \n"
154 " <ID> MUST include a vendor specified unique "
155 "identifier.") ]
156 string InstanceID;
157
158 [Description
159 ("The version number for the database. If the version is not "
160 "relevant, the value for this property must be set to NULL."),
161 MappingStrings
162 {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoVersion"} ]
163 string DatabaseVersion;
164
165 [Description
166 ("The date and time when the latest complete or partial "
167 "backup of the database was performed. If the "
168 "database has never been backed up, then this "
169 karl 1.1 "property has no meaning. The value of this property "
170 "should be set to all zeros if the database has never "
171 "been backed up."),
172 MappingStrings
173 {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoLastBackup"} ]
174 datetime LastBackup;
175
176 [Description
177 ("The estimated amount of disk space (in units) that has been "
178 "reserved for database use."),
179 MappingStrings
180 {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeAllocated"} ]
181 uint32 SizeAllocated;
182
183 [Description
184 ("The units for the SizeAllocated property and the SizeUsed "
185 "property that is defined in the "
186 "CIM_CommonDatabaseStatistics class. Mapping is 1 - Bytes, "
187 "2 - Kilobytes, 3 - Megabytes, 4 - Gigabytes and "
188 "5 - Terabytes."),
189 ValueMap {"1", "2", "3", "4", "5"},
190 karl 1.1 Values {"Bytes", "Kilobyes", "Megabytes", "Gigabytes",
191 "Terabytes"},
192 MappingStrings
193 {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeUnits"} ]
194 uint16 SizeUnits;
195 };
196
197
198 // ==================================================================
199 // AssociatedDatabaseSystem Association
200 // ==================================================================
201
202 [Association, Experimental, Version ("2.7.0"),
203 Description
204 ("The CIM_AssociatedDatabaseSystem association identifies "
205 "the database system that is responsible for the database.") ]
206 class CIM_AssociatedDatabaseSystem : CIM_Dependency {
207
208 [Override ("Antecedent"), Min (1),
209 Description
210 ("The database system that is responsible for the "
211 karl 1.1 "database.") ]
212 CIM_DatabaseSystem REF Antecedent;
213
214 [Override ("Dependent"),
215 Description
216 ("The database.") ]
217 CIM_CommonDatabase REF Dependent;
218 };
219
220
221 // ==================================================================
222 // DatabaseAdministrator Association
223 // ==================================================================
224
225 [Association, Experimental, Version ("2.7.0"),
226 Description
227 ( "The CIM_DatabaseAdministrator association identifies "
228 "a CIM_UserEntity as a database administrator "
229 "of a CIM_CommonDatabase.") ]
230 class CIM_DatabaseAdministrator : CIM_Dependency {
231
232 karl 1.1 [Override ("Antecedent"),
233 Description
234 ("The database that is being administered.") ]
235 CIM_CommonDatabase REF Antecedent;
236
237 [Override ("Dependent"),
238 Description
239 ("The user entity who is responsible for the administration "
240 "of the database.") ]
241 CIM_UserEntity REF Dependent;
242 };
243
244
245 // ==================================================================
246 // DatabaseService Class
247 // ==================================================================
248
249 [Experimental, Version ("2.7.0"),
250 Description
251 ("Database services perform tasks for a database. "
252 "Examples of tasks that are performed by a database service "
253 karl 1.1 "include providing user access to the database, performing "
254 "data and metadata manipulation, database administration, "
255 "and maintenance operations."
256 "\n"
257 "One or more database services can perform tasks for a "
258 "database. The database services can reside on "
259 "the same computer system as the database or on "
260 "different computer systems. Database services may be "
261 "implemented as one or more processes.") ]
262 class CIM_DatabaseService : CIM_Service {
263
264 [Description
265 ("The date and time when the database service was last "
266 "started. If the database service has an OperationalStatus "
267 "of Stopped or Starting, then this value is not meaningful "
268 "and the contents MUST be set to zeros."),
269 MappingStrings
270 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoStartupTime"} ]
271 datetime StartupTime;
272
273 [Override ("OperationalStatus"),
274 karl 1.1 Description
275 ("This property contains the operational status of the "
276 "database service. OK means that the database service is "
277 "operational and available for general use. Stopped "
278 "means that the service is unavailable and cannot be "
279 "used. Service implies an administrative state of "
280 "unavailability. Degraded means that the database "
281 "service is operating at a less than optimal level. "
282 "Starting means that the database service is in the "
283 "process of becoming operational."
284 "\n"
285 "These status values map to the RFC1697 OperStatus "
286 "values as follows: OK - UP, Stopped - DOWN, "
287 "In Service - HALTED, Stressed - CONGESTED, and "
288 "Starting - RESTARTING. Any additional status variables "
289 "that are defined are CIM specific."),
290 MappingStrings
291 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoOperStatus"} ]
292 uint16 OperationalStatus[];
293
294 [Description
295 karl 1.1 ("The date and time when the status of the database "
296 "service last changed."),
297 MappingStrings
298 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLastChange"} ]
299 datetime LastStatusChangeTime;
300
301 [Description
302 ("The maximum number of active inbound connections that "
303 "can be concurrently opened on the service."),
304 MappingStrings
305 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoMaxInboundAssociations"} ]
306 uint32 ConnectionLimit;
307 };
308
309
310 // ==================================================================
311 // ServiceAvailableToDatabase Association
312 // ==================================================================
313
314 [Association, Experimental, Version ("2.7.0"),
315 Description
316 karl 1.1 ("The CIM_ServiceAvailableToDatabase association relates "
317 "databases to the database services that are available "
318 "for database use.") ]
319 class CIM_ServiceAvailableToDatabase : CIM_ServiceAvailableToElement {
320
321 [Override ("ServiceProvided"),
322 Description
323 ("The database service that is providing service.") ]
324 CIM_DatabaseService REF ServiceProvided;
325
326 [Override ("UserOfService"),
327 Description
328 ("The database that is being served.") ]
329 CIM_CommonDatabase REF UserOfService;
330
331 [Description
332 ("The AvailableState property indicates the current state of "
333 "a database service regarding its ability to access a "
334 "specific database. A service can be actively using a "
335 "database (ACTIVE), or it can be waiting for a task to "
336 "perform (AVAILABLE), or the service can be less than "
337 karl 1.1 "completely available for use by the database (RESTRICTED), "
338 "or the database is not accessible from this "
339 "service (UNAVAILABLE). Any service states that do not "
340 "match one of these values should specify (OTHER)."),
341 ValueMap {"1", "2", "3", "4", "5"},
342 Values {"Other", "Active", "Available", "Restricted",
343 "Unavailable"},
344 MappingStrings
345 {"MIB.IETF|RDBMS-MIB.rdbmsRelState"},
346 ModelCorrespondence
347 {"CIM_ServiceAvailableToDatabase.OtherAvailableState"} ]
348 uint16 AvailableState;
349
350 [Description
351 ("A string describing the service's available state when "
352 "the AvailableState property is set to 1 (\"Other\"). This "
353 "property MUST be set to NULL when AvailableState "
354 "is any value other than 1."),
355 ModelCorrespondence
356 {"CIM_ServiceAvailableToDatabase.AvailableState"} ]
357 string OtherAvailableState;
358 karl 1.1
359 [Description
360 ("The time that the database was made active by this "
361 "service. If the AvailableState property is not "
362 "active, then the value of this property MUST be set "
363 "to zero."),
364 MappingStrings
365 {"MIB.IETF|RDBMS-MIB.rdbmsRelActiveTime"} ]
366 datetime ActiveTime;
367 };
368
369
370 // ==================================================================
371 // DatabaseParameter Class
372 // ==================================================================
373
374 [Abstract, Experimental, Version ("2.7.0"),
375 Description
376 ("The CIM_DatabaseParameter class extends from "
377 "CIM_ScopedSettingData. This is an abstract class that "
378 "specifies the database and service configuration "
379 karl 1.1 "parameters that are common across database models and "
380 "vendor implementations."
381 "\n"
382 "The SNMP RDBMS MIB defines database and service "
383 "parameters as name/value pair combinations rather than "
384 "as specific named properties of the class. In order "
385 "to maintain a consistent mapping between SNMP and CIM "
386 "a CIM_SNMPDatabaseParameter class extends from the "
387 "abstract CIM_DatabaseParameter class which defines "
388 "parameters as a name value pair."
389 "\n"
390 "In a future release of the database MOF, the working "
391 "group may choose to create a new class that extends "
392 "from CIM_DatabaseParameter that specifies properties "
393 "for common configuration parameters."
394 "\n"
395 "The parameter context for a specific database or database "
396 "service is established by collecting the SettingData "
397 "using the CIM_ElementProfile association."
398 "\n"
399 "The SNMP RDBMS MIB defines generic tables that contain "
400 karl 1.1 "rows of named database or service configuration "
401 "entries. A parameter entry contains a parameter name, "
402 "description, and value. See the description of the "
403 "rdbmsDbParamTable or the rdbmsSrvParamTable for more "
404 "information on the SNMP definitions.") ]
405 class CIM_DatabaseParameter : CIM_ScopedSettingData {
406 };
407
408
409 // ==================================================================
410 // SNMPDatabaseParameter Class
411 // ==================================================================
412
413 [Experimental, Version ("2.7.0"),
414 Description
415 ( "The CIM_SNMPDatabaseParameter class extends from "
416 "CIM_DatabaseParameter. This class is included in the "
417 "CIM database schema to provide explicit mapping to the "
418 "way that the SNMP MIB defines database and service "
419 "parameters. More information on the SNMP MIB parameters "
420 "can be found in RFC 1697."
421 karl 1.1 "\n"
422 "The SNMP RDBMS MIB defines generic tables that contain "
423 "rows of named database or service configuration "
424 "entries. A parameter entry contains a parameter name, "
425 "description, and value. See the description of the "
426 "rdbmsDbParamTable or the rdbmsSrvParamTable for more "
427 "information on the SNMP definitions.") ]
428 class CIM_SNMPDatabaseParameter : CIM_DatabaseParameter {
429
430 [Description
431 ("The value of a database or service parameter represented as "
432 "a string."),
433 MappingStrings
434 {"MIB.IETF|RDBMS-MIB.rdbmsDbParamCurrValue"} ]
435 string ParameterValue;
436 };
437
438
439 // ==================================================================
440 // DatabaseServiceStatistics Class
441 // ==================================================================
442 karl 1.1
443 [Experimental, Version ("2.7.0"),
444 Description
445 ( "The CIM_DatabaseServiceStatistics class contains the "
446 "current statistics for a database service. These are "
447 "counters that are relative to the start of the service "
448 "or from the time when a reset was issued.") ]
449 class CIM_DatabaseServiceStatistics : CIM_StatisticalData {
450
451 [Description
452 ("The date and time when the most recent inbound "
453 "activity was observed for the database service. A "
454 "value of all zeros indicates that no inbound activity "
455 "has taken place since the service was started."),
456 MappingStrings
457 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLastInboundActivity"} ]
458 datetime LastActivity;
459
460 [Counter, Description
461 ("The number of active inbound connections that "
462 "are currently using the service."),
463 karl 1.1 MappingStrings
464 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoapplInboundAssociation"} ]
465 uint64 ActiveConnections;
466
467 [Counter, Description
468 ("The total number of inbound connections to the service "
469 "since it was started."),
470 MappingStrings
471 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoapplAccumulated"
472 "InboundAssociations"} ]
473 uint64 CumulativeConnections;
474
475 [Counter, Description
476 ("The total number of inbound connections that were rejected "
477 "by the service since it was started."),
478 MappingStrings
479 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoapplRejected"
480 "InboundAssociations"} ]
481 uint64 RejectedConnections;
482
483 [Counter, Description
484 karl 1.1 ("The total number of transactions that have been completed "
485 "by a commit or abort. Some database operations, such as "
486 "read-only queries, may not create a transaction."),
487 MappingStrings
488 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoFinishedTransactions"} ]
489 uint64 CompletedTransactions;
490
491 [Counter, Description
492 ("The total number of database file reads that were issued "
493 "by the service since it was started."),
494 MappingStrings
495 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoDiskReads"} ]
496 uint64 DiskReads;
497
498 [Counter, Description
499 ("The total number of database file writes that were issued "
500 "by the service since it was started."),
501 MappingStrings
502 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoDiskWrites"} ]
503 uint64 DiskWrites;
504
505 karl 1.1 [Counter, Description
506 ("The total number of logical database file reads that were "
507 "issued by the service since it was started."),
508 MappingStrings
509 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLogicalReads"} ]
510 uint64 LogicalReads;
511
512 [Counter, Description
513 ("The total number of logical database file writes that were "
514 "issued by the service since it was started. A logical "
515 "write is a count of the number of times that parts of "
516 "database files have been marked dirty to indicate that "
517 "they need to be written to disk."),
518 MappingStrings
519 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLogicalWrites"} ]
520 uint64 LogicalWrites;
521
522 [Counter, Description
523 ("The total number of database pages that have been "
524 "read by the service since it was started."),
525 MappingStrings
526 karl 1.1 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoPageReads"} ]
527 uint64 PageReads;
528
529 [Counter, Description
530 ("The total number of database pages that have been "
531 "written by the service since it was started."),
532 MappingStrings
533 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoPageWrites"} ]
534 uint64 PageWrites;
535
536 [Counter, Description
537 ("The total number of times the database requested disk "
538 "space and it was not available since the service was "
539 "started."),
540 MappingStrings
541 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoDiskOutOfSpaces"} ]
542 uint64 DiskSpaceUnavailable;
543
544 [Counter, Description
545 ("The total number of requests that have been "
546 "received by the service since it was started."),
547 karl 1.1 MappingStrings
548 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoHandledRequests"} ]
549 uint64 RequestsHandled;
550
551 [Counter, Description
552 ("The total number of receive operations made by the service "
553 "during request processing since it was started."),
554 MappingStrings
555 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoRequestRecvs"} ]
556 uint64 RequestsReceived;
557
558 [Counter, Description
559 ("The total number of send operations made by the service "
560 "during request processing since it was started."),
561 MappingStrings
562 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoRequestsSent"} ]
563 uint64 RequestsSent;
564
565 [Counter, Description
566 ("The maximum number of active inbound connections that "
567 "have been concurrently using the service since it was "
568 karl 1.1 "started."),
569 MappingStrings
570 {"MIB.IETF|RDBMS-MIB.rdbmsSrvInfoHighwater"
571 "InboundAssociations"} ]
572 uint64 HighwaterConnections;
573 };
574
575
576 // ==================================================================
577 // CommonDatabaseStatistics Class
578 // ==================================================================
579
580 [Experimental, Version ("2.7.0"),
581 Description
582 ("The CIM_CommonDatabaseStatistics class contains the "
583 "current statistics for a database.") ]
584 class CIM_CommonDatabaseStatistics : CIM_StatisticalData {
585
586 [Description
587 ("The estimated amount of disk space (in units) that is "
588 "currently used by the database."),
589 karl 1.1 MappingStrings
590 {"MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeUsed"} ]
591 uint32 SizeUsed;
592 };
593
594
595 // ==================================================================
596 // DatabaseResourceStatistics Class
597 // ==================================================================
598
599 [Experimental, Version ("2.7.0"),
600 Description
601 ("The CIM_DatabaseServiceStatistics class contains the "
602 "current statistics for a database resource. This class "
603 "maps to the database and server limited resource tables "
604 "in the SNMP RDBMS MIB as defined in RFC 1697.") ]
605 class CIM_DatabaseResourceStatistics : CIM_StatisticalData {
606
607 [Counter, Description
608 ("The current value of a limited database resource."),
609 MappingStrings
610 karl 1.1 {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceCurrent"} ]
611 uint64 Current;
612
613 [Description
614 ("The maximum value that the database resource can attain."),
615 MappingStrings
616 {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceLimit"} ]
617 uint64 Limit;
618
619 [Counter, Description
620 ("The number of database resources used measured "
621 "from the time when the first service was started for the "
622 "database. Other external factors, such as an explicit "
623 "reset of the statistics may cause this measurement to "
624 "begin at a later point in time."),
625 MappingStrings
626 {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceHighwater"} ]
627 uint64 Highwater;
628
629 [Counter, Description
630 ("The number of times that the system wanted to exceed the "
631 karl 1.1 "database resource limit measured from the time when the "
632 "first service was started for the database."),
633 MappingStrings
634 {"MIB.IETF|RDBMS-MIB.rdbmsDbLimitedResourceFailures"} ]
635 uint32 Failures;
636 };
637
638
639 // ===================================================================
640 // end of file
641 // ===================================================================
|