Oracle Enterprise Manager(Oracle企業管理器,簡稱OEM)通過一組Oracle程序,為管理分布式環境提供管理服務。OEM包括了一組DBA工具,一個repository,以及一個圖形化顯示的控制台。OEM控制台與每一個服務器上的智能化代理(Intelligent Agent)相對應。
智能化代理能夠監控系統的特定事件並且執行任務(作業)就像在系統本地一樣。事件和作業的結果會被送回控制台,這樣可以在一個地方管理所有的系統。
OEM與ServerManagerMotif相比,有以下優點:
1)從適用范圍看,OEM可以同時監控管理多個系統上的多個數據庫,因而特別適合分布式環境;而Server Manager只能監控管理一個數據庫。
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:運行作業出錯,錯誤信息為:“Failed to Authenticate User”。
A:在NT系統上,你必須把“Logonasabatchjob”權限授予登錄用戶,然後在OEM Preferred Credentials中設置此用戶。如果代理程序是一個7.3.x的代理程序,那這個用戶必須是一個本地的NT用戶,不能為一個DOMAIN用戶。
在Unix系統上,代理程序的權限應為:-rwsr-xr-xrootdbadbsnmp,"s"權限意味著dbsnmp進程將用root用戶的權限運行。當這權限設置以後,作業將由在OEM控制台的Preferred Credentials窗口中設置的用戶運行。
確認在OEM控制台的Preferred Credentials窗口中設置的用戶在服務器上有合適的登錄權利。
Q:客戶能創建自己定義的事件嗎?
A:在OEM1.x中,客戶不能創建自己定義的事件。這將是OEM2.x的一個新特性。
然而,你能創建一個運行TCL腳本的作業,能通過使用TCL命令orareportevent觸發一個事件。有關orareportevent的進一步信息,請參閱OEM應用開發者手冊。
Q:在控制台上,數據庫顯示為紅色的圓圈和斜線,表示數據庫已關閉;然而,數據庫是正在運行的。
A:如果數據庫監聽進程或節點顯示為紅色的圓圈和斜線,OEM控制台是在試圖通知你服務已關閉。如果服務未關閉,你需要在事件窗口中單擊“Outstanding Events tab”並將通知移動至歷史記錄,這應該從導航(navigator)和地圖(map)窗口中清除關閉提示。
Q:怎樣創建OEM Repository?
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配置正確,以及是否通信後台進程的缺省參數已被修改(使用Daemon Manager)。
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選項。