1 tony 1.1 // ===================================================================
2 // Title: Database MOF Specification 2.8
3 // Filename: Database28_Storage.mof
4 // Version: 2.8
5 // Release: Preliminary
6 // Date: 08/18/03
7 // ===================================================================
8 // Copyright 1998-2003 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 tony 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 tony 1.1 // ===================================================================
44 // Description:
45 // This file contains the classes and associations that define
46 // the manageable entities that are relevant for database storage.
47 //
48 // ===================================================================
49 // Change Log for 2.8 Preliminary
50 // CR929 - Model changes for database storage
51 // CR1084 - Remove redundant database segment properties
52 // CR1085 - Add InitialExtentSize setting to DatabaseSegmentSettingData
53 // CR1086 - Move NumberOfFreeLists to DatabaseSegmentSettingData
54 // CR1088 - Refine the description of DatabaseSegmentSettingData
55 // CR1121 - Correct the placement for database recovery settings and
56 // capabilities
57 // CR1128 - Introduce HostedDependency into the Hierarchy
58 // ==================================================================
59
60 // ===================================================================
61 // DatabaseSegment
62 // ===================================================================
63 [Experimental, Version ("2.7.1000"), Description (
64 tony 1.1 "A database segment is a logical storage entity composed of one "
65 "or more storage extents, each of which may have one or more "
66 "database blocks. Database segments have various types "
67 "depending on their purpose. Note that the order of extents "
68 "within a DatabaseSegment should be represented in the BasedOn "
69 "dependency of CIM_StorageExtent via the BasedOn.OrderIndex "
70 "attribute.") ]
71 class CIM_DatabaseSegment : CIM_StorageExtent {
72
73 [Override ("Purpose"), Description (
74 "The purpose of this segment within the context of the "
75 "database. A value of \"Data\" indicates that this segment "
76 "contains data for database area. A value of \"Data "
77 "Partition\" indicates this segment contains a portion of a "
78 "partitioned data area. A value of \"Data Cluster\" "
79 "indicates that this segment contains a portion of a "
80 "clustered database area. A value of \"Index\" indicates "
81 "that this segment contains index information. A value of "
82 "\"Index Partition\" indicates that this segment contains a "
83 "portion of a partitioned index. A value of \"LOB\" "
84 "indicates that this segment is used to hold large objects "
85 tony 1.1 "such as Binary Large Object (BLOB) or Character Large "
86 "Object (CLOB) entities. A value of \"LOB Index\" indicates "
87 "that this segment is used to hold index information "
88 "relevant to a \"LOB\" segment. A value of \"Undo\" "
89 "indicates that this segment contains undo or rollback "
90 "information that may be used to reverse operations applied "
91 "to a database. A value of \"Snapshot\" indicates that this "
92 "segment is used to represent a portion of the database at a "
93 "previous point-in-time. A value of \"Temp\" indicates that "
94 "this segment is used as temporary space for database "
95 "operations. A value of \"Other\" indicates that the "
96 "segment is used for something other than any of the listed "
97 "purposes and requires further description in the "
98 "OtherPurpose attribute. Using a value of \"Other\" would "
99 "generally indicate a need to extend the model to include an "
100 "additional purpose."),
101 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
102 "11"},
103 Values {"Other", "Data", "Data Partition", "Data Cluster",
104 "Index", "Index Partition", "LOB", "LOB Index", "Undo",
105 "Snapshot", "Temp"},
106 tony 1.1 ModelCorrespondence {"CIM_DatabaseSegment.OtherPurpose"} ]
107 string Purpose;
108
109 [Description (
110 "The purpose of this segment when the Purpose attribute has "
111 "a value of \"Other\". This attribute should be null in all "
112 "other cases."),
113 ModelCorrespondence {"CIM_DatabaseSegment.Purpose"} ]
114 string OtherPurpose;
115 };
116
117 // ===================================================================
118 // DatabaseStorageArea
119 // ===================================================================
120 [Experimental, Version ("2.7.1000"), Description (
121 "Databases as modeled by instances of the CommonDatabase class "
122 "are comprised of a collection of logical storage areas "
123 "represented by instances of the DatabaseStorageArea class. "
124 "Database storage areas allow the administrator to logically "
125 "organize the content of the database. This class extends from "
126 "FileSystem and uses the inherited associations to represent "
127 tony 1.1 "the internal structure of the database.") ]
128 class CIM_DatabaseStorageArea : CIM_FileSystem {
129
130 [Description (
131 "A Boolean value indicating the ownership of this "
132 "StorageArea. A value of true indicates that this "
133 "StorageArea is owned by the DatabaseSystem and contains "
134 "system information. A value of false indicates that this "
135 "is a user StorageArea containing data.") ]
136 boolean IsSystemArea;
137
138 [Description (
139 "A timestamp representing the date and time of the last "
140 "successful backup of the DatabaseStorageArea. This "
141 "property should be set to a value of zero, in interval "
142 "format, if it is not known whether a backup has ever been "
143 "completed.") ]
144 datetime LastBackup;
145 };
146
147 // ===================================================================
148 tony 1.1 // DatabaseFile
149 // ===================================================================
150 [Association, Experimental, Aggregation, Version ("2.7.1000"),
151 Description (
152 "DatabaseFile captures the relationship between a database and "
153 "the supporting files that make up the database as well as the "
154 "purpose served by the files within the context of the "
155 "database.") ]
156 class CIM_DatabaseFile : CIM_Component {
157
158 [Aggregate, Override ("GroupComponent"), Min (1), Max (1),
159 Description (
160 "The single CommonDatabase instance that uses the referenced "
161 "LogicalFile.") ]
162 CIM_CommonDatabase REF GroupComponent;
163
164 [Override ("PartComponent"), Description (
165 "One of any number of LogicalFile instances utilized by the "
166 "referenced CommonDatabase.") ]
167 CIM_LogicalFile REF PartComponent;
168 };
169 tony 1.1
170 // ===================================================================
171 // DatabaseStorage
172 // ===================================================================
173 [Association, Experimental, Aggregation, Version ("2.7.1000"),
174 Description (
175 "Databases are comprised of a collection of logical storage "
176 "areas represented by instances of the DatabaseStorageArea "
177 "class. The DatabaseStorage class represents the relationship "
178 "between a CommonDatabase and the storage areas which it uses.") ]
179 class CIM_DatabaseStorage : CIM_Component {
180
181 [Aggregate, Override ("GroupComponent"), Min (1), Max (1),
182 Description (
183 "The database which makes use of the associated "
184 "DatabaseStorageArea.") ]
185 CIM_CommonDatabase REF GroupComponent;
186
187 [Override ("PartComponent"), Description (
188 "A DatabaseStorageArea used by the associated "
189 "CommonDatabase. A DatabaseStorageArea may only be used by "
190 tony 1.1 "a single database.") ]
191 CIM_DatabaseStorageArea REF PartComponent;
192 };
193
194 // ===================================================================
195 // DatabaseSegmentSettingData
196 // ===================================================================
197 [Experimental, Version ("2.7.1000"), Description (
198 "This class defines the attributes that affect the growth of a "
199 "DatabaseSegment. The attributes are tied to the "
200 "DatabaseSegment through an ElementSettingData association. "
201 "This class may also be used to specify the default settings "
202 "for all DatabaseSegment instances created within a "
203 "CommonDatabase through an ElementSettingData association to "
204 "the CommonDatabase. Processes that create new instances of "
205 "DatabaseSegment and the associated setting data should check "
206 "for a DatabaseSegmentSettingData instance associated with the "
207 "CommonDatabase and should only create a new instance of "
208 "DatabaseSegmentSettingData specific to the DatabaseSegment if "
209 "the default settings need to be overridden or frozen for the "
210 "specific DatabaseSegment instance.") ]
211 tony 1.1 class CIM_DatabaseSegmentSettingData : CIM_ScopedSettingData {
212
213 [Write, Description (
214 "The size, in bytes, of the first extent to be allocated "
215 "when a database segment is created."),
216 Units ("Bytes") ]
217 uint64 InitialExtentSize;
218
219 [Write, Description (
220 "The total number of extents to be allocated when the "
221 "database segment is created. This setting allows for a "
222 "large initial segment allocation at creation time, even if "
223 "contiguous space is not available.") ]
224 uint64 MinimumExtents;
225
226 [Write, Description (
227 "The upper limit on the number of extents that can be "
228 "allocated for the segment.") ]
229 uint64 MaximumExtents;
230
231 [Write, Description (
232 tony 1.1 "The size, in bytes, to be allocated for the next "
233 "incremental extent for the segment. A NextExtentSize of 0 "
234 "indicates that the size of incremental extents will be "
235 "determined based on the value of PercentIncrease."),
236 Units ("Bytes"), MinValue (0),
237 ModelCorrespondence {"CIM_DatabaseSegment.PercentIncrease"} ]
238 uint64 NextExtentSize;
239
240 [Write, Description (
241 "The percentage by which the next incremental extent will "
242 "grow over the previously allocated size of all extents for "
243 "the segment. A PercentIncrease of 0 indicates that all "
244 "incremental extents will be the same size, as specified by "
245 "NextExtentSize. This value is ignored and should be set to "
246 "0 if NextExtentSize has a value other than 0."),
247 MinValue (0),
248 ModelCorrespondence {"CIM_DatabaseSegment.NextExtentSize"} ]
249 uint16 PercentIncrease;
250
251 [Write, Description (
252 "A freelist is a list of the free blocks that are associated "
253 tony 1.1 "with a database segment. The freelist is used to determine "
254 "which segments are eligible for accepting data when a new "
255 "insert or update request is processed. The "
256 "NumberOfFreeLists setting identifies the number of "
257 "freelists that are defined for the database segment. This "
258 "value is typically set to the expected number of concurrent "
259 "inserts for the segment.") ]
260 uint32 NumberOfFreeLists;
261 };
262
263
264 // ===================================================================
265 // DatabaseControlFile
266 // ===================================================================
267 [Association, Experimental, Version ("2.7.1000"), Description (
268 "CIM_DatabaseControlFile is a specialization of the "
269 "CIM_Dependency association that identifies the LogicalFile(s) "
270 "which provide control information for a Database. As an "
271 "example, some implementations of CommonDatabase assign "
272 "particular significance to a small number of files containing "
273 "database state and configuration information. This "
274 tony 1.1 "association is intended to provide an efficient means of "
275 "identifying these files.") ]
276 class CIM_DatabaseControlFile : CIM_HostedDependency {
277
278 [Override ("Antecedent"), Min (1), Max (1), Description (
279 "The parent CommonDatabase for the associated control file.") ]
280 CIM_CommonDatabase REF Antecedent;
281
282 [Override ("Dependent"), Description (
283 "The LogicalFile that contains control information for the "
284 "associated CommonDatabase.") ]
285 CIM_LogicalFile REF Dependent;
286 };
287
288
289 // ===================================================================
290 // CommonDatabaseSettingData
291 // ===================================================================
292 [Experimental, Version ("2.7.1000"), Description (
293 "This class contains the specific settings that identify the "
294 "degree to which the high-level database capabilities that are "
295 tony 1.1 "defined in the CIM_CommonDatabaseCapabilities class are "
296 "supported by a CommonDatabase. Specific values for the "
297 "properties in this class MUST correspond to a valid capability "
298 "that has been defined in the CIM_CommonDatabaseCapabilities class.\n"
299 "Instances in the CIM_CommonDatabaseSettingData class are tied "
300 "to the CommonDatabase using the ElementSettingData "
301 "association.") ]
302 class CIM_CommonDatabaseSettingData : CIM_SettingData {
303
304 [Write, Description (
305 "RecoverabilityOption indicates the specific recoverability "
306 "mode for the associated CommonDatabase."),
307 ValueMap {"1", "2", "3", "4"},
308 Values {"Other", "Recoverable", "Non-Recoverable",
309 "Rebuildable"},
310 ModelCorrespondence {
311 "CIM_CommonDatabaseSettingData.OtherRecoverabilityOption"
312 "CIM_CommonDatabaseCapabilities.RecoverabilityOptions"} ]
313 uint16 RecoverabilityOption;
314
315 [Write, Description (
316 tony 1.1 "This property contains additional recovery information for "
317 "the CommonDatabase. This property MUST be specified when "
318 "the Recoverability property is \"Other\"."),
319 ModelCorrespondence {
320 "CIM_CommonDatabaseSettingData.RecoverabilityOption"
321 "CIM_CommonDatabaseCapabilities.OtherRecoverabilityOptions"} ]
322 string OtherRecoverabilityOption;
323 };
324
325
326 // ===================================================================
327 // CommonDatabaseCapabilities
328 // ===================================================================
329
330 [Experimental, Version ("2.7.1000"), Description (
331 "Properties in this class represent general, high-level "
332 "database capabilities that may be supported by a common "
333 "database. For example, the ability for a database to support "
334 "recoverability, replication, parallelism, or clustering would "
335 "be specified in this class. Detailed settings, such as the "
336 "minimum and maximum number of parallel servers for a database "
337 tony 1.1 "that supports parallelism, would be defined in the "
338 "CIM_DatabaseParameter class.\n"
339 "This information is tied to the CommonDatabase using the "
340 "ElementCapabilities association.") ]
341 class CIM_CommonDatabaseCapabilities : CIM_Capabilities {
342
343 [Description (
344 "This property identifies the supported recoverability modes "
345 "for the associated CommonDatabase."),
346 ValueMap {"1", "2", "3", "4"},
347 Values {"Other", "Recoverable", "Non-Recoverable",
348 "Rebuildable"},
349 ArrayType ("Indexed"),
350 ModelCorrespondence {
351 "CIM_CommonDatabaseCapabilities.OtherRecoverabilityOptions"} ]
352 uint16 RecoverabilityOptions[];
353
354 [Description (
355 "This property contains additional recovery information for "
356 "the CommonDatabase. This property MUST be specified when "
357 "the Recoverability property is \"Other\"."),
358 tony 1.1 ArrayType ("Indexed"),
359 ModelCorrespondence {
360 "CIM_CommonDatabaseCapabilities.RecoverabilityOptions"} ]
361 string OtherRecoverabilityOptions[];
362 };
363
364
365
366 // ===================================================================
367 // end of file
368 // ===================================================================
|