AIX系統學習之-ODM管理
AIX ODM(Object Database Manager)是由一組對象類和對象所組成的資料庫。對象類相當于Oracle資料庫中的object,由ODM create建立,删除可以使用ODM drop,對象就相當于object下的資料(比如磁盤、Adapter等),可以使用ODM add指令加入對象,使用ODM delete指令删除,使用ODM change指令修改指定記錄。查詢的指令可以使用odmget。
一、使用 ODM 指令
當使用 odmcreate 或者 odmdrop 指令來建立或者删除對象類時,請使用以下方法之一指定将從中通路類定義檔案的目錄:
将檔案存儲在 $ODMDIR 訓示的預設目錄下,即:/usr/lib/objrepos 目錄。
比較常用的指令是odmget與odmadd指令:
1、odmget:
odmget [ -q Criteria ] ObjectClass ...
描述
odmget 指令以搜尋規則和對象類清單為輸入,從指定的對象類中檢索標明的對象,并寫 ASCII odmadd 輸入檔案到标準輸出。
标志
-q Criteria 指定用于從對象類中選擇對象的搜尋條件。如果沒有指定标準(沒有 -q 标志),檢索對象類中的所有對象。
2、odmadd :
添加對象到建立的對象類。
文法
odmadd [ InputFile ... ]
odmadd 指令以一個或多個InputFile 檔案為輸入,并且添加對象到帶有節檔案資料的對象類中。每個 InputFile 檔案是 ASCII 檔案,包含有描述要添加到對象類中的對象的資料。如果沒有指定檔案,從标準輸入中擷取輸入。
在使用odmadd指令之前,最好使用odmget 查詢并生成樣本檔案,然後修改一下,再使用odmadd指令加入指定的對象類。
注意:odmadd 将把對象添加到$ODMDIR變量指定的目錄所對應的對象類中去。
比如:
取一份odm樣闆;
# odmget -q name=hdisk2 CuAt > hdisk3odm.add
編輯樣本檔案,最重要的是修改pvid屬性回原有硬碟的pvid,另外一項屬性unique_id名字也一起修改了。當然還有name要更正為hdisk3。插入修改過的檔案到CuAt
3、odmshow指令:
odmshow 指令以對象類名稱(ObjectClass)為輸入并在螢幕上顯示類描述。 類描述的格式采用 odmcreate 指令的輸入格式。
需要了解的幾個對象類:
PdDv 預定義裝置庫
以上三個參數 再使用mkdev的時候需要用到,需要特别關注,如果查找起來不友善的話,可以使用lsdev –P –H 産看預配置資料庫中的這三個選項。此項對于使用mkdev生成虛裝置也非常友善。
PdAt 預定義屬性庫
CuDv 使用者自定義裝置庫
CuDv:
CuAt:使用者自定義屬性庫
由以上輸出可以看出,在使用odmget指令查找odm使用者資料庫資訊時,可以使用 name=×作為查詢key。
二、Additional Device Object Classes:
CuDep:
CuDvDr: 裝置驅動
CuVPD: 裝置vpd資訊 vital product data
PdCn: 預定義配置資訊
三、ODM 管理的系統資料包括:
裝置配置資訊
SMIT(菜單、選擇器和對話框)的顯示資訊
安裝和更新過程的重要産品資料
通信配置資訊
系統資源資訊
注意:ODM中不包含裝置驅動程式,隻能從裝置驅動檔案往CuDvDr中寫驅動記錄
裝置狀态:
Define:沒有加載驅動,但odm中有定義
Available:已加載驅動,并将驅動記錄進CuDvDr.
Stopped:停止狀态,有些裝置支援此狀态
四、案例:
搜尋對象所屬的對象類别:
Usage:
for i in `ls $ODMDIR`; do (odmget $i 2>/dev/null |grep -p 特定字元串); done
1、搜尋hdisk0所屬的對象類别
[root@aix211 /]#for i in `ls $ODMDIR`; do (odmget $i 2>/dev/null |grep -p hdisk0);done
2、搜尋網關位址所屬的對象類别:
[root@aix211 /]#for i in `ls $ODMDIR`; do (odmget $i 2>/dev/null |grep -p 192.168.8.1);done
通過以上可以了解,每個對象所屬的對象類别,然後可以用odmdelete删除對應的對象即可
例如删除hdisk0:
[root@aix211 /]#odmdelet -o CuDv -q "name=hdisk0"