分类: Oracle
2008-03-31 17:03:50
如何配置oem的oms工作方式
A.认识企业管理器(EM)的体系结构
B. 企业管理器(EM)的框架的设置
A. 认识EM(企业管理器)的体系结构
=====================================
Oracle Enterprise Manager (EM) 2.x 实现了一个3层结构,其组成如下:
第一层 First-tier: 第一层是客户端工具,如:EM Console, DBA Management Pack和其他集成的Oracle应用。这些工具是从Windows NT, Windows 95, Windows 98或Sun Solaris等机器的本地启动的。这些工具也可以是通过浏览器下载下来的JAVA applet。
中间层 Middle-tier: 中间层(也就是第二层) 由安装在Windows NT或Sun Solaris server上的Oracle Management Server (OMS)构成。 要使用EM Console(企业管理器的控制台)和Job&Event subsystem(任务与事件子系统),必须有一个配置好的Oracle Management Server。
OMS提供了: - 访问EM库(Repository)中的信息 - 分派控制台的请求 - 控制任务执行 - 监控事件 - 通过电子邮件或寻呼提示任务的完成或事件发生
多个OMS能够提供: - 无需额外的管理,就可以实现负载的分布 - 工作量能够自动地被共享和均衡 - 容错:一个OMS可以重做另外一个OMS的工作量
第三层 Third-tier: 第三层是智能代理(Intelligent Agent),是在每个server上必须安装的,用来执行任务和监控发生在该服务器各被管理对象上的事件的软件. 被管理对象包括网络节点(服务器)、数据库、侦听程序(listener)以及其他安装在这些结点上的Oracle服务。 这三层可以是在同一台机器上,不同的机器上,或任意的组合,都可以。
B. 企业管理器(EM)框架的设置
================================
为了配置简便,每层配置后,应先验证是否配置正确,然后到下一层。方便的构造过程是从第三层到第一层。
I. 配置第三层: 为了管理结点和结点上的oracle服务,必须在结点上配置并运行一个智能代理(Intelligent Agent)。 智能代理是由Oracle Server CD上安装的。详细安装信息,参考Oracle Server安装指南和Intelligent Agent用户指南。
如果被管理的结点是一个Windows NT系统:
Checklist -
o 启动智能代理
o 设置一个有"Logon as Batch Job"权限的Windows NT 管理员用户
1. 启动智能代理/Intelligent Agent:
启动一个Windows NT上的Intelligent Agent, 操作如下:
a. 双点[控制面板/Control Panel;文件夹中的服务/Services图标。
b. 选择名为Oracle<racle home>Agent的服务。
c. 点击[开始/Start]按钮,启动这个代理。
停止一个Windows NT上的Intelligent Agent, 操作如下:
a. 双点[控制面板/Control Panel]文件夹中的服务/Services图标。
b. 选择名为Oracle<racle home>Agent的服务。
c. 点击[停止/Stop ]按钮,停止这个代理。
验证此代理是否在运行,进行下面操作的任意组合:
a. 在控制面板的服务中检查Oracle<racle home>Agent的状态
b. 验证NT任务管理器中是否有进程dbsnmp.exe。
c. 在命令行中执行net start命令。Oracle<oracle home>Agent应当出现在服务列表中。
2. 设置用于运行任务和事件监控的Windows NT用户的账户
Checklist -
o 确定Windows NT系统的类型
o 创建一个和管理员等同的账号(用户)
o 给新用户授予"Logon as a Batch Job" 的权限 因为Windows NT是一个安全的操作系统,NT上的智能代理必须通过一个拥有"Logon as a Batch Job"权限的NT用户来执行任务和事件。此特权 可以赋给一个一存在的本地用户或域用户,或者一个新的NT用户。
1、下面是如何设置Windows NT用户的帐号。(Refer to the EM Configuration Guide for additional information.) 注意:要创建或修改NT上的账号,必须以有"Administrator" (管理员)特权的用户登录。
先判断ORACLE安装在一个什么类型的Windows NT系统上:主域控制器(PDC), 备份控制器 (BDC), 独立的(member) Server还是一个工作站。
如果机器是PDC或BDC,按照一下步骤建立或修改一个域用户。
如果NT系统不是PDC或BDC,从“设置一个本地用户”一节开始。
设置一个域用户: 运行域的用户管理器 选择 Start => Programs =>Administrative Tools => User Manager for Domains 窗口的标题条应该是"USER MANAGER - <Domain Name>" ,
设置一个本地用户: 运行用户管理器(for Domains) 选择 Start => Programs => Administrative Tools => User Manager (For Domains) 窗口的标题条应该是: USER MANAGER - \\ <machine name> 如果标题条中列出了域的名字,选User => Select Domain。 输入" name>" (例如.\\bobpc) 注意: 如果已有一个Windows NT账号account will be used by the Intelligent Agent, skip to the section "Grant Logon as a Batch Job Privilege" (step (d) below).
2、创建一个用户:
a. 选中一个管理员账号,选菜单User => Copy,拷贝这个账号及其权限.
b. 为EM账号输入新的用户名和口令 (如EMUSER)
c. 验证确保仅有"口令永不过期"被打上钩。选择Add。 注意:如果在域中存在相同的名字的域用户和本地用户,口令必须有区别。口令是区分大小写的。 并且本地帐户优先。
3、在第三层上为用户授予本地的"Logon as Batch Job"权限:
a.选中在步骤(a)中创建的用户。 选择菜单 Policies =>User Rights。
b. Click on the box next to Show advanced user rights.
c. 选择Rights权限下拉列表中的“Logon as a Batch Job”。 如果有账号曾被授予过这个权限, "Grant to" 列表中将包含这个账号的名字。
d. 选择Add。确保FROM中列出的是正确的名字: (1) 域名,如果你想创建一个域用户的话 ; 或 (2) 本地机器名,如果你要创建一个本地用户 如果名字不正确,选择下拉列表,选择正确的机器名或域名。
e. 点 Show Users。找到刚刚创建的用户,点Add。 此账号将出现在Add Names的底部。如果名字正确,就点OK。此用户就被加到Grant To: 中。 然后,点OK关闭对话框。关闭User Manager。
注意:如果授予权限的用户已经登录了系统,需要重新注册,授权才会生效。
-----------------------------------------------------
如果被管理结点是个UNIX系统:
Checklist -
o 确认已经运行了post-installation脚本 (root.sh)。
o 验证智能代理Intelligent Agent (dbsnmp) 执行文件的访问许可
o 启动智能代理Intelligent Agent
1. 运行 root.sh: 每一次oracle安装之后,都必须运行root.sh脚本。该脚本设置了智能代理的执行文件(dbsnmp)的访问权限。 此脚本还创建或更新/etc/oratab文件
,这个文件是oracle提供的启动脚本的开关控制。对于每个创建的数据库,都有下列格式的一项: <SID>:<$ORACLE_HOME>:[Y/N] 验证oratab文件列出了系统中的每个数据库,并且遵循了正确的语*。 root.sh shell脚本文件应当已经写下了Oracle Home和SID的值。 如果oratab中没有项目, 按如下步骤操作: > su root > $ORACLE_HOME/orainst > ./root.sh 回答提出的问题。对于每个创建的数据库,项目的格式为: <SID>:<$ORACLE_HOME>:[Y/N] 你将自动地退出root.sh。 正常情况下,此代理被root.sh配置为一个setuid程序。如果root.sh执行成功,此代理将被安装成"setuid root",这样agent就可以以 EM Console中为该结点设定的Preferred Credentials中给的用户名和口令执行任务。
2. 检查dbsnmp的文件访问权限:
为了验证root.sh已被成功的执行了.
检查dbsnmp的文件访问权限: > cd $ORACLE_HOME/bin
列出关于dbsnmp的相关详细信息: > ls -al dbsnmp 此命令的输出应当是如下格式的: -rwsr-xr-x 1 root dba 1497980 Jun 12 21:04 dbsnmp In this example, root is the owner and the group is dba. The first 10 characters (-rwxr-xr-x) represent the level of permissions set on the executable. The first 4 character (-rws) represents the owners permissions. For example, the owner has (r)read, (w)write, and (s)setuid on execute. The next 3 characters (r-x) represent the groups permissions. For example, (r)read, (x)execute. Group does not have write permissions. The last 3 characters (r-x) represents the permissions of everyone else or "world". If root is the owner and -rwsr-xr-x are the permissions, then root.sh has been ran successfully.如果dbsnmp的所有者是root,访问权限是-rwsr-xr-x,说明root.sh被成功的执行了。
3. 在Unix上启动智能代理: 在UNIX系统上, 智能代理是由"lsnrctl" 程序来启动和停止dbsnmp进程的。控制代理的命令如下:
在UNIX平台上启动代理 lsnrctl dbsnmp_start
在UNIX平台上停止代理 lsnrctl dbsnmp_stop
验证代理的状态 lsnrctl dbsnmp_status
=====================================
II. 配置中间层 - Oracle 管理服务器
Checklist -
o 验证用于存储EM数据的数据库符合安装前的要求。
o 运行Enterprise Manager Configuration Assistant来升级或创建新的EM存储库。
o 启动Oracle Management Server. Oracle管理服务器(OMS)提供了在EM客户端和被管理结点之间的集中控制。 OMS必须安装在Sun Solaris (2.6以上) 或 Windows NT 4.0 SP4以上,或Linux。
1. 安装前的设置 OMS要有一个EM库(Repository)来存储所有的系统数据,应用数据和环境中被管理结点的状态。
a. EM Repository是存储在网络上可访问到的一个Oracle8x服务器上的一个模式中。它是OMS所需要的表,视图,索引,存储过程等对象的集合。
b. Oracle建议将EM Repository建立在一个非产品的实例中,这样实例可以被完全管理,不影响EM Repository的状态。
c. 在存放EM Repository的数据库的init<sid>.ora文件中,参数"processes ="至少应设为200。实例必须被重起以使设置生效。
d. EMCA 2.1将在数据库中创建OEM_REPOSITORY表空间(如果它不存在的话)。当然你也可以手工创建这个表空间。 要手工创建表空间,在Oracle 8.x数据库上运行下面的脚本。此脚本创建一个带一个初始大小为5M的数据文件的表空间,此数据文件可以自动扩展到80M。 CREATE TABLESPACE "OEM_REPOSITORY" DATAFILE '<atafile_specification>' SIZE 5M AUTOEXTEND ON NEXT 25M MAXSIZE 80M DEFAULT STORAGE (INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 ) MINIMUM EXTENT 128K
2. 运行企业管理器配置助理 Enterprise Manager Configuration Assistant:
企业管理器配置助理 (EMCA) 在每次OMS安装的最后都将被自动启动,用来创建和更新EM repository。
注意: 在安装后,启动EMCA: - 选择菜单 Programs => Oracle<oracle home> => Enterprise Management => Configuration Assistant
在命令行中输入: emca EMCA可以完成如下任务:
- 创建 repository用户
- 为repository用户创建模式/schema对象
- 向EM repository中加载OMS registry数据.
- 设置OMS将使用的配置文件
- 从一个用户模式中清除repository。
- 修改OMS连到哪个repository。
创建一个新的EM repository:
a. 启动EMCA, 选择 Create 选项。
b. 输入一个拥有DBA权限的数据库用户的用户名。此用户用来创建EM Repository模式的拥有者。 对于服务名信息, Oracle建议使用JDBC连接串(<host>:<port>:<sid> )来连接数据库。使用这种类型的连接串时,将不使用本地的TNSNAMES.ORA文件。相同的JDBC连接串将被存储在<OMS_oracle_home/sysman/config/> omsconfig.properties 文件中并在建立OMS到EM Repository的连接的时候使用。
c. 输入EM Repository模式的名字: repository用户名是用于存储repository的数据库用户模式。 它既可以是一个已存在的用户,也可以是一个EMCA创建的新用户。 如果你计划在同一个intranet创建多个repository, repository的所有者的用户名必须是唯一的。
d. 如果是EMCA创建的新用户,必须为用户指定缺省表空间和临时表空间。 否则,repository将创建在用户所给的缺省表空间中。缺省的表空间是 OEM_REPOSITORY。
e. EMCA将自动弹出一个屏幕显示整个配置过程完成的不同步骤的详细信息。配置成功结束后, 将有一个进行新的操作的提示。到这里,配置已经完成了。
The next step will be to start the OMS.
3. 启动Oracle Management Server: 在Windows NT上启动OMS, 执行如下步骤:
a. 双点[控制面板/ Control Panel]中的服务/Services图标。
b. 选择服务 - OracleManagementServer 。
c. 点按钮[启动/Start]来启动这个服务。 在Solaris上: 在命令行中,输入: oemctrl start oms& 如果启动OMS失败,请察看在目录$ORACLE_HOME/sysman/log 下的日志文件oms.log中的详细信息。对于EM 2.1的Solaris版本,日志文件的名字是oms.nohup。
=====================================
III - 配置第一层
Checklist -
o 启动EM Console控制台
o 发现被管理结点及其被管理的服务
o 设定缺省登录验证字
o 测试配置
o 启动DBA管理工具
1. 启动企业管理器控制台(EM Console)
在Windows NT上启动控制台: 点 Programs => Oracle<oracle home> => Enterprise Management => Configuration Assistant 或者从命令行,输入: oemapp console 从Solaris上: 在命令行输入: oemapp console 缺省的EM登录名是: sysman / oem_temp 在输入了缺省的登录名之后,你将被强制要求修改初始密码,改完后要记住啊! 登录完成后,可以设定另外的EM用户。这些用户只是EM console和OMS的用户。 他们不是数据库账号,但是这些用户是存储在EM Repository的一个表中。
2. 发现和寻找被管理结点 为了在EM控制台中管理各结点和数据库的任务和事件,这些结点必须被EM控制台发现。 为了找到一个结点,这个结点上的智能代理(Intelligent Agent )必须正运行着。在OMS机器和结点之间,必须存在TCP/IP的解析。为了验证网络解析,你必须能在OMS机器上ping到服务器的主机名和ip地址,也能从服务器上ping到OMS机器的主机名和ip地址。如果主机名不能双向的ping通,请咨询局域网的管理员。 在EM控制台中, 选择菜单Navigator => Discover Nodes。输入你想找到的机器的TCP主机名。 完成后,导航板中出现代表这个服务器上的服务的条目。. EM直接读取服务器上的智能代理写在文件services.ora中的信息。如果这些信息看上去不对,智能代理的发现过程将出错。 在执行了发现过程之后,可以通过选择菜单: System => Update TNS Alias来更新本地的TNSNAMES.ORA文件。如果设置了TNS_ADMIN变量,tnsnames.ora文件必须被复制到那里。
3. 设置缺省登录验证字 为了对被发现的服务执行任务和时间,需要在EM控制台上设定登录验证字。在提交任务和事件的时候,这些验证字将被传给服务器的Intelligent Agent。 在EM Console中, 进入菜单 System => Preferences,进入Preferred Credentials页。 - 对于每个数据库类型的服务,必须输入数据库的用户。 - 对于每个节点类型的服务,必须输入操作系统的用户。 注意: 对于Unix节点, 可以使用Oracle用户。 对于Windows NT节点,必须使用一个有Logon as a Batch Job权限的用户。
4. 测试配置
为了验证第三层、第二层和第一层是否配置正确,创建一个简单的测试任务。
a) 在EM Console中, 选择菜单Job => Create Job。
b) 在 General 页中,给出任务名字,并选择任务运行在哪个数据库上。
c) 在Tasks页中,选择"Run SQL*Plus Script" 。
d) 在Parameters 页中,在文本框script中输入select * from dual] 。 点击窗口底部的Submit按钮。 在Jobs pane中的Active页中, 你应该看到任务开始运行了。当任务完成后,它将被移到History页中。到 History页中去察看这个任务的状态是"Completed" 还是 "Failed"。 如果任务的状态是"Completed", 那么EM任务系统就配置好了。 如果任务的状态是"Failed", 在History页中双点这个任务,将打开一个"Edit Job"窗口。 在这个窗口中,选中有"ailed"的一行,点击按钮"Show Output"。任务输出窗口将显示出错误信息。
5. 从控制台之外,启动DBA工具
1) 在Windows NT/95/98上: 工具可以从程序组或命令行中单独启动。
命令行的语*如下:
首先转换到ORACLE_HOME\bin目录下:
C> oemapp dbastudio
C> oemapp security
C> oemapp schema
C> oemapp instance
C> oemapp storage
C> oemapp worksheet
2) 在Unix系统上: 在命令行中可以如此启动那些工具:
$ oemapp dbastudio
$ oemapp security
$ oemapp schema
$ oemapp instance
$ oemapp storage
$ oemapp worksheet
注意: 在EM Console之外启动这些工具的时候, service name必须要么是JDBC连接串,要么是TNSNAMES.ORA文件中已有的别名。 Tnsnames.ora文件位于<EM Oracle Home>/network/admin 或者在变量TNS_ADMIN中指定的目录下。