Oracle企业管理器使用指南

发表于:2007-05-25来源:作者:点击数: 标签:oracle企业管理器认识使用指南
A. 认识EM(企业管理器)的体系结构 ===================================== Oracle Enterprise Manager (EM) 2.x 实现了一个3层结构,其组成如下: 第一层 First-tier: 第一层是客户端工具,如:EM Console, DBA Management Pack和其他集成的Oracle应用。这些

  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. 选择名为OracleAgent的服务。
  c. 点击[开始/Start]按钮,启动这个代理。
  
  停止一个Windows NT上的Intelligent Agent, 操作如下:
  a. 双点[控制面板/Control Panel]文件夹中的服务/Services图标。
  b. 选择名为OracleAgent的服务。
  c. 点击[停止/Stop ]按钮,停止这个代理。
  
  验证此代理是否在运行,进行下面操作的任意组合:
  a. 在控制面板的服务中检查OracleAgent的状态
  b. 验证NT任务管理器中是否有进程dbsnmp.exe。
  c. 在命令行中执.net start命令。OracleAgent应当出现在服务列表中。
  
  
  2. 设置用于运行任务和事件监控的Windows NT用户的账户
  
  Checklist -
  o 确定Windows NT系统的类型
  o 创建一个和管理员等同的账号(用户)
  o 给新用户授予"Logon as a Batch Job" 的权限
  
  因为Windows NT是一个安全的操作系统,NT上的智能代理必须通过一个拥有"Logon as a Batch Job"权限的NT用户来执行任务和事件。 此特权 可以赋给一个一存在的本地用户或域用户,或者一个新的NT用户。下面是如何设置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 - " ,
  
  
  设置一个本地用户:
  
  运行用户管理器(for Domains)
  
  选择 Start => Programs => Administrative Tools => User Manager (For Domains)
  
  窗口的标题条应该是: USER MANAGER - \\
  
  如果标题条中列出了域的名字,选User => Select Domain。 输入"\\" (例如.\\bobpc)
  
  注意: 如果已有一个Windows NT账号aclearcase/" target="_blank" >ccount will be used by the Intelligent Agent, skip to the section "Grant Logon as a Batch Job Privilege" (step (d) below).
  
  创建一个用户:
  
  a. 选中一个管理员账号,选菜单User => Copy,拷贝这个账号及其权限.
  
  b. 为EM账号输入新的用户名和口令 (如EMUSER)
  
  c. 验证确保仅有"口令永不过期"被打上钩。选择Add。
  
  注意:如果在域中存在相同的名字的域用户和本地用户,口令必须有区别。口令是区分大小写的。 并且本地帐户优先。
  
  在第三层上为用户授予本地的"Logon as Batch Job"权限:
  
  d.选中在步骤(a)中创建的用户。
  选择菜单 Policies =>User Rights。
  
  e. Click on the box next to Show advanced user rights.
  
  f. 选择Rights权限下拉列表中的“Logon as a Batch Job”。 如果有账号曾被授予过这个权限, "Grant to" 列表中将包含这个账号的名字。
  
  g. 选择Add。确保FROM中列出的是正确的名字:
  
  (1) 域名,如果你想创建一个域用户的话 ; 或
  (2) 本地机器名,如果你要创建一个本地用户
  
  如果名字不正确,选择下拉列表,选择正确的机器名或域名。
  
  h. 点 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)的访问权限。 此脚本还创建或更新智能代理所用来确定是否系统上的所有数据库都可以发现的oratab文件。对于每个创建的数据库,都有下列格式的一项:
  
  :<$ORACLE_HOME>:[Y/N]
  
  验证oratab文件列出了系统中的每个数据库,并且遵循了正确的语法。 root.sh shell脚本文件应当已经写下了Oracle Home和SID的值。 如果oratab中没有项目, 按如下步骤操作:
  
  > su root
  > $ORACLE_HOME/orainst
  > ./root.sh
  
  回答提出的问题。对于每个创建的数据库,项目的格式为: :<$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.ora文件中,参数"processes ="至少应设为200。实例必须被重起以使设置生效。
  
  d. EMCA 2.1将在数据库中创建OEM_REPOSITORY表空间(如果它不存在的话)。当然你也可以手工创建这个表空间。
  
  要手工创建表空间,在Oracle 8.x数据库上运行下面的脚本。此脚本创建一个带一个初始大小为5M的数据文件的表空间,此数据文件可以自动扩展到80M。
  
  CREATE TABLESPACE "OEM_REPOSITORY"
  DATAFILE
  ''
  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 => 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连接串(:: )来连接数据库。使用这种类型的连接串时,将不使用本地的TNSNAMES.ORA文件。相同的JDBC连接串将被存储在 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 => 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"窗口。
  
  在这个窗口中,选中有"failed"的一行,点击按钮"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文件位于/network/admin 并且/或者在变量TNS_ADMIN中指定的目录下。
  
  * NT下 *
  ***********************************
  1. 控制面板――>管理工具―― >计算机管理――>本地用户和组――>用户――>新建用户sys和sysman(sys和sysman 的帐号要和登陆数据库的帐号相同);
  2.控制面板――>管理工具―― >本地安全策略――>本地策略――>用户权利指派――>
  作为批处理作业登陆――>添加sys和sysman两个帐号。
  3.使用Enterprise Manager配置辅助工具
  开始→程序→Oracle - OraHome81→Enterprise Manager→Configuration Assistant
  a、使用Configuration Assistant工具来创建一个新的资料档案库。
  
  4.控制面板――>管理工具―― > 服务,查看OracleOraHome81ManagementServer是否启动,如果没有启动,则手动启动该服务。
  5.以sysman/oem_temp(default)登陆DBA Studio
  (第二个选项:登陆到Oracle Management Server),立即修改密码为你刚才在NT下建的用户sysman的密码。
  6. 以sysman/ *** (bluesky) 从开始→程序→Oracle - OraHome81→Console 登陆到 控制台。
  在 系统→首选项→首选身份证明(我的首选身份设置如下:)
  DEFAULT节点:name:sysman
  DEFAULT数据库:name:sys
  
  7. 在搜索/添加结点后,以sysman/ *** 登陆到该结点,以sys/ *** as sysdba登陆数据库(也就是在首选身份设置的结果)。
  8. 在工具→备份管理→向导→预定义备份策略(自定义备份策略)→提交备份计划
  9.从开始→程序→Oracle - OraHome81→Console 登陆到 控制台,查看活动(历史记录)
  可以看到你的备份是否成功,如果不成功,可以点击备份看明细。(我第一次也没成功,后来我修改系统的临时目录C:\WINNT\Temp→c:\temp\systmp,重新启动机器就ok了)
  ***************************************************

原文转自:http://www.ltesting.net