OracleEnterpriseManager(Oracle企業管理器,簡稱OEM)是通過一組Oracle程式,為管理分布式環境提供了管理服務。OEM包括了一組DBA工具,一個repository,以及一個圖形化顯示的控制台。OEM控制台與每一個伺服器上的智能化代理(IntelligentAgent)相對應。
智能化代理能夠監控系統的特定事件並且執行任務(作業)就象你在系統本地一樣。事件和作業的結果會被送回控制台,這樣可以在一個地方管理所有的系統。
OEM與ServerManagerMotif相比,有以下優點:
1)從適用範圍看,OEM可以同時監控管理多個系統上的多個資料庫,因而特別適合分布式環境;而ServerManager只能監控管理一個資料庫。
2)從管理對象看,OEM可以監控管理節點,資料庫和監聽進程(listener),而ServerManager只能監控資料庫。
3)從適用版本看,OEM可以同時監控管理Oracle7.x和8.x,而從8版開始,ServerManager已不存在。
本文主要介紹一些OEM的常見問題及其解決方案。
Q:OEM資料庫工具組的功能是什麽?
A:OEM資料庫工具組是一組使DBA能夠通過GUI介面管理Oracle資料庫的工具。包括以下工具:
DataManager(資料管理器):這工具使你能夠象載入資料一樣執行資料的export/import。
SchemaManager:這工具使你能夠在資料庫中管理對象。可以用於建立,修改,和刪除tables,indexes,views,snapshots,sequences等等。
SecurityManager(安全性管理器):這工具使你能夠系統管理使用者,角色,許可權及profiles。
StorageManager(儲存管理器):這工具允許你建立和修改資料表空間,資料檔案和復原段.
InstanceManager(執行個體管理器):這工具允許你關閉,啟動執行個體並且儲存和管理資料庫參數。
SQL*Worksheet:這工具使你能夠運行或創造SQL指令碼並且儲存在硬碟上。你能使用這工具重現最後執行的語句;同時,檢查顯示到螢幕上的執行結果。
BackupManager(備份管理器):這工具允許你管理備份和恢複為Oracle7和Oracle8資料庫。在Oracle7此工具支援EnterpriseBackupUtility(EBU),在Oracle8此工具支援復原管理員RecoveryManager。
SoftwareManager(軟體管理器):這允許你將遠程軟體安裝到支援這一特性的遠程伺服器。
Q:作業狀態一直為提交,未變為預定(scheduled)。
A:作業在OEM控制台建立並且到被通過SQL*net送至智能化代理。一旦當智能化代理接受作業請求,會發送一個通知回到OEM控制台,狀態變化到"預定"。如果狀態從未從提交變化到預定,那代理程式可能沒有收到作業請求。
確定代理程式是否已經啟動,確定SQL*net和OEM是否已經適當配置。
Q:作業狀態一直為預定,未變為運行
A:當代理程式開始運行作業的時候,會發送一個通知回到OEM控制台,狀態變化到"已發送"或"啟動"。如果作業狀態一直為預定而無變化,那可能是代理程式不能開啟一個socket回到OEM控制台,原因可能是TCP/IP問題或代理程式沒有足夠許可權去派生一個進程來運行作業。
在伺服器端使用主機名稱來Ping控制台,以此確定TCP/IP不存在問題;確認運行作業的資料庫使用者具有dba,connect,resource許可權。
Q:運行作業出錯,錯誤資訊為:"FailedtoAuthenticateUser"。
A:在NT系統上,你必須把"Logonasabatchjob"許可權授予登入使用者,然後在OEMPreferredCredentials中設定此使用者。如果代理程式是一個7.3.x的代理程式,那這個使用者必須是一個本地的NT使用者,不能為一個DOMAIN使用者。
在Unix系統上,代理程式的許可權應為:-rwsr-xr-xrootdba dbsnmp"s"許可權意味著dbsnmp進程將用root使用者的許可權運行。當這使用權限設定以後,作業將由在OEM控制台的PreferredCredentials視窗中設定的使用者運行。
確認在OEM控制台的PreferredCredentials視窗中設定的使用者在伺服器上有合適的登入權利。
Q:客戶能建立自己定義的事件嗎?
A:在OEM1.x中,客戶不能建立自己定義的事件。這將是OEM2.x的一個新特性。然而,你能建立一個運行TCL指令碼的作業,能通過使用TCL命令orareportevent觸發一個事件。有關orareportevent的進一步資訊,請參閱OEM應用開發人員手冊
Q:在控制台上,資料庫顯示為紅色的圓圈和斜線,表示資料庫已關閉;然而,資料庫是正在啟動並執行。
A:如果資料庫,監聽進程或節點顯示為紅色的圓圈和斜線,OEM控制台是在試圖通知你服務已關閉。如果服務未關閉,你需要在事件視窗中單擊"OutstandingEventstab"並將通知移動至記錄,這應該從導航(navigator)和地圖(map)視窗中清除關閉提示。
Q:怎樣建立OEMRepository?
A:OEMRepository是在Oracle7或Oracle8資料庫中的一組表,這些表格儲存體了通過OEM控制台圖形化瀏覽的資訊。在OEM1.x結構中,這些表格儲存體在一個特定的使用者下並且不能與另外的使用者共用。在OEM1.2.x,應該用一個非"system"使用者登入來運行指令碼SMPCRE.SQL,此使用者必須有connect,,resource和dba許可權。在OEM1.3.x,初次啟用OEM控制台表徵圖時將自動地建立Repository。如果已存在一個早期版本的repository,會提示更新表;如果沒有OEM表,會提示建立表。
Q:怎樣自訂OEM工具列?
A:如果要設定OEM工具列,應在工具列上按右鍵;選擇Customizetab。你能編輯工具列項目的名字,刪除項目,或添加項目。如果在Databasetab上單擊,可以進入logoncredentials,為每資料庫選擇一個預設值輸入項.
Q:當登入至OEM控制台時,得到以下錯誤資訊:
VOC-00002:Failuretoobtaininterfacelogin
A:原因是OEM通訊後台進程不能開啟一個與Repository的串連。確認TCP/IP配置正確,以及是否通訊後台進程的預設參數已被修改(使用
DaemonManager)。
Q:當使用OEM控制台時,得到以下錯誤資訊:
VOC-00107:FailuresettingcredentialdetailsORA-03114:Not connectedtoORACLE
A:原因是OEMRepository所在資料庫已關機,或是串連資料庫的服務發生了網路故障。
Q:當使用SYSDBA登入至OEM控制台時,得到以下錯誤資訊:
VOC-00121:Failureupdatingorinsertingauserdetailentry ORA-00942:Tableorviewdoesnotexist
A:使用者登入至OEM控制台的預設角色是NORMAL,如果你需要作為SYSDBA串連,應該在PreferredCredentials視窗中設定CONNECTASSYSDBA選項。