OracleEnterpriseManager(Oracle企业管理器简称OEM)是通过一组Oracle程序为管理分布式环境提供了管理服务OEM包括了一组DBA工具一个repository以及一个图形化显示的控制台OEM控制台与每一个服务器上的智能化代理(IntelligentAgent)相对应 智能化代理能够监控系统的特定事件并且执行任务(作业)就象你在系统本地一样事件和作业的结果会被送回控制台这样可以在一个地方管理所有的系统
OEM与ServerManagerMotif相比有以下优点
)从适用范围看OEM可以同时监控管理多个系统上的多个数据库因而特别适合分布式环境而ServerManager只能监控管理一个数据库
)从管理对象看OEM可以监控管理节点数据库和监听进程(listener)而ServerManager只能监控数据库
)从适用版本看OEM可以同时监控管理Oraclex和x而从版开始ServerManager已不存在
本文主要介绍一些OEM的常见问题及其解决方法
QOEM数据库工具组的功能是什麽?
AOEM数据库工具组是一组使DBA能够通过GUI界面管理Oracle数据库的工具包括以下工具
DataManager(数据管理器)这工具使你能够象加载数据一样执行数据的export/import
SchemaManager这工具使你能够在数据库中管理对象可以用于创建修改和删除tablesindexesviewssnapshotssequences等等
SecurityManager(安全性管理器)这工具使你能够管理用户角色权限及profiles
StorageManager(存储管理器)这工具允许你创建和修改表空间数据文件和回滚段
InstanceManager(实例管理器)这工具允许你关闭启动实例并且存储和管理数据库参数
SQL*Worksheet这工具使你能够运行或创造SQL脚本并且存储在硬盘上你能使用这工具重现最后执行的语句同时检查显示到屏幕上的执行结果
BackupManager(备份管理器)这工具允许你管理备份和恢复为Oracle和Oracle数据库在Oracle此工具支持EnterpriseBackupUtility(EBU)在Oracle此工具支持恢复管理器RecoveryManager
SoftwareManager(软件管理器)这允许你将远程软件安装到支持这一特性的远程服务器
Q作业状态一直为提交未变为预定(scheduled)
A作业在OEM控制台创建并且到被通过SQL*net送至智能化代理一旦当智能化代理接受作业请求会发送一个通知回到OEM控制台状态变化到预定如果状态从未从提交变化到预定那代理程序可能没有收到作业请求确定代理程序是否已经启动确定SQL*net和OEM是否已经适当配置
Q作业状态一直为预定未变为运行
A当代理程序开始运行作业的时候会发送一个通知回到OEM控制台状态变化到已发送或启动如果作业状态一直为预定而无变化那可能是代理程序不能打开一个socket回到OEM控制台原因可能是TCP/IP问题或代理程序没有足够权限去派生一个进程来运行作业在服务器端使用主机名来Ping控制台以此确定TCP/IP不存在问题确认运行作业的数据库用户具有dbaconnectresource权限
Q运行作业出错错误信息为FailedtoAuthenticateUser
A在NT系统上你必须把Logonasabatchjob权限授予登录用户然后在OEMPreferredCredentials中设置此用户如果代理程序是一个x的代理程序那这个用户必须是一个本地的NT用户不能为一个DOMAIN用户在Unix系统上代理程序的权限应为rwsrxrxrootdba
dbsnmps权限意味着dbsnmp进程将用root用户的权限运行当这权限设置以后作业将由在OEM控制台的PreferredCredentials窗口中设置的用户运行 确认在OEM控制台的PreferredCredentials窗口中设置的用户在服务器上有合适的登录权利
Q客户能创建自己定义的事件吗?
A在OEMx中客户不能创建自己定义的事件这将是OEMx的一个新特性然而你能创建一个运行TCL脚本的作业能通过使用TCL命令orareportevent触发一个事件有关orareportevent的进一步信息请参阅OEM应用开发者手册
Q在控制台上数据库显示为红色的圆圈和斜线表示数据库已关闭然而数据库是正在运行的
A如果数据库监听进程或节点显示为红色的圆圈和斜线OEM控制台是在试图通知你服务已关闭如果服务未关闭你需要在事件窗口中单击OutstandingEventstab并将通知移动至历史记录这应该从导
航(navigator)和地图(map)窗口中清除关闭提示
Q怎样创建OEMRepository?
AOEMRepository是在Oracle或Oracle数据库中的一组表这些表存储了通过OEM控制台图形化浏览的信息在OEMx结构中这些表存储在一个特定的用户下并且不能与另外的用户共享在OEMx应该用一个非system用户登录来运行脚本SMPCRESQL此用户必须有connectresource和dba权限在OEMx初次激活OEM控制台图标时将自动地创建Repository如果已存在一个早期版本的repository会提示更新表如果没有OEM表会提示创建表
Q怎样自定义OEM工具栏?
A如果要设定OEM工具栏应在工具栏上按右键选择Customizetab你能编辑工具栏项目的名字删除项目或添加项目如果在Databasetab上单击可以进入logoncredentials为每数据库选择一个默认值输入项
Q当登录至OEM控制台时得到以下错误信息
VOCFailuretoobtaininterfacelogin
A原因是OEM通信后台进程不能打开一个与Repository的连接
确认TCP/IP配置正确以及是否通信后台进程的缺省参数已被修改(使用DaemonManager)
Q当使用OEM控制台时得到以下错误信息
VOCFailuresettingcredentialdetailsORANot connected to ORACLE
A原因是OEMRepository所在数据库已关机或是连接数据库的服务发生了网络故障
Q当使用SYSDBA登录至OEM控制台时得到以下错误信息
VOCFailureupdatingorinsertingauserdetailentry
ORATableorviewdoesnotexist
A用户登录至OEM控制台的缺省角色是NORMAL如果你需要作为SYSDBA连接应该在PreferredCredentials窗口中设置CONNECTASSYSDBA选项