Oracle10g oem grid control
二 oem10g grid control 應用篇 -部署
oracle爲agent部署提供了4種方案.
1:直接在需要部署的節點上安裝agent軟件
2:腳本安裝
3:克隆
4:直接在oem界面上進行批量部署。
下面對每一種安裝方案作具體的描述,讀者可以根據自己的實際情況選擇安裝。
1:通過agent軟件安裝
這種方法比較傳統和直觀,就是在需要部署的節點上直接在本地安裝agent軟件,安裝成功後通過在配置文件中指定一個oms地址來保證agent和oms的正確通訊。
另外一種需要這種安裝方式的是當這個節點和oms使用的不是一種OS平臺的情況下,必須要使用這種方式,這個需要用戶自己到Oracle網站上下載適於本平臺的agent軟件,但這並不會影響oms的管理。
由於這種安裝比較簡單,所以在這裏不作過多的解釋。
2:基於腳本的部署。
在oem10g的體系中對安全的要求比較高,所以在文件傳遞上也使用了hhtps的加密協議。在機器的訪問上Oracle採用的是ssh方式訪問,所以在oem體系中,機器上啓用ssh是必須的,至於ssh的啓用方法不在本文檔的討論之列。
首先要在oms端運行以下命令,以便於確保數據通過ssh方式在server端和client段進行傳遞。
OMS_HOME/sysman/prov/resources/scripts/sshUserSetup.sh
具體的命令如下:
sshUserSetup.sh -hosts "host1 host2" -user sjohn
其中-hosts是你要部署agent的機器的名稱,如果此處你寫hostname,那麼你需要把hostname和機器的Ip對應信息寫到oms機器的/etc/hosts上,否則可能無法解析hostname。這裏可以寫很多個需要部署的hosts的名字。
-user是登錄到該機器的用戶名,密碼則在運行過程中輸入。
在各個過程中,該腳本首先測試到遠程機器的可用性,使用ping的命令,然後使用ssh命令進行登錄驗證,確保ssh可用。
以上工作完成後就可以進行部署了,oracle文檔上還有幾個步驟,我覺得可以省略,反正我沒用到。
下面那一臺機器舉例進行agent部署。
a:用oracle用戶登錄需要部署agent的機器,在oracle用戶默認路徑下編輯c shell profile:./bashrc 在最後加入:
set TZ=PRC
設置時區,保存退出。
source ./bashrc 使環境變量生效。
注:這個操作是設置agent host的時區time zone,是agent和oms數據傳遞時必需的,不能忽略。
b:首先用oracle用戶在ORACLE_HOME/下創建一個目錄,一般是OracleHomes,
c:使用ftp,或者http,scp等方法,從Oms機器上下載安裝腳本,該安裝腳本路徑如下:
$ORACLE_HOME/OracleHomes/oms10g/sysman/agent_download/linux/agent_download.linux
d:在需要部署agent的機器上,首先給該腳本可執行的權限。
e:運行安裝腳本:
./agent_download.linux -b /home/oracle/OracleHomes
其中-b參數指定agent安裝的路徑。
中間不需要交互,Oracle使用的是silent方式的安裝。
安裝成功或者失敗都有日誌.
3: clone 方式部署agent。
這個比較簡單。
首先需要有一個已經裝好的可以正常運行的agent節點,然後將這個節點下agent/目錄下所有的文件打一個tar,傳到需要部署的節點上,解tar,確定目錄正確。
然後運行emca -f 重新配置agent。
檢查agent是否運行正常。
4:通過oem進行agent部署。
這個部署是通過oem的web界面進行配置,適合做企業級的大規模的部署。
做這個的前提是oms已經安裝,並且可以正常訪問,oms的安裝和訪問前便已經提到了。
步驟如下:
1:登陸oms。
2:選擇部署(deplay)籤,選擇安裝(fresh install).
3:進入安裝界面,首先和安裝路徑,輸入你agent想要的安裝路徑。然後選擇你的agent的運行平臺,這種部署,我發現這中部署agent的平臺只能和oms相同的平臺,其他的平臺需要到
Oracle的官方網站上下載相應平臺的agent軟件進行安裝。
4:Host欄,輸入需要部署的host的Ip,或者hostname,如果中間用逗號分隔。如果輸入的是hostname,需要保證oms機器可以通過hostname解析出Ip地址,可以通過修改/ect/hosts文件來達到hostname和ip的對應。
5:輸入一個操作系統的用戶名和密碼,基本上就是你的oracle用戶和密碼。
6:輸入Oms的安全口令,隨便輸一個,自己記住就可以了。
其他的基本上都可以不添,記住最後運行完之後執行一個agent/下的root.sh腳本就可以了。
7:看一下,運行結果,對於運行失敗的節點,要看相應的安裝日誌。
OEM的部署基本上就是這樣,上面說到的只是方法,我們在安裝過程中出現了很多錯誤,也察看了很多文檔,下面會對這些錯誤作一些解釋和討論。
三 oem10g grid control 應用之總結
前面已經介紹了Oms和agent的部署方法,這一部分筆者準備把使用10g oem grid control 遇到的問題和使用的心得彙總一下。
一些比較重要的路徑和文件
Oms server端和agent端的目錄結構基本上相似:區別在於oms端路徑的最上層叫oms10g,而agent端的最上層的路徑叫agent10g.下面的結構基本上相似,下面說一下幾個比較重要的路徑和文件。
1: oms10g/bin 和agent10g/bin分別存放了Oms和agent各自的可執行文件,其中emctl文件時用來管理oms或agent的命令,前面說過,由於在 oms server端,也同時安裝了agent,所以在oms server上運行emctl命令時要特別主要,需要進入到各自的bin./下面運行,否則可能會出錯。
比如想啓動oms,可以進入到oms10g/bin 下執行:
./emctl start oms 這個命令會同時啓動其他oms需要的服務,比如http server。
具體的所有用法可以通過敲入:./emctl 回車就可以看到。
對於agent的管理,須要進入到agent10g/bin下,以下是一些有用的命令:
./emctl start agent 啓動agent service
./emctl stop agent 停止agent service
./emctl status agent 察看agent的運行情況,在出現的信息當中,有一個信息比較重要,last successfully upload time,如果值爲null,說明沒有數據上傳,需要檢查一下相關的配置是否正確。或者直接發出:./emctl upload看看信息。
oms 和agent的錯誤信息都存放在:oms10g(agent10g)/sysman/log
我在安裝的過程中出現過很多次agent無法upload的情況,原因大多是本地的TZ變量沒有設置正確。TZ就是time zone時區,是oem10g中比較重要的一個變量,它要求agent節點上必須設置時區變量,並且時區變量的值需要符合oracle要求的時區變量值, 這個值了一在agent10g/sysman/admin/emd/supportedtz.lst文件中找到。設置TZ的方法在部署篇裏已經講過了。
oem10g的原理和工作方式
oem10g的agent端的數據收集全部通過perl腳本來完成。擴展名爲:*.pl,這些腳本可以在agent10g/sysman/admin/scripts/下找到。
agent 程序首先會把採集到的信息寫到本地的xml文件當中,然後再將該文件upload到oms端去,oms service再將xml文件寫入到oms自己的repository庫裏。剛纔我們說的./emctl upload其實就是手工上載本地的xml文件。這些生成的文件可以在:agent10g/sysman/admin/upload下找到。
agent程序的發現方式:
當agent 部署到一個節點上時,他首先搜索$ORACLE_HOME/oraInventory下安裝的所有oracle產品。以便確定需要收集那些產品的信息,比 如他只發現了一個數據庫產品,他們它就會只運行收集數據庫和主機信息的腳本。對於一個節點來說,agent確定需要收集那些內容的信息寫在如下文件中,可 以手工修改:agent10g/sysman/emd/targets.xml。
另外一個比較重要的文件是 agent10g/sysman/config/emd.properties 他就是沒一個agent的配置文件,agent所有的屬性都在裏面,比如oms的url,TZ啊什麼的,可以手工修改,修改完之後,通過執行. /emctl reload來使之生效。
oem10g的使用心得
oem10g在易用性較8i,9i笨重的java客戶端來看,真是有一種脫胎換骨的輕鬆感覺。你不需要再花很多的時間等待那個圖形界面的出現了,只要通過瀏覽器輸入hhtp://oemhost: 4889/em就可以輕鬆登陸oem.感覺速度比8i和9i都快不少。而且界面有很多圖標,看起來很舒服。
oem10g另外一個功能就是加入了告警功能,它會將所有認爲有問題的信息以在首頁上提示出來,甚至連alert文件中的告警信息也可以弄出來,並且所有的指標都可以自己定義告警閾值,我們單位原原本也有一套數據庫監控系統,可是和這個比,簡直是小巫見大巫了。
10g oem另外一個令人激動的特點是提供了一個叫adviser的建議功能,它可以幫助你對內存,Undo segent,sql進行相應的優化調整,給出好的建議。但這個功能只能對10g數據庫可用。儘管oem10g可以管理從8.1.7.4以後的數據庫,但 這個功能只對10g的數據庫可用。
報表,oem10g提供了很好的報表功能,包括所有該節點上所有監控的信息,而且報表很漂亮。對於那些定期需要向領導作報表的dba來說,這是個不錯的工具。