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