RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站

 当前位置:主页 >> 数据库 >> Oracle >> 文章内容
Oracle企业管理器(OEM 2.1)使用指南
[收藏此页[打印本页]   
来源:互联网  作者:未知  发布时间:2007-12-22

内容 
----------------- 
A.认识企业管理器(EM)的体系结构 
B. 企业管理器(EM)的框架的设置 

www phperz com

A. 认识EM(企业管理器)的体系结构 
===================================== 

PHP程序员站

Oracle Enterprise Manager (EM) 2.x 实现了一个3层结构,其组成如下:  PHP程序员站

第一层 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。 

PHP程序员站--PHP程序员之家

OMS提供了: 
- 访问EM库(Repository)中的信息 
- 分派控制台的请求 
- 控制任务执行 
- 监控事件 
- 通过电子邮件或寻呼提示任务的完成或事件发生 

www phperz com

多个OMS能够提供: 
- 无需额外的管理,就可以实现负载的分布 
- 工作量能够自动地被共享和均衡 
- 容错:一个OMS可以重做另外一个OMS的工作量 

www.phperz.com

第三层 Third-tier: 
第三层是智能代理(Intelligent Agent),是在每个server上必须安装的,用来执行任务和监控发生在该服务器各被管理对象上的事件的软件. 被管理对象包括网络节点(服务器)、数据库、侦听程序(listener)以及其他安装在这些结点上的Oracle服务。 

www.phperz.com

这三层可以是在同一台机器上,不同的机器上,或任意的组合,都可以。  PHP程序员站

B. 企业管理器(EM)框架的设置 
================================ 

phperz.com

为了配置简便,每层配置后,应先验证是否配置正确,然后到下一层。方便的构造过程是从第三层到第一层。  www phperz com

I. 配置第三层:  www phperz com

为了管理结点和结点上的oracle服务,必须在结点上配置并运行一个智能代理(Intelligent Agent)。 
智能代理是由Oracle Server CD上安装的。详细安装信息,参考Oracle Server安装指南和Intelligent Agent用户指南。  www phperz com

如果被管理的结点是一个Windows NT系统: 

PHP程序员站--PHP程序员之家

Checklist - 
o 启动智能代理 
o 设置一个有"Logon as Batch Job"权限的Windows NT 管理员用户 

www phperz com

1. 启动智能代理/Intelligent Agent: 

PHP程序员站

启动一个Windows NT上的Intelligent Agent, *作如下: 
a. 双点[控制面板/Control Panel]文件夹中的服务/Services图标。 
b. 选择名为Oracle<oracle home>;Agent的服务。 
c. 点击[开始/Start]按钮,启动这个代理。 

www~phperz~.com

停止一个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应当出现在服务列表中。  PHP程序员站--PHP程序员之家


2. 设置用于运行任务和事件监控的Windows NT用户的账户 

PHP程序员站--PHP程序员之家

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.) 

www phperz com

注意:要创建或修改NT上的账号,必须以有"Administrator" (管理员)特权的用户登录。  www phperz com

先判断ORACLE安装在一个什么类型的Windows NT系统上:主域控制器(PDC), 备份控制器 (BDC), 独立的(member) Server还是一个工作站。 如果机器是PDC或BDC,按照一下步骤建立或修改一个域用户。如果NT系统不是PDC或BDC,从“设置一个本地用户”一节开始。 

phperz.com


设置一个域用户: 

PHP程序员站

运行域的用户管理器  PHP程序员站--PHP程序员之家

选择 Start =>; Programs =>;Administrative Tools =>; User Manager for Domains 

PHP程序员站

窗口的标题条应该是"USER MANAGER - <Domain Name>;" , 

phperz.com


设置一个本地用户:  www.phperz.com

运行用户管理器(for Domains)  www phperz com

选择 Start =>; Programs =>; Administrative Tools =>; User Manager (For Domains) 

www phperz com

窗口的标题条应该是: USER MANAGER - \\ <machine name>;  PHP程序员站--PHP程序员之家

如果标题条中列出了域的名字,选User =>; Select Domain。 输入"\\<server name>;" (例如.\\bobpc) 

www~phperz~.com

注意: 如果已有一个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

创建一个用户: 

PHP程序员站--PHP程序员之家

a. 选中一个管理员账号,选菜单User =>; Copy,拷贝这个账号及其权限. 

PHP程序员站--PHP程序员之家

