OBJECT DATA MANAGER (ODM)
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 configuration information
- Display information for SMIT (menus, selectors, and dialogs)
- Vital product data for installation and uPdAte procedures
- Communications configuration information
- System resource information
You can create, add, lock, store, change, get, show, delete, and drop objects and object classes with ODM. ODM commands provide a command-line interface to these functions.ODM data is stored in binary format. You cannot modify ODM files with a text editor.
The basic components of the ODM :
Object classes:Each file of the database is an object class. Each object class consists of objects having similar definitions.
Objects : Each object is one record in an object class. It is a stand-alone entity and has one or more descriptors.
Descriptors :The descriptors describe the layout of the objects. They determine the name and data type of the fields that are part of the object class. The descriptors of an object and their associated values can be located and changed using ODM commands.
Information contained in the ODM :
- Predefined device information: PdDv, PdAt, and PdCn
- Customized device information: CuDv, CuAt, and CuDep
- Software vital product data: history, inventory, lpp, and product
- Error log, alog and dump information: SwservAt System Resource Controller: SRCsubsys and SRCsubsvr
- Network Installation Manager: nim_attr, nim_object, and nim_PdAttr
Where ODM Object Class files are stored?
This can be defined in /etc/environment file. The ODM object clases are held in three repositories
Contains the customized devices object classes I.e CuDv, CuAt, and CuDep and the four object classes used by SWVPD for the / part of the installable software product. To access information in the other directories, this directory contains symbolic links to the predefined devices object classes. These links are needed because the ODMDIR variable points to only /etc/objrepos. It contains the part of the product that cannot be shared with other systems.
Contains the predefined objects classes i.e.PdDv, PdAt, and PdCn.SMIT menu object classes and the four object classes used by SWVPD for the /usr part of the installable software product. The object classes in this repository can be shared across the network by /usr clients, dataless and diskless workstations. Software installed in the /usr part can be shared among several machines with compatible hardware architecture.
Contains the four object classes used by the SWVPD for the /usr/share part of the installable software product. The /usr/share part of a software product contains files that are not hardware dependent. They can be shared among several systems, even if these have a different hardware architecture.
Using ODM Commands :
Both SMIT and command-line commands are designed in such manner to keep ODM and system status synchronized at all times, so ideally you might never have to use ODM commands.
The ODM commands are:
#ODMadd :Adds objects to an object class. ODMadd command takes an ASCII stanza file as input.
#dmchange :Changes specific objects in a specified object class.
#ODMcreate :Creates empty object classes.
#ODMdelete : Removes objects from an object class.
#ODMdrop : Removes an entire object class
#ODMget : Retrieves objects from object classes and puts the object information into ODMadd command format.
#ODMshow : Displays the description of an object class. The ODMshow command takes an object class name as input and puts the object class information into the ODMcreate command format.
Because ODM is a database, ODM queries can accept parameters linked with operators that are common when interrogating databases.
When they execute, ODM commands use the value of the ODMDIR variable. Its
default value is /etc/objrepos, but it can be changed.
Some ODM Command examples
To list all records with an Object Class CuDv
# ODMget CuDv
To find out an object within CuAt with condition name=sys0 and attibute=maxuproc
# ODMget -q “name=sys0 and attribute=maxuproc” CuAt
name = “sys0″
attribute = “maxuproc”
value = “2000″
type = “R”
generic = “DU”
rep = “nr”
nls_index = 20
ODMgetcommand to interrogate the ODM class lpp about all the software installed on the system and we selected the first 30 lines of the output.
# ODMget lpp|head -30
# echo $ODMDIR
O/P → /etc/objrepos
ODMgetcommand to interrogate the CuAt class(LVM)
# ODMget -q name=hdisk0 CuAt
To delete the above object:-
# ODMget -q “name=sys0 and attribute=maxuproc” CuAt > file.1
# ODMdelete -q “name=sys0 and attribute=maxuproc” -o CuAt
(To add the deleted object again to the above object class
# ODMadd file.1 (add the file content to appropriate Object class)