A
認識EM(企業管理器)的體系結構
=====================================
Oracle Enterprise Manager (EM)
x 實現了一個
層結構
其組成如下:
第一層 First
tier:
第一層是客戶端工具
如
EM Console
DBA Management Pack和其他集成的Oracle應用
這些工具是從Windows NT
Windows
Windows
或Sun Solaris機器的本地啟動的
這些工具也可以是通過浏覽器下載下來的JAVA applet
中間層 Middle
tier:
中間層(也就是第二層) 由安裝在Windows NT或Sun Solaris server上的Oracle Management Server (OMS)構成
要使用EM Console(企業管理器的控制台)和Job&Event subsystem(任務與事件子系統)
必須有一個配置好的Oracle Management Server
OMS提供了:
訪問EM庫(Repository)中的信息
分派控制台的請求
控制任務執行
監控事件
通過電子郵件或尋呼提示任務的完成或事件發生
多個OMS能夠提供:
無需額外的管理
就可以實現負載的分布
工作量能夠自動地被共享和均衡
容錯
一個OMS可以重做另外一個OMS的工作量
第三層 Third
tier:
第三層是智能代理(Intelligent Agent)
是在每個server上必須安裝的
用來執行任務和監控發生在該服務器各被管理對象上的事件的軟件
被管理對象包括網絡節點(服務器)
數據庫
偵聽程序(listener)以及其他安裝在這些結點上的Oracle服務
這三層可以是在同一台機器上
不同的機器上
或任意的組合
都可以
B
企業管理器(EM)框架的設置
================================
為了配置簡便
每層配置後
應先驗證是否配置正確
然後到下一層
方便的構造過程是從第三層到第一層
I
配置第三層:
為了管理結點和結點上的oracle服務
必須在結點上配置並運行一個智能代理(Intelligent Agent)
智能代理是由Oracle Server CD上安裝的
詳細安裝信息
參考Oracle Server安裝指南和Intelligent Agent用戶指南
如果被管理的結點是一個Windows NT系統:
Checklist
o 啟動智能代理
o 設置一個有
Logon as Batch Job
權限的Windows NT 管理員用戶
啟動智能代理/Intelligent Agent:
啟動一個Windows NT上的Intelligent Agent
操作如下
a
雙點[控制面板/Control Panel]文件夾中的服務/Services圖標
b
選擇名為Oracle
Agent的服務
c 點擊[開始/Start]按鈕啟動這個代理
停止一個Windows NT上的Intelligent Agent 操作如下
a 雙點[控制面板/Control Panel]文件夾中的服務/Services圖標
b 選擇名為OracleAgent的服務
c 點擊[停止/Stop ]按鈕停止這個代理
驗證此代理是否在運行進行下面操作的任意組合
a 在控制面板的服務中檢查OracleAgent的狀態
b 驗證NT任務管理器中是否有進程dbsnmpexe
c 在命令行中執行net start命令OracleAgent應當出現在服務列表中
設置用於運行任務和事件監控的Windows NT用戶的賬戶
Checklist
o 確定Windows NT系統的類型
o 創建一個和管理員等同的賬號(用戶)
o 給新用戶授予Logon as a Batch Job 的權限
因為Windows NT是一個安全的操作系統NT上的智能代理必須通過一個擁有Logon as a Batch Job權限的NT用戶來執行任務和事件 此特權 可以賦給一個一存在的本地用戶或域用戶或者一個新的NT用戶下面是如何設置Windows NT用戶的帳號(Refer to the EM Configuration Guide for additional information)
注意要創建或修改NT上的賬號必須以有Administrator (管理員)特權的用戶登錄
先判斷ORACLE安裝在一個什麼類型的Windows NT系統上主域控制器(PDC) 備份控制器 (BDC) 獨立的(member) Server還是一個工作站 如果機器是PDC或BDC按照一下步驟建立或修改一個域用戶如果NT系統不是PDC或BDC從設置一個本地用戶一節開始
設置一個域用戶:
運行域的用戶管理器
選擇 Start => Programs =>Administrative Tools => User Manager for Domains
窗口的標題條應該是USER MANAGER
設置一個本地用戶
運行用戶管理器(for Domains)
選擇 Start => Programs => Administrative Tools => User Manager (For Domains)
窗口的標題條應該是: USER MANAGER \\
如果標題條中列出了域的名字選User => Select Domain 輸入\\ (例如\\bobpc)
注意: 如果已有一個Windows NT賬號account will be used by the Intelligent Agent skip to the section Grant Logon as a Batch Job Privilege (step (d) below)
創建一個用戶:
a 選中一個管理員賬號選菜單User => Copy拷貝這個賬號及其權限
b 為EM賬號輸入新的用戶名和口令 (如EMUSER)
c 驗證確保僅有口令永不過期被打上鉤選擇Add
注意如果在域中存在相同的名字的域用戶和本地用戶口令必須有區別口令是區分大小寫的 並且本地帳戶優先
在第三層上為用戶授予本地的Logon as Batch Job權限:
d選中在步驟(a)中創建的用戶
選擇菜單 Policies =>User Rights
e Click on the box next to Show advanced user rights
f 選擇Rights權限下拉列表中的Logon as a Batch Job 如果有賬號曾被授予過這個權限 Grant to 列表中將包含這個賬號的名字
g 選擇Add確保FROM中列出的是正確的名字
() 域名如果你想創建一個域用戶的話 或
() 本地機器名如果你要創建一個本地用戶
如果名字不正確選擇下拉列表選擇正確的機器名或域名
h 點 Show Users找到剛剛創建的用戶點Add
此賬號將出現在Add Names的底部如果名字正確就點OK此用戶就被加到Grant To: 中
然後點OK關閉對話框關閉User Manager
注意:如果授予權限的用戶已經登錄了系統需要重新注冊授權才會生效
如果被管理結點是個UNIX系統
Checklist
o 確認已經運行了postinstallation腳本 (rootsh)
o 驗證智能代理Intelligent Agent (dbsnmp) 執行文件的訪問許可
o 啟動智能代理Intelligent Agent
運行 rootsh:
每一次oracle安裝之後都必須運行rootsh腳本該腳本設置了智能代理的執行文件(dbsnmp)的訪問權限 此腳本還創建或更新智能代理所用來確定是否系統上的所有數據庫都可以發現的oratab文件對於每個創建的數據庫都有下列格式的一項
:<$ORACLE_HOME>:[Y/N]
驗證oratab文件列出了系統中的每個數據庫並且遵循了正確的語法 rootsh shell腳本文件應當已經寫下了Oracle Home和SID的值 如果oratab中沒有項目 按如下步驟操作
> su root
> $ORACLE_HOME/orainst
> /rootsh
回答提出的問題對於每個創建的數據庫項目的格式為: :<$ORACLE_HOME>:[Y/N]
你將自動地退出rootsh
正常情況下此代理被rootsh配置為一個setuid程序如果rootsh執行成功此代理將被安裝成setuid root這樣agent就可以以 EM Console中為該結點設定的Preferred Credentials中給的用戶名和口令執行任務
檢查dbsnmp的文件訪問權限:
為了驗證rootsh已被成功的執行了檢查dbsnmp的文件訪問權限
> cd $ORACLE_HOME/bin
列出關於dbsnmp的相關詳細信息:
> ls al dbsnmp
此命令的輸出應當是如下格式的
rwsrxrx root dba Jun : dbsnmp
In this example root is the owner and the group is dba The first characters (rwxrxrx) represent the level of permissions set on the executable The first character (rws) represents the owners permissions
For example the owner has (r)read (w)write and (s)setuid on execute The next characters (rx) represent the groups permissions For example (r)read
(x)execute Group does not have write permissions The last characters (rx) represents the permissions of everyone else or world If root is the owner
and rwsrxrx are the permissions then rootsh has been ran successfully
如果dbsnmp的所有者是root訪問權限是rwsrxrx說明rootsh被成功的執行了
在Unix上啟動智能代理:
From:http://tw.wingwit.com/Article/program/Oracle/201311/17001.html