服务器 频道

Oracle Enterprise Manager常见问题及解决

  【IT168 服务器学院】Oracle Enterprise Manager(Oracle企业管理器,简称OEM)是通过一组Oracle程序,为管理分布式环境提供了管理服务。OEM包括了一组DBA工具,一个repository,以及一个图形化显示的控制台。OEM控制台与每一个服务器上的智能化代理(IntelligentAgent)相对应。

  智能化代理能够监控系统的特定事件并且执行任务(作业)就象你在系统本地一样。事件和作业的结果会被送回控制台,这样可以在一个地方管理所有的系统。
  
  OEM与Server Manager Motif相比,有以下优点:
  1)从适用范围看,OEM可以同时监控管理多个系统上的多个数据库,因而特别适合分布式环境;而Server Manager只能监控管理一个数据库。
  2)从管理对象看,OEM可以监控管理节点,数据库和监听进程(listener),而Server Manager只能监控数据库。
  3)从适用版本看,OEM可以同时监控管理Oracle7.x和8.x,而从8版开始,Server Manager已不存在。
  
  本文主要介绍一些OEM的常见问题及其解决方法。
  Q:OEM数据库工具组的功能是什麽??
  A:OEM数据库工具组是一组使DBA能够通过GUI界面管理Oracle数据库的工具。包括以下工具:
  Data Manager(数据管理器):这工具使你能够象加载数据一样执行数据的export/import。
  Schema Manager:这工具使你能够在数据库中管理对象。可以用于创建,修改,和删除tables,indexes,views,snapshots,sequences等等。
  Security Manager(安全性管理器):这工具使你能够管理用户,角色,权限及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"权限授予登录用户,然后在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控制台是在试图通知你服务已关闭。如果服务未关闭,你需要在事件窗口中单击“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:NotconnectedtoORACLE
  A:原因是OEMRepository所在数据库已关机,或是连接数据库的服务发生了网络故障。
  
  Q:当使用SYSDBA登录至OEM控制台时,得到以下错误信息:
  VOC-00121:Failureupdatingorinsertingauserdetailentry
  ORA-00942:Tableorviewdoesnotexist
  A:用户登录至OEM控制台的缺省角色是NORMAL,如果你需要作为SYSDBA连接,应该在Preferred Credentials窗口中设置CONNECTASSYSDBA选项。
  Q:当登录至OEM控制台时,得到以下错误信息:
  VOC-00111:OracleDaemonprocesscouldnotbestarted
  A:通信后台进程不能初始化的原因是因为NT或Windows95的登录库输入项(registryentries)是缺少或无效的。
  在命令提示符状态下手工地运行VOD.EXE注册.OCX。
  
  Q:当登录至OEM控制台时,得到以下错误信息:
  VOD-00111:OracleDaemonprocesscouldnotbestartedVODA.EXE:AdeviceattachedtothesystemisnotfunctioningNCRNT.DLL:FileislinkedtomissingexportinNSNT.DLL:nsmhwk
  A:原因是在同一个ORACLE_HOME中安装了2个以上版本的SQL*NetV2,应该仅仅运行与OEM光盘所含版本的SQL*Net。
  启动Oracle安装程序,移去所有的更早版本的SQL*NetV2.X。
  
  Q:当登录至OEM控制台时,得到以下错误信息:
  VOD-01413:Failedtolistenforincomingconnections
  A:后台进程的LISTENINGADDRESS设置错误或是系统的TCP/IP未设置。
  
  Q:当登录至OEM控制台时,得到以下错误信息:
  VAX-14001:Repository(x.x)isnotcompatiblewiththeOEM(x.x)
  A:原因是在此用户中找不到Repository表格或当创建Repository表格时发生问题。
  应重新创建Repository。
  
  Q:OEM控制台安装在一个共享网络驱动器上,当登录至OEM控制台时,得到GPF。
  A:不应试图从一个共享网络驱动器运行OEM控制台,OEM1.x产品应该安装在每个工作站的本地盘上。
  
  Q:当试图使用OEM对数据库进行离线备份时,得到以下错误信息:
  ORA-00942:SMP_OFFLINE_BACKUP_LOCKtablesnotfound
  A:用DBSNMP用户登录来运行脚本BACKUPTS.SQL。
  
  Q:当试图使用OEM对数据库进行热备份时,得到以下错误信息:
  "calltoaltertablespacebackupfailed"NMS-5001:unabletostartHOTbackup
  A:数据库不在ArchiveLog方式。
  将数据库改为ArchiveLog方式。
  
  Q:当试图升级或创建一个新的repository时,得到以下错误信息:
  VOJ-7016:ErrorInsertingintoselectfrom
  A:如果是从OEM1.2.2升级到OEM1.3.5,这是一个BUG。可以运行SMPCRE.SQL来删除1.2.2仓库或联系OracleWorldWideSupport以得到PATCH。
  如果这不是升级而是一个新的安装,应检查用户所在表空间,修改存储参数或增加新的数据文件。
  
  Q:在安装OEM1.3.5时,得到以下错误信息:
  "oem10.ins154writeerrorwhilecopyingfile
  c:\windows\system\oleaut32.new"
  A:安装程序试图用一个较老版本的oleaut32.dll来覆盖当前的文件。
  将oleaut32.dll拷贝为oleaut32.old,然后重新启动Oracle安装程序。
  
  Q:在OEM控制台提交,预定,运行一个作业,在“完成”状态上双击,输出为:
  "Outputfromjobxxxlost"
  A:原因是代理程序没有权限创建临时的输出文件。
  确认运行作业和启动代理程序的用户在$ORACLE_HOME/network/agent目录有足够的权限。确认在数据库中存在"dbsnmp"用户和"snmpagent"角色。
  
  Q:在OEM控制台试图运行一个作业,作业状态显示为"Submitted""Failed",在Failed上双击,输出为:"FailedtoAuthenticateUser"
  A:在OEM Preferred Credentials中指定的节点登录用户没有正确的OS权限。
  进入OEM,选择FILE->PREFERENCES,选择节点(而不是数据库),输入一个有效的OS用户。注意:在NT服务器上,此用户必须有"LOGONASBATCHJOB"的NT系统权限。
  如果是在一个unix服务器上运行作业而且已经正确设置了Preferred Credentials,那可能是代理程序的特定端口问题。有两种方案:
  1.在Preferred Credentials中使用"root"用户。
  或2.将dbsnmp的所有者从Changetheownershipoffrom"root"to"oracle".
  Q:在OEM控制台试图运行一个作业或登记一个事件时,得到以下错误信息:
  "InvalidServiceNameorORA-12154"
  A:原因是存储在repository中的连接字符串与存储在服务器和客户机上的TNSNAMES.ORA中的连接字符串不匹配。
  确认所有的系统使用相同的服务描述符或连接串。
  
  Q:当在OEM1.3.5版中试图运行一个EXPORT任务,EXPORT似乎已经完成,但是作业状态总是显示为"Failed"。
  A:这是OEM1.3.5版中的一个BUG,事实上,EXPORT已经完成,系统中已生成一个ex因是代理程序不能将OEM控制台所在的客户机的HOSTNAME解析到它的IPADDRESSport.dmp文件。
  应升级到OEM的一个更高的版本。在新版本中,.OCX文件被完全重写来改正先前的版本中所有的错误。
  
  Q:当试图在远程运行一个作业时,控制台状态一直是"Scheduled";但在服务器发现*.jou文件显示作业已经完成。
  A:原因是代理程序不能将OEM控制台所在的客户机的HOSTNAME解析为IPADDRESS。
  在服务器上的HOSTS文件中输入此客户机的HOSTNAME与IPADDRESS;另一个解决方案是通过DaemonManager将监听地址从notfound修改为(description=(address=(protocol=tcp)(host=)(port=7770)))
  Q:作业一直不能完成,总是处于submitted或scheduled状态。
  A:如果作业总处于提交的状态,那是因为CommunicationDaemon无法将作业传递给代理程序。
  应确认服务器上代理程序处于运行状态,而且SQL*Net已经连通,打开进程跟踪程序。
  如果作业总处于预定的状态且在服务器上没有.jou文件存在,那是因为代理程序没有权限派生一个进程来处理作业。
  应确认用户的OS权限,应用与数据库用户相同的权限来启动代理程序。
  
  Q:已为某个特别事件定义了email通知,当系统试图发送一email给系统管理员时,得到以下错误信息:"CreateDispatchtoMailBrokerFailed"
  A:原因是OEM控制台不能定位mail/pagingbroker的OLEinterface。
  应双击$ORACLE_HOME/sysman/admin/vmem.reg或在DOS命令提示符下运行VMEM.EXE。
  
  Q:在试图注册事件时,注册不成功,返回状态为"Failed"或"Pending"。
  A:如果事件返回状态为"Failed",应该检查数据库和OS权限。
  如果事件返回状态为"Pending",应该检查代理程序。可能是代理程序未运行或是在控制台的通信进程和代理程序之间的通信工作不正常。
  
  Q:试图使用InstanceManager或OEM作业关闭数据库时,得到以下错误信息:
  ORA-1031:InsufficientPriviledges
  A:如果试图用一个INTERNAL以外的用户关闭数据库,必须在登录时使用"ConnectasSYSDBA"选项。只有在数据库的Preferred Credentials已设置为此选项而且用户已被授予此权限的情况下,OEM控制台才会通过。
 

0
相关文章