b. 为EM账号输入新的用户名和口令 (如EMUSER) 

phperz.com

c. 验证确保仅有"口令永不过期"被打上钩。选择Add。  www~phperz~.com

注意:如果在域中存在相同的名字的域用户和本地用户,口令必须有区别。口令是区分大小写的。 并且本地帐户优先。 

www.phperz.com

在第三层上为用户授予本地的"Logon as Batch Job"权限: 

PHP程序员站

d.选中在步骤(a)中创建的用户。 
选择菜单 Policies =>;User Rights。  www~phperz~.com

e. Click on the box next to Show advanced user rights.  PHP程序员站

f. 选择Rights权限下拉列表中的“Logon as a Batch Job”。 如果有账号曾被授予过这个权限, "Grant to" 列表中将包含这个账号的名字。  www~phperz~.com

g. 选择Add。确保FROM中列出的是正确的名字: 

www.phperz.com

(1) 域名,如果你想创建一个域用户的话 ; 或 
(2) 本地机器名,如果你要创建一个本地用户 

www phperz com

如果名字不正确,选择下拉列表,选择正确的机器名或域名。 

www phperz com

h. 点 Show Users。找到刚刚创建的用户,点Add。 
此账号将出现在Add Names的底部。如果名字正确,就点OK。此用户就被加到Grant T 中。 
然后,点OK关闭对话框。关闭User Manager。 

www~phperz~.com

注意:如果授予权限的用户已经登录了系统,需要重新注册,授权才会生效。  PHP程序员站--PHP程序员之家

如果被管理结点是个UNIX系统:  www phperz com

Checklist - 
o 确认已经运行了post-installation脚本 (root.sh)。 
o 验证智能代理Intelligent Agent (dbsnmp) 执行文件的访问许可 
o 启动智能代理Intelligent Agent  PHP程序员站--PHP程序员之家

1. 运行 root.sh:  PHP程序员站

每一次oracle安装之后,都必须运行root.sh脚本。该脚本设置了智能代理的执行文件(dbsnmp)的访问权限。 此脚本还创建或更?悄艽硭美慈范ㄊ欠裣低成系乃惺菘舛伎梢苑⑾值膐ratab文件。对于每个创建的数据库,都有下列格式的一项: 

www phperz com

<SID>;:<$ORACLE_HOME>;:[Y/N] 

PHP程序员站--PHP程序员之家

验证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中给的用户名和口令执行任务。  PHP程序员站

2. 检查dbsnmp的文件访问权限:  PHP程序员站

为了验证root.sh已被成功的执行了,检查dbsnmp的文件访问权限: 

PHP程序员站--PHP程序员之家

>; cd $ORACLE_HOME/bin 

PHP程序员站--PHP程序员之家

列出关于dbsnmp的相关详细信息:  www.phperz.com

>; ls -al dbsnmp 

PHP程序员站

此命令的输出应当是如下格式的:  PHP程序员站

-rwsr-xr-x 1 root dba 1497980 Jun 12 21:04 dbsnmp 

phperz.com

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. 

www.phperz.com

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.  PHP程序员站--PHP程序员之家

如果dbsnmp的所有者是root,访问权限是-rwsr-xr-x,说明root.sh被成功的执行了。  PHP程序员站

3. 在Unix上启动智能代理: 

www.phperz.com

在UNIX系统上, 智能代理是由"lsnrctl" 程序来启动和停止dbsnmp进程的。控制代理的命令如下: 

PHP程序员站

在UNIX平台上启动代理 lsnrctl dbsnmp_start 
在UNIX平台上停止代理 lsnrctl dbsnmp_stop 
验证代理的状态 lsnrctl dbsnmp_status 

PHP程序员站--PHP程序员之家


II. 配置中间层 - Oracle 管理服务器 

www~phperz~.com

Checklist - 
o 验证用于存储EM数据的数据库符合安装前的要求。 
o 运行Enterprise Manager Configuration Assistant来升级或创建新的EM存储库。 
o 启动Oracle Management Server.  PHP程序员站--PHP程序员之家


Oracle管理服务器(OMS)提供了在EM客户端和被管理结点之间的集中控制。 OMS必须安装在Sun Solaris (2.6以上) 或 Windows NT 4.0 SP4以上,或Linux。  www phperz com

1. 安装前的设置  PHP程序员站

OMS要有一个EM库(Repository)来存储所有的系统数据,应用数据和环境中被管理结点的状态。 

