1 karl 1.1 // ===================================================================
2 // Title: Database System
3 // $State: Preliminary $
4 // $Date: 2004/06/29 22:40:04 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Database_System.mof,v $
6 // $Revision: 1.5 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 karl 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 karl 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description:
47 // This file contains the classes and associations that are
48 // related to the database system, how it is deployed, and the
49 // runtime aspects of the database environment.
50 //
51 // ===================================================================
52 // Change Log for V2.9 Preliminary
53 // CR1257 - Added DatabaseCharacteristics property to CommonDatabase
54 // CR1295 - Changes to descriptions to support RFC2119
55 // CR1431 - Missing experimental qualifier on DatabaseCharacteristics
56 // and OtherDatabaseCharacteristics properties
57 //
58 // Change Log for V2.8 Final
59 // CR1150 - Deprecate LastStatusChangeTime
60 // CR1179 - Update CIM_DatabaseSystem Description
61 //
62 // Change Log for V2.8 Preliminary
63 // CR1087 - Update DatabaseAdministrator description to reference
64 karl 1.1 // UserContact
65 // ==================================================================
66
67 #pragma Locale ("en-US")
68
69 // ==================================================================
70 // DatabaseSystem
71 // ==================================================================
72 [Version ( "2.7.0" ), Description (
73 "A database environment is composed of a database system (the "
74 "application system represented by this class), one or more "
75 "database services, and one or more databases. See the "
76 "descriptions of CIM_DatabaseService and CIM_CommonDatabase to "
77 "get more detailed information about database services and "
78 "databases. \n"
79 "Each separately manageable database system SHOULD have an "
80 "instance in this class. This class can be used: \n"
81 "- to determine the software that belongs to the database "
82 "system. \n"
83 "- to perform database system wide management operations, such "
84 "as stopping all the databases that were created by the "
85 karl 1.1 "database system for maintenance purposes. \n"
86 "- to view runtime statistics in the context of a database "
87 "system. \n"
88 "Many of the management capabilities needed to represent a "
89 "database system as an application system have already been "
90 "modeled in the CIM_ApplicationSystem class from which "
91 "CIM_DatabaseSystem extends. CIM_DatabaseSystem provides a "
92 "logical entity to define the relationships that are specific "
93 "to the database management domain.")]
94 class CIM_DatabaseSystem : CIM_ApplicationSystem {
95 };
96
97
98 // ==================================================================
99 // CommonDatabase
100 // ==================================================================
101 [Version ( "2.8.1000" ), Description (
102 "A database is a collection of interrelated data, treated as a "
103 "unit, which is organized into one or more schemas. The "
104 "CIM_CommonDatabase class defines the properties that are "
105 "common across database model and vendor implementations for "
106 karl 1.1 "the database entity that is represented by the unit of "
107 "interrelated data. \n"
108 "Databases are manipulated through one or more database "
109 "services. More detailed information on database services is "
110 "provided in the description of the CIM_DatabaseService class.")]
111 class CIM_CommonDatabase : CIM_EnabledLogicalElement {
112
113 [Key, Description (
114 "Within the scope of the instantiating Namespace, InstanceID "
115 "opaquely and uniquely identifies an instance of this class. "
116 "In order to ensure uniqueness within the NameSpace, the "
117 "value of InstanceID SHOULD be constructed using the "
118 "following 'preferred' algorithm: \n"
119 "<OrgID>:<LocalID> \n"
120 "Where <OrgID> and <LocalID> are separated by a colon ':', "
121 "and where <OrgID> MUST include a copyrighted, trademarked "
122 "or otherwise unique name that is owned by the business "
123 "entity creating/defining the InstanceID, or is a registered "
124 "ID that is assigned to the business entity by a recognized "
125 "global authority. (This is similar to the <Schema "
126 "Name>_<Class Name> structure of Schema class names.) In "
127 karl 1.1 "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
128 "colon (':'). When using this algorithm, the first colon to "
129 "appear in InstanceID MUST appear between <OrgID> and "
130 "<LocalID>. \n"
131 "<LocalID> is chosen by the business entity and SHOULD not "
132 "be re-used to identify different underlying (real-world) "
133 "elements. If the above 'preferred' algorithm is not used, "
134 "the defining entity MUST assure that the resultant "
135 "InstanceID is not re-used across any InstanceIDs produced "
136 "by this or other providers for this instance's NameSpace. \n"
137 "For DMTF defined instances, the 'preferred' algorithm MUST "
138 "be used with the <OrgID> set to 'CIM'.")]
139 string InstanceID;
140
141 [Description (
142 "The version number for the database. If the version is not "
143 "relevant, the value for this property MUST be set to NULL."),
144 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsDbInfoVersion" }]
145 string DatabaseVersion;
146
147 [Description (
148 karl 1.1 "The date and time when the latest complete or partial "
149 "backup of the database was performed. If the database has "
150 "never been backed up, then this property has no meaning. "
151 "The value of this property SHOULD be set to all zeros if "
152 "the database has never been backed up."),
153 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsDbInfoLastBackup" }]
154 datetime LastBackup;
155
156 [Description (
157 "The estimated amount of disk space (in units) that has been "
158 "reserved for database use."),
159 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeAllocated" }]
160 uint32 SizeAllocated;
161
162 [Description (
163 "The units for the SizeAllocated property and the SizeUsed "
164 "property that is defined in the "
165 "CIM_CommonDatabaseStatistics class. Mapping is 1 - Bytes, 2 "
166 "- Kilobytes, 3 - Megabytes, 4 - Gigabytes and 5 - "
167 "Terabytes."),
168 ValueMap { "1", "2", "3", "4", "5" },
169 karl 1.1 Values { "Bytes", "Kilobyes", "Megabytes", "Gigabytes",
170 "Terabytes" },
171 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsDbInfoSizeUnits" }]
172 uint16 SizeUnits;
173
174 [Experimental, Description (
175 "This array provides a place to represent characteristics of "
176 "a database which are essentially boolean in nature. "
177 "Presence of a particular value in this array indicates that "
178 "the database has the characteristic while absence of a "
179 "particular value indicates that the database does not have "
180 "the characteristic. \n"
181 "A value of \"Other\" indicates that the characteristic is "
182 "not in the defined range of values for "
183 "DatabaseCharacteristics and MUST be further described in "
184 "the corresponding entry of OtherDatabaseCharacteristics. A "
185 "value of \"Cluster\" indicates that the CommonDatabase is "
186 "part of a database cluster. A value of \"Distributed\" "
187 "indicates that the CommonDatabase is distributed over "
188 "multiple systems. Values in the \"DMTF Reserved\" range are "
189 "reserved for future expansion of the standard and MUST not "
190 karl 1.1 "be used. Values in the \"Vendor Specific\" range are set "
191 "aside for vendor extensions to the standard and MUST be "
192 "accompanied by further description in the corresponding "
193 "entry in OtherDatabaseCharacteristics."),
194 ValueMap { "1", "2", "3", "4..32767", "32768..65535" },
195 Values { "Other", "Cluster", "Distributed", "DMTF Reserved",
196 "Vendor Specific" }, ArrayType ( "Indexed" ),
197 ModelCorrespondence {
198 "CIM_CommonDatabase.OtherDatabaseCharacteristics" }]
199 uint16 DatabaseCharacteristics[];
200
201 [Experimental, Description (
202 "When the corresponding array entry in "
203 "DatabaseCharacteristics[] is \"Other\", the entry in this "
204 "array MUST contain a string describing the database "
205 "characteristic not otherwise included in the range of "
206 "values. An entry in this array MAY be used to provide "
207 "additional information about the corresponding entry in "
208 "DatabaseCharacteristics regardless of the value in "
209 "DatabaseCharacteristics and MUST be used to describe the "
210 "meaning behind values in the \"Vendor Specific\" range. It "
211 karl 1.1 "is RECOMMENDED that this array be used to describe new "
212 "values added from the \"DMTF Reserved\" range in future "
213 "versions in order to provide some level of forward "
214 "functionality for prior-version clients."),
215 ArrayType ( "Indexed" ),
216 ModelCorrespondence {
217 "CIM_CommonDatabase.DatabaseCharacteristics" }]
218 string OtherDatabaseCharacteristics[];
219
220 };
221
222
223 // ==================================================================
224 // AssociatedDatabaseSystem
225 // ==================================================================
226 [Association, Version ( "2.7.0" ), Description (
227 "The CIM_AssociatedDatabaseSystem association identifies the "
228 "database system that is responsible for the database.")]
229 class CIM_AssociatedDatabaseSystem : CIM_Dependency {
230
231 [Override ( "Antecedent" ), Min ( 1 ), Description (
232 karl 1.1 "The database system that is responsible for the database.")]
233 CIM_DatabaseSystem REF Antecedent;
234
235 [Override ( "Dependent" ), Description (
236 "The database.")]
237 CIM_CommonDatabase REF Dependent;
238 };
239
240
241 // ==================================================================
242 // DatabaseAdministrator
243 // ==================================================================
244 [Association, Version ( "2.7.0" ), Description (
245 "The DatabaseAdministrator association identifies a UserEntity "
246 "as a database administrator of a CommonDatabase. \n"
247 "The current version of CIM includes a UserContact class that "
248 "is concrete and extends from UserEntity. UserContact contains "
249 "the information needed to contact a database administrator. "
250 "The DatabaseAdministrator association SHOULD be implemented "
251 "through the UserContact class in favor creating a vendor "
252 "specific concrete class to define database administrator "
253 karl 1.1 "contact information.")]
254 class CIM_DatabaseAdministrator : CIM_Dependency {
255
256 [Override ( "Antecedent" ), Description (
257 "The database that is being administered.")]
258 CIM_CommonDatabase REF Antecedent;
259
260 [Override ( "Dependent" ), Description (
261 "The user entity who is responsible for the administration "
262 "of the database.")]
263 CIM_UserEntity REF Dependent;
264 };
265
266
267 // ==================================================================
268 // DatabaseService
269 // ==================================================================
270 [Version ( "2.7.0" ), Description (
271 "Database services perform tasks for a database. Examples of "
272 "tasks that are performed by a database service include "
273 "providing user access to the database, performing data and "
274 karl 1.1 "metadata manipulation, database administration, and "
275 "maintenance operations. \n"
276 "One or more database services can perform tasks for a "
277 "database. The database services can reside on the same "
278 "computer system as the database or on different computer "
279 "systems. Database services MAY be implemented as one or more "
280 "processes.")]
281 class CIM_DatabaseService : CIM_Service {
282
283 [Description (
284 "The date and time when the database service was last "
285 "started. If the database service has an OperationalStatus "
286 "of Stopped or Starting, then this value is not meaningful "
287 "and the contents MUST be set to zeros."),
288 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsSrvInfoStartupTime" }]
289 datetime StartupTime;
290
291 [Override ( "OperationalStatus" ), Description (
292 "This property contains the operational status of the "
293 "database service. OK means that the database service is "
294 "operational and available for general use. Stopped means "
295 karl 1.1 "that the service is unavailable and cannot be used. Service "
296 "implies an administrative state of unavailability. Degraded "
297 "means that the database service is operating at a less than "
298 "optimal level. Starting means that the database service is "
299 "in the process of becoming operational. \n"
300 "These status values map to the RFC1697 OperStatus values as "
301 "follows: OK - UP, Stopped - DOWN, In Service - HALTED, "
302 "Stressed - CONGESTED, and Starting - RESTARTING. Any "
303 "additional status variables that are defined are CIM "
304 "specific."),
305 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsSrvInfoOperStatus" }]
306 uint16 OperationalStatus[];
307
308 [Deprecated { "CIM_EnabledLogicalElement.TimeOfLastStateChange" },
309 Description (
310 "The LastStatusChangeTime property is deprecated in lieu of "
311 "the TimeOfLastStateChange property that is inherited from "
312 "CIM_EnabledLogicalElement. The date and time when the "
313 "status of the database service last changed."),
314 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLastChange" }]
315 datetime LastStatusChangeTime;
316 karl 1.1
317 [Override ( "TimeOfLastStateChange" ),
318 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsSrvInfoLastChange" }]
319 datetime TimeOfLastStateChange;
320
321 [Description (
322 "The maximum number of active inbound connections that can "
323 "be concurrently opened on the service."),
324 MappingStrings {
325 "MIB.IETF|RDBMS-MIB.rdbmsSrvInfoMaxInboundAssociations" }]
326 uint32 ConnectionLimit;
327 };
328
329
330 // ==================================================================
331 // ServiceAvailableToDatabase
332 // ==================================================================
333 [Association, Version ( "2.7.0" ), Description (
334 "The CIM_ServiceAvailableToDatabase association relates "
335 "databases to the database services that are available for "
336 "database use.")]
337 karl 1.1 class CIM_ServiceAvailableToDatabase : CIM_ServiceAvailableToElement {
338
339 [Override ( "ServiceProvided" ), Description (
340 "The database service that is providing service.")]
341 CIM_DatabaseService REF ServiceProvided;
342
343 [Override ( "UserOfService" ), Description (
344 "The database that is being served.")]
345 CIM_CommonDatabase REF UserOfService;
346
347 [Description (
348 "The AvailableState property indicates the current state of "
349 "a database service regarding its ability to access a "
350 "specific database. A service can be actively using a "
351 "database (ACTIVE), or it can be waiting for a task to "
352 "perform (AVAILABLE), or the service can be less than "
353 "completely available for use by the database (RESTRICTED), "
354 "or the database is not accessible from this service "
355 "(UNAVAILABLE). Any service states that do not match one of "
356 "these values SHOULD specify (OTHER)."),
357 ValueMap { "1", "2", "3", "4", "5" },
358 karl 1.1 Values { "Other", "Active", "Available", "Restricted",
359 "Unavailable" },
360 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsRelState" },
361 ModelCorrespondence {
362 "CIM_ServiceAvailableToDatabase.OtherAvailableState" }]
363 uint16 AvailableState;
364
365 [Description (
366 "A string describing the service's available state when the "
367 "AvailableState property is set to 1 (\"Other\"). This "
368 "property MUST be set to NULL when AvailableState is any "
369 "value other than 1."),
370 ModelCorrespondence {
371 "CIM_ServiceAvailableToDatabase.AvailableState" }]
372 string OtherAvailableState;
373
374 [Description (
375 "The time that the database was made active by this service. "
376 "If the AvailableState property is not active, then the "
377 "value of this property MUST be set to zero."),
378 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsRelActiveTime" }]
379 karl 1.1 datetime ActiveTime;
380 };
381
382
383 // ==================================================================
384 // DatabaseParameter
385 // ==================================================================
386 [Abstract, Version ( "2.7.0" ), Description (
387 "The CIM_DatabaseParameter class extends from "
388 "CIM_ScopedSettingData. This is an abstract class that "
389 "specifies the database and service configuration parameters "
390 "that are common across database models and vendor "
391 "implementations. \n"
392 "The SNMP RDBMS MIB defines database and service parameters as "
393 "name/value pair combinations rather than as specific named "
394 "properties of the class. In order to maintain a consistent "
395 "mapping between SNMP and CIM a CIM_SNMPDatabaseParameter class "
396 "extends from the abstract CIM_DatabaseParameter class which "
397 "defines parameters as a name value pair. \n"
398 "In a future release of the database MOF, the working group MAY "
399 "choose to create a new class that extends from "
400 karl 1.1 "CIM_DatabaseParameter that specifies properties for common "
401 "configuration parameters. \n"
402 "The parameter context for a specific database or database "
403 "service is established by collecting the SettingData using the "
404 "CIM_ElementProfile association. \n"
405 "The SNMP RDBMS MIB defines generic tables that contain rows of "
406 "named database or service configuration entries. A parameter "
407 "entry contains a parameter name, description, and value. See "
408 "the description of the rdbmsDbParamTable or the "
409 "rdbmsSrvParamTable for more information on the SNMP "
410 "definitions.")]
411 class CIM_DatabaseParameter : CIM_ScopedSettingData {
412 };
413
414
415 // ==================================================================
416 // SNMPDatabaseParameter
417 // ==================================================================
418 [Version ( "2.7.0" ), Description (
419 "The CIM_SNMPDatabaseParameter class extends from "
420 "CIM_DatabaseParameter. This class is included in the CIM "
421 karl 1.1 "database schema to provide explicit mapping to the way that "
422 "the SNMP MIB defines database and service parameters. More "
423 "information on the SNMP MIB parameters can be found in RFC "
424 "1697. \n"
425 "The SNMP RDBMS MIB defines generic tables that contain rows of "
426 "named database or service configuration entries. A parameter "
427 "entry contains a parameter name, description, and value. See "
428 "the description of the rdbmsDbParamTable or the "
429 "rdbmsSrvParamTable for more information on the SNMP "
430 "definitions.")]
431 class CIM_SNMPDatabaseParameter : CIM_DatabaseParameter {
432
433 [Description (
434 "The value of a database or service parameter represented as "
435 "a string."),
436 MappingStrings { "MIB.IETF|RDBMS-MIB.rdbmsDbParamCurrValue" }]
437 string ParameterValue;
438 };
439
440 // ===================================================================
441 // end of file
442 karl 1.1 // ===================================================================
|