Object Data Manager (ODM) Object Data Manager (ODM) is a data manager intended for storing system information. Information is stored and maintained as objects with associated characteristics. You can also use ODM to manage data for application programs. System data managed by ODM includes: •
Device confguration inormation
•
Display inormation or SMIT (menus, selectors, and dialogs)
•
Vital product data or installation and u PdAte procedures
•
Communications confguration inormation
•
System resource inormation
You You can create, add, lock, store, change, get, show, delete, and drop objects and object class es with ODM. ODM commands provide a command-line interface to these functions. ODM data is stored in binary format. You You cannot modify ODM files with a tet editor.
The basic components of the ODM : Object classes: !ach file of the database is an object class. !ach object class consists of objects having similar definitions. Objects : !ach object is one record in an object class. It is a stand-alone entity and has one or more descriptors. Descriptors : "he descriptors describe the layout of the objects. "hey determine the name and data type of the fields that are part of the object class. "he descriptors of an object and their associated values can be located and changed using ODM commands. Information Informat ion contained in the ODM : •
Predefned device inormation: PdDv, PdAt, and PdCn
•
Customized device inormation: CuDv, CuAt, and CuDep
•
Sotware vital product data: istory, inventory, lpp, and product
•
•
!rror log, alog and dump inormation: Swserv"t System #esource Controller: S#Csu$sys and S#Csu$svr PdAttr %etwor& 'nstallation anager: anager: nimattr, nimo$*ect, and nim PdAt
Where ODM Object lass files are stored!
"his can be defined in #etc#environment file. "he ODM object clases are held in three repositories "# $etc$objrepos
$ontains the customi%ed devices object classes I.e uD%, u&t, and uDep and the four object classes used by &'* for the # part of the installable software product. "o access information in the other directories, this directory contains symbolic links to the predefined devices object classes. "hese links are needed because the ODM*I+ variable points to only #etc#objrepos. It contains the part of the product that cannot be shared with other systems. '# $usr$lib$objrepos
$ontains the predefined objects classes i.e.dD%, d&t, and dn.SMIT menu object classes and the four object classes used by &'* for the #usr part of the installable software product. "he object classes in this repository can be shared across the network by #usr clients, dataless and diskless workstations. &oftware installed in the #usr part can be shared among several machines with compatible hardware architecture. # $usr$share$lib$objrepos
$ontains the four object classes used by the &'* for the #usr#share part of the installable software product. "he #usr#share part of a software product contains files that are not hardware dependent. "hey can be shared among several systems, even if these have a different hardware architecture. *sing ODM ommands :
oth SMIT and command-line commands are designed in such manner to keep ODM and system status synchroni%ed at all times, so ideally you might never have to use ODM commands.
The ODM commands are: +ODMadd dds objects to an object class. ODMadd command takes an &$II stan%a file as input. +dmchange $hanges specific objects in a specified object class. +ODMcreate $reates empty object classes.
+ODMdelete +emoves objects from an object class. +ODMdrop +emoves an entire object class +ODMget +etrieves objects from object classes and puts the object information into ODMadd command format. +ODMsho, *isplays the description of an object class. "he ODMshow command takes an object class name as input and puts the object class information into the ODMcreate command format.
ecause ODM is a database, ODM /ueries can accept parameters linked with operators that are common when interrogating databases. 'hen they eecute, ODM commands use the value of the ODM*I+ variable. Its default value is #etc#objrepos, but it can be changed. Some ODM ommand e-amples
"o list all records with an 0bject $lass uD% + ODMget uD% "o find out an object within u&t with condition name1sys2 and attibute1mauproc + ODMget ./ 0name1sys2 and attribute1ma-uproc3 u&t u&t name 1 3sys24 attribute 1 3mauproc5 value 1 362224 type 1 3+5 generic 1 3*75 rep 1 3nr5 nls8inde 1 62 ODMgetcommand to interrogate the ODM class lpp about all the software installed on the system and we selected the first 92 lines of the output. + ODMget lpp4head .2 + echo 5ODMDI6
0# : #etc#objrepos ODMgetcommand to interrogate the u&t class(;<)
= ODMget -/ name1hdisk2 u&t "o delete the above object-
+ ODMget ./ 0name1sys2 and attribute1ma-uproc3 u&t 7 file#"
= ODMdelete -/ 3name1sys2 and attribute1mauproc5 -o u&t ("o add the deleted object again to the above object class = ODMadd file.> (add the file content to appropriate 0bject class)