www~phperz~.com

a. EM Repository是存储在网络上可访问到的一个Oracle8x服务器上的一个模式中。它是OMS所需要的表,视图,索引,存储过程等对象的集合。 

PHP程序员站--PHP程序员之家

b. Oracle建议将EM Repository建立在一个非产品的实例中,这样实例可以被完全管理,不影响EM Repository的状态。 

PHP程序员站

c. 在存放EM Repository的数据库的init<sid>;.ora文件中,参数"processes ="至少应设为200。实例必须被重起以使设置生效。  www.phperz.com

d. EMCA 2.1将在数据库中创建OEM_REPOSITORY表空间(如果它不存在的话)。当然你也可以手工创建这个表空间。 

www phperz com

要手工创建表空间,在Oracle 8.x数据库上运行下面的脚本。此脚本创建一个带一个初始大小为5M的数据文件的表空间,此数据文件可以自动扩展到80M。  www~phperz~.com

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 

PHP程序员站

2. 运行企业管理器配置助理 Enterprise Manager Configuration Assistant: 

PHP程序员站

企业管理器配置助理 (EMCA) 在每次OMS安装的最后都将被自动启动,用来创建和更新EM repository。  www.phperz.com

注意: 在安装后,启动EMCA: 

PHP程序员站

- 选择菜单 Programs =>; Oracle<oracle home>; =>; Enterprise Management =>; Configuration Assistant 
- 在命令行中输入: emca  PHP程序员站

EMCA可以完成如下任务:  PHP程序员站--PHP程序员之家

- 创建 repository用户 
- 为repository用户创建模式/schema对象 
- 向EM repository中加载OMS registry数据. 
- 设置OMS将使用的配置文件 
- 从一个用户模式中清除repository。 
- 修改OMS连到哪个repository。 

phperz.com


创建一个新的EM repository:  PHP程序员站

a. 启动EMCA, 选择 Create 选项。 
b. 输入一个拥有DBA权限的数据库用户的用户名。此用户用来创建EM Repository模式的拥有者。 

www phperz com

对于服务名信息, Oracle建议使用JDBC连接串(<host>;:<port>;:<sid>; )来连接数据库。使用这种类型的连接串时,将不使用本地的TNSNAMES.ORA文件。相同的JDBC连接串将被存储在<OMS_oracle_home/sysman/config/>; omsconfig.properties 文件中并在建立OMS到EM Repository的连接的时候使用。 

phperz.com

c. 输入EM Repository模式的名字: 

PHP程序员站--PHP程序员之家

repository用户名是用于存储repository的数据库用户模式。 它既可以是一个已存在的用户,也可以是一个EMCA创建的新用户。  www~phperz~.com

如果你计划在同一个intranet创建多个repository, repository的所有者的用户名必须是唯一的。 

PHP程序员站

d. 如果是EMCA创建的新用户,必须为用户指定缺省表空间和临时表空间。 否则,repository将创建在用户所给的缺省表空间中。缺省的表空间是 OEM_REPOSITORY。  PHP程序员站

e. EMCA将自动弹出一个屏幕显示整个配置过程完成的不同步骤的详细信息。配置成功结束后, 将有一个进行新的*作的提示。到这里,配置已经完成了。 

www~phperz~.com

The next step will be to start the OMS.  www phperz com

3. 启动Oracle Management Server: 
在Windows NT上启动OMS, 执行如下步骤:  PHP程序员站--PHP程序员之家

a. 双点[控制面板/ Control Panel]中的服务/Services图标。 
b. 选择服务 - OracleManagementServer 。 
c. 点按钮[启动/Start]来启动这个服务。 

www.phperz.com

在Solaris上:  www phperz com

在命令行中,输入:  phperz.com

oemctrl start oms&amp; 

PHP程序员站

如果启动OMS失败,请察看在目录$ORACLE_HOME/sysman/log 下的日志文件oms.log中的详细信息。对于EM 2.1的Solaris版本,日志文件的名字是oms.nohup。  PHP程序员站--PHP程序员之家


III - 配置第一层 

www.phperz.com

Checklist - 
o 启动EM Console控制台 
o 发现被管理结点及其被管理的服务 
o 设定缺省登录验证字 
o 测试配置 
o 启动DBA管理工具 

phperz.com

1. 启动企业管理器控制台(EM Console)  PHP程序员站--PHP程序员之家

在Windows NT上启动控制台:  PHP程序员站--PHP程序员之家

点 Programs =>; Oracle<oracle home>; =>; Enterprise Management =>; Configuration Assistant 

www~phperz~.com

或者从命令行,输入: 
oemapp console 

www phperz com

从Solaris上:  phperz.com

在命令行输入: 
oemapp console  www.phperz.com

缺省的EM登录名是: sysman / oem_temp 

www.phperz.com

在输入了缺省的登录名之后,你将被强制要求修改初始密码,改完后要记住啊! 

www phperz com

登录完成后,可以设定另外的EM用户。这些用户只是EM console和OMS的用户。 他们不是数据库账号,但是这些用户是存储在EM Repository的一个表中。  PHP程序员站--PHP程序员之家


2. 发现和寻找被管理结点  www phperz com

为了在EM控制台中管理各结点和数据库的任务和事件,这些结点必须被EM控制台发现。  PHP程序员站

为了找到一个结点,这个结点上的智能代理(Intelligent Agent )必须正运行着。在OMS机器和结点之间,必须存在TCP/IP的解析。为了验证网络解析,你必须能在OMS机器上ping到服务器的主机名和ip地址,也能从服务器上ping到OMS机器的主机名和ip地址。如果主机名不能双向的ping通,请咨询局域网的管理员。  phperz.com

在EM控制台中, 选择菜单Navigator =>; Discover Nodes。输入你想找到的机器的TCP主机名。 

PHP程序员站--PHP程序员之家

完成后,导航板中出现代表这个服务器上的服务的条目。.  www phperz com

EM直接读取服务器上的智能代理写在文件services.ora中的信息。如果这些信息看上去不对,智能代理的发现过程将出错。 

PHP程序员站

在执行了发现过程之后,可以通过选择菜单: System =>; Update TNS Alias来更新本地的TNSNAMES.ORA文件。如果设置了TNS_ADMIN变量,tnsnames.ora文件必须被复制到那里。 

PHP程序员站--PHP程序员之家

3. 设置缺省登录验证字  www 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程序员站--PHP程序员之家


4. 测试配置 

www.phperz.com

为了验证第三层、第二层和第一层是否配置正确,创建一个简单的测试任务。  www.phperz.com

a) 在EM Console中, 选择菜单Job =>; Create Job。 
b) 在 General 页中,给出任务名字,并选择任务运行在哪个数据库上。 
c) 在Tasks页中,选择"Run SQL*Plus Script" 。 
d) 在Parameters 页中,在文本框script中输入select * from dual; 。  www phperz com

点击窗口底部的Submit按钮。  PHP程序员站--PHP程序员之家

在Jobs pane中的Active页中, 你应该看到任务开始运行了。当任务完成后,它将被移到History页中。到 History页中去察看这个任务的状态是"Completed" 还是 "Failed"。 

PHP程序员站--PHP程序员之家

如果任务的状态是"Completed", 那么EM任务系统就配置好了。  phperz.com

如果任务的状态是"Failed", 在History页中双点这个任务,将打开一个"Edit Job"窗口。 

phperz.com

在这个窗口中,选中有"failed"的一行,点击按钮"Show Output"。任务输出窗口将显示出错误信息。  phperz.com


5. 从控制台之外,启动DBA工具  www phperz com

1) 在Windows NT/95/98上: 
工具可以从程序组或命令行中单独启动。 
命令行的语*如下: 
首先转换到ORACLE_HOME\bin目录下:  PHP程序员站--PHP程序员之家

C>; oemapp dbastudio 
C>; oemapp security 
C>; oemapp schema 
C>; oemapp instance 
C>; oemapp storage 
C>; oemapp worksheet 

PHP程序员站--PHP程序员之家

2) 在Unix系统上: 
在命令行中可以如此启动那些工具: 

www~phperz~.com

$ oemapp dbastudio 
$ oemapp security 
$ oemapp schema 
$ oemapp instance 
$ oemapp storage 
$ oemapp worksheet 

PHP程序员站

注意: 在EM Console之外启动这些工具的时候, service name必须要么是JDBC连接串,要么是TNSNAMES.ORA文件中已有的别名。 
Tnsnames.ora文件位于<EM Oracle Home>;/network/admin 并且/或者在变量TNS_ADMIN中指定的目录下。

PHP程序员站--PHP程序员之家


 上一篇:oracle里常用命令   下一篇:Oracle数据库管理脚本介绍
 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 mysql  基础  php基础  url
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长