5.对象数据管理器(ODM)
被ODM管理的系统数据有:
设备配置信息;SMIT的显示信息(菜单/选择器/对话框);产品安装或更新需要的重要的数据;通信配置信息系统资源信息
许多对象类和对象被保存在/usr/lib/objrepos目录中,但是ODM信息被保存在三个目录中:
/usr/lib/objrepos/usr/share/lib/objrepos/etc/objrepos
ODM的基本组件是对象类和对象.这些组件的管理要使用命令或子程序来实现.很明显,要通过使用这些接口的加入或创建属性来建立对象类或对象,从而存储管理数据.
ODM对象是ODM对象类的成员.用来管理和存储数据的实体,类似于数组结构的元素或者固定格式的一条记录
对象类是有相同定义的对象的存储集合,类似于C语言结构中的数组,有固定格式记录的文件
ODM数据库是ODM对象类的存储集合,类似于数组结构的集合或者一个文件目录
一个对象类包含一个或多个描述符,当对象被加入到一个对象类的时候,一个值就会被关联到该对象的描述符,一个对象的描述符和它们关联的值可以被ODM工具查找和改变
在设备配置区域,ODM包含了所有配置过的物理卷/卷组/逻辑卷.这个信息是在VGDA中找到的信息的镜象(即VGDA中找到的信息就是来源于此),有个证明:当要导入一个VGDA到另外一个VG的时候,要把被导入的VG的VGDA数据拷贝到ODM中去;而当一个VG被导出的时候,保存在ODM数据库中的该卷组的数据就要被删除.
一.ODM命令
可以用ODM创建/加入/改变/重获/显示/删除对象和对象类.这些命令可以用命令行方式输入,但是建议只有在常用的系统维护方法(如smit)无效的时候才使用.对于初级管理员,建议获取更多知识或多练习之后才使用这些命令.因为这些命令可以使系统无法启动.
odmadd:把一个对象加入到对象类中去.该命令把一个ASCII码文件作为输入,以该文件中提到的对象组装对象类.
odmchange:在指定的对象类中改变指定的对象.
odmcreate:创建空的对象类.该命令把一个ASCII码文件描述的对象类作为输入,产生C语言文件.h和.c用于应用程序访问该类中的对象
odmdelete:从对象类中删除对象
odmdrop:从ODM数据库中删除整个对象类
odmget:从对象类中重获对象,并以odmadd命令格式显示对象信息
odmshow:显示一个对象类的描述.该命令把所有的对象类名作为输入并以odmcreate命令格式显示对象类信息
二.对象类举例
以下是Customized Device Database (CuDv)对象类定义的例子:
# odmshow CuDv
class CuDv {
char name[16]; /* offset: 0xc ( 12) */
short status; /* offset: 0x1c ( 2 */
short chgstatus; /* offset: 0x1e ( 30) */
char ddins[16]; /* offset: 0x20 ( 32) */
char location[16]; /* offset: 0x30 ( 4 */
char parent[16]; /* offset: 0x40 ( 64) */
char connwhere[16]; /* offset: 0x50 ( 80) */
link PdDv PdDv uniquetype PdDvLn[48]; /* offset: 0x60 ( 96) */
};
/*
descriptors: 8
structure size: 0x98 (152) bytes
data offset: 0x20001cd8
population: 50 objects (50 active, 0 deleted)
*/
1. A system administrator wishes to determine if a newly configured tape drive is correctly added to the ODM database. Which command would the administrator use?
A. odmshow
B. odmadd
C. odmget
D. odmcreate