Object Data Manager (ODM) in AIX - Quick Overview

By Parthiban Ponnusamy

Object Data Manager (ODM)

What is ODM?


ODM
  • Maintains system config, device and vital product data
  • Provide a more robust, secure and sharable resource
  • Provide a reliable object oriented database facility
Data Managed By ODM
  • Device Configuration Information
  • Software Vital Product Data
  • SRC information
  • Communications configuration data
  • Menus and commands for SMIT
ODM has three components
  • Object class - These are datafiles.
  • Objects - Records within Datafiles
  • Descriptors - Field within a record

Where ODM Object Class files are stored?

This can be defined in /etc/environment file. The ODM object clases are held in three repositories
  1. /etc/objrepos
  2. /usr/lib/objrepos
  3. /usr/share/lib/objrepos

Some important ODM Database files

Supported devices and attributes and connection information are stored in
 PdDv, PdAt, PdCn, etc..
Records or customizrd Devices and attributes, VPD are stored in
 CuDv, CuAt, CuDep, Config_Rules, CuVPD, etc ...
Have software information
lpp, history, product, inventory, etc..
SMIT menus, commands, options
sm_cmd_hdr, sm_cmd_opt, sm_menu_opt
NIM Resource and configuraion informations
nim_object, nim_pdattr, nim_altr
Errorlog, alog and dump file info
 SWservAt

Useful ODM Commands

odmget     - To retrives objects from an Object Class in stanza format
odmdelete  - To delete objects what meet a specifig criteria.
             If no criteria specified, all objects are deleted
odmadd     - To add a new object to an object class
odmchange  - To change all objects with in an Object Class that meet a
             specifig criteria
odmshow    - To display object class definition
odmcreate  - To create Object Class for application that will use ODM DB
odmdrop    - To remove an Oobject Class

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
    CuAt:
          name = "sys0"
          attribute = "maxuproc"
          value = "2000"
          type = "R"
          generic = "DU"
          rep = "nr"
          nls_index = 20
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

For Further Reading,
AIX

My Profile PhotoAbout the Author

I'm Parthiban, An UNIX System Admin by Profession. I'm Experienced in Linux/Unix System Administration and Scripting. I have done lot of work on the infrastructure Mgmt side in Linux, UNIX and Windows system administration, Hardware, Storage and Data center. I'm blogging since 2008.
Follow Me On Twitter or On Facebook

{ 10 comments... read them below or add one }

Anonymous said...

this is helpful to me...
thanku so much...

Parthiban Ponnusamy said...

Thanks much for visit and comments..!

Anonymous said...

Just a quick note nim_altr should be nim_attr.
Nice summary.

john said...

nice aix documents........

Anonymous said...

Thanks it is helpful ...

Md Sanowar Sah said...

Nice information in brief note....

Aritra said...

A nice short note ... good intro for me as a beginner.
Thanks.

Anonymous said...

Required scripting documents for practice... olso tel that if c or c++ is required for learning programming

Anonymous said...

Hi, I am new to AIX and I understood what ODM does and how it manages objects, but I am not able to understand is why ODM is required. I mean lot of other OSs do not have ODM and still they are managing data very well. So why ODM id required in AIX?

Anonymous said...

Nicely compiled short summary, v. good for someone looking for some quick info

Post a Comment

What do you think about this Article? Add your Opinion..!