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 connected to ORACLE
A:原因是OEMRepository所在数据库已关机,或是连接数据库的服务发生了网络故障。
Q:当使用SYSDBA登录至OEM控制台时,得到以下错误信息:
VOC-00121:Failureupdatingorinsertingauserdetailentry
ORA-00942:Tableorviewdoesnotexist
A:用户登录至OEM控制台的缺省角色是NORMAL,如果你需要作为SYSDBA连接,应该在PreferredCredentials窗口中设置CONNECTASSYSDBA选项。