开源数据库:企业选择的双刃剑?
731
2022-08-10
企业管理器(OEM)介绍: Grid Control 和 Database Control
Oracle 自10g 以后,企业管理器(Oracle Enterprise Manager:OEM)变成了网页形式。 OEM 分两种:Grid Control(网格控制) 和 Database Control(数据库控制)。 Grid Control 是具有完整功能的全企业Oracle 生态系统管理工具。 Database Control是可以只作为数据库管理实用程序部署的OEM 版本。 Grid Control 和 Database Control 区别: Grid Control 可以监控整个Oracle 生态环境,它具有一个中心存储仓库,用于收集有关多个计算机上的多个目标的数据,并且提供一个界面来显示所有已发现目标的共同信息。 Database Control 是Grid Control 功能的一个子集,Database Control 只监控一个数据库,并且不能用于监控多个数据库。 它只在数据库上运行。 从数据库管理的观点来看,两个使用程序的功能几乎是相同的,只不过网格控制提供了涉及多台计算机的操作的更多功能。 大师,两个使用程序的界面是相同的,底层代码也是相同的,并且只有很细微的区别。 从备份和恢复的观点来看,两个使用程序几乎相等。 一. Database Control Database Control 是Grid Control功能的一个子集,它只管理和监控一个数据库。Database Control 的功能是以数据库为中心,但又不完全限于数据库。由于会有一些为数据库所在的服务器收集的主机统计信息,因此主机(并非单独的“目标”)有一些报告信息。 此外,可以配置Database Control 以监控和管理自动存储管理(ASM)实例,目标数据库可以使用该ASM实例进行存储。 也可以配置Database Control以监控RAC 数据库。由此监控多个主机,多个实例和多个ASM实例。当然,它只可以监控一个数据库,因此Database Control的限制仍然是相同的。 1.1 Database Control的体系结构 Database Control 的体系结构非常类似与Grid Control的体系结构,但规模要小很多。 中心代理程序和OMS 合并到相同的OC4J应用程序,并且存储仓库驻留在目标数据库本身中。 Database Control的存储仓库位于它监控的目标数据库中,因此,如果目标数据库停机,Database Control就不能正常运行,除非启动该数据库。 在Windows系统上,Database Control进程是单独的进程,并且作为Services控制面板中单独的服务启动和停止。 在Linux 和 unix上,dbconsole作为单独的应用程序被停止和启动,但它仍然会产生单独的代理程序和Java进程。 Database Control与RDBMS 一起安装,并且它所在的ORACLE_HOME 目录与其目标数据库的相同。 在为数据库配置dbconsole 后,就会在ORACLE_HOME中创建名为host_sid的新子目录,其中host是计算机名,而sid是锁监控的实例的SID. 例如:服务名为DavidDai,监控的数据库为orcl, 则配置文件在$ORACLE_HOME/DavidDai_orcl中。 在RAC 环境中,一般根据集群中的每个节点命名多个目录,后面跟上RAC 数据库的globalname. 因此,如果有2个节点的RAC集群,两个节点分别为RAC1和 RAC2,并且数据库实例为orcl,则在每个节点的RDBMS主目录上有两个目录ORACLE_HOME/RAC1_orcl 和 ORACLE_HOME/RAC2_orcl. 在每个节点上,只有名称与节点对应的目录才会实际地拥有文件,而另一个目录则为空。 这种约定在RAC集群共享同一个位于共享驱动器上的$ORACLE_HOME软件树时也适用。 Database Control的启动和关闭命令: Emctl start dbconsole Emctl stop dbconsole 二. 安装和配置Database Control Database Control 软件不需要进行任何特定的安装。 Database Control 默认与已有的RDBMS一起安装。 实际上,在安装实例时,会有个选项,是否配置Database Enterprise Manager. 选择后就自动安装了。 2.1 使用数据库配置助手配置Database Control 如果在安装实例的时候没有安装Database Control,那么我们也可以用Database configuration Assistant: DBCA 来配置。打开dbca后,有个配置数据库选项,在这里面就能添加Database Control了. 注意,dbca 不可以用于删除或者修改已经添加的Database Control,它只是一个用于添加Database Control的工具。 如果要删除Database Control,则需要使用命令行工具: emca. 2.2 使用企业管理器配置助手配置 Database Control 企业管理器配置助手(Enterprise Manager Configuration Assistant: emca) 的用法不是很直观,但是功能比较强大。 执行一条命令后,emca 以一种交互的模式提示以下信息: 配置数据库SID,连接emca与数据库的监听器端口,以及所需的用户口令。 2.2.1 使用emca 删除已有的dbcontrol 配置 和 dbconsole 存储仓库 Emca -deconfig dbcontrol db -repos drop C:/Documents and Settings/user.HQ-TEXT>emca -deconfig dbcontrol db -repos drop EMCA 开始于 2010-6-30 9:37:00 EM Configuration Assistant 10.2.0.1.0 正式版 版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库 SID: dave 监听程序端口号: 1521 SYS 用户的口令: SYSMAN 用户的口令: 是否继续? [yes(Y)/no(N)]: yes 2010-6-30 9:37:15 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 D:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/dave/emc a_2010-06-30_09-37-00-上午.log。 2010-6-30 9:37:18 oracle.sysman.emcp.util.DBControlUtil stopOMS 信息: 正在停止 Database Control (此操作可能需要一段时间)... 2010-6-30 9:38:02 oracle.sysman.emcp.EMReposConfig dropRepository 信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)... 2010-6-30 9:38:03 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功删除资料档案库 已成功完成 Enterprise Manager 的配置 EMCA 结束于 2010-6-30 9:38:04 2.2.2 使用emca 为数据库创建新的dbcontrol 配置 Emca -config dbcontrol db -repos create C:/Documents and Settings/user.HQ-TEXT>emca -config dbcontrol db -repos create EMCA 开始于 2010-6-30 9:44:01 EM Configuration Assistant 10.2.0.1.0 正式版 版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库 SID: dave 监听程序端口号: 1521 SYS 用户的口令: DBSNMP 用户的口令: SYSMAN 用户的口令: 通知的电子邮件地址 (可选): 通知的发件 (SMTP) 服务器 (可选): ----------------------------------------------------------------- 已指定以下设置 数据库 ORACLE_HOME ................ D:/oracle/product/10.2.0/db_1 数据库主机名 ................ HFCC-KF-111111 监听程序端口号 ................ 1521 数据库 SID ................ dave 通知的电子邮件地址 ............... 通知的发件 (SMTP) 服务器 ............... ----------------------------------------------------------------- 是否继续? [yes(Y)/no(N)]: yes 2010-6-30 9:44:23 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 D:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/dave/emc a_2010-06-30_09-44-01-上午.log。 2010-6-30 9:44:32 oracle.sysman.emcp.EMReposConfig createRepository 信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)... 2010-6-30 9:46:18 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功创建资料档案库 2010-6-30 9:46:23 oracle.sysman.emcp.util.DBControlUtil startOMS 信息: 正在启动 Database Control (此操作可能需要一段时间)... 2010-6-30 9:47:04 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: 已成功启动 Database Control 2010-6-30 9:47:04 oracle.sysman.emcp.EMDBPostConfig performConfiguration 警告: 无法创建 Database Control 快捷方式 2010-6-30 9:47:04 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: >>>>>>>>>>> Database Control URL 为 <<< 已成功完成 Enterprise Manager 的配置 EMCA 结束于 2010-6-30 9:47:04 Oracle OEM 重建 2.3 emca 命令帮助 C:/Users/Administrator.DavidDai>emca help D:/app/Administrator/product/11.2.0/dbhome_1/bin/emca.bat [操作] [模式] [数据库 类型] [标记] [参数] -h | --h | -help | --help: 打印此帮助消息 -version: 打印版本 -config dbcontrol db [-repos (create | recreate)] [-cluster] [-silent] [-backup] [参数]: 配置数据库的 Database Control -config centralAgent (db | asm) [-cluster] [-silent] [参数]: 配置中心代理管理 -config all db [-repos (create | recreate)] [-cluster] [-silent] [-backup] [参数 ]: 配置 Database Control 和中心代理管理 -deconfig dbcontrol db [-repos drop] [-cluster] [-silent] [参数]: 取消配置 Datab ase Control -deconfig centralAgent (db | asm) [-cluster] [ -silent] [参数]: 取消配置中心代理 管理 -deconfig all db [-repos drop] [-cluster] [-silent] [参数]: 取消配置 Database Co ntrol 和中心代理管理 -addNode (db | asm) [-silent] [参数]: 配置数据库的新添加节点的 EM -deleteNode (db | asm) [-silent] [参数]: 取消为数据库 (位于要删除的节点上) 配置 EM -addInst (db | asm) [-silent] [参数]: 为新的 RAC 实例配置 EM -deleteInst (db | asm) [-silent] [参数]: 取消为指定的 RAC 实例配置 EM -reconfig ports [-cluster] [参数]: 重新明确分配 Database Control 端口 -reconfig dbcontrol -cluster [-silent] [参数]: 重新配置 RAC Database Control 部 署 -displayConfig dbcontrol -cluster [-silent] [参数]: 显示有关 RAC Database Contro l 配置的信息 -migrate -from dbcontrol -to centralAgent [-repos drop] [-cluster] [-silent] [ 参数]: 将 EM 配置从 Database Control 移植到中心代理 -upgrade (db | asm | db_asm) [-cluster] [-silent] [参数]: 将较低版本的 EM 配置升 级到当前版本 -updateTargets crs [-silent] [参数]: 更新 CRS 升级时所有 dbcontrol 和中心代理的 新 CRS 主目录 -restore (db | asm | db_asm) [-cluster] [-silent] [参数]: 将当前版本的 EM 配置还 原到较低版本 参数和选项: [参数]: [ -respFile fileName ] [ -paramName paramValue ]* db: 对数据库 (包括使用 ASM 的数据库) 执行配置操作 asm: 仅对 ASM 实例执行配置操作 db_asm: 对数据库和 ASM 实例执行升级/还原操作 -repos create: 创建新的 Database Control 资料档案库 -repos drop: 删除当前的 Database Control 资料档案库 -repos recreate: 删除当前的 Database Control 资料档案库并重新创建一个 -cluster: 对 RAC 数据库执行配置操作 -silent: 在不提示参数的情况下执行配置操作 -backup: 配置数据库的自动备份 单实例数据库的参数 ORACLE_HOSTNAME: 本地主机名 SID: 数据库 SID PORT: 监听程序端口号 ORACLE_HOME: 数据库 ORACLE_HOME LISTENER_OH: 监听程序 ORACLE_HOME HOST_USER: 自动备份的主机用户名 HOST_USER_PWD: 自动备份的主机用户口令 BACKUP_SCHEDULE: 自动备份调度 (HH:MM) EMAIL_ADDRESS: 通知的电子邮件地址 MAIL_SERVER_NAME: 通知的发件 (SMTP) 服务器 ASM_OH: ASM ORACLE_HOME ASM_SID: ASM SID ASM_PORT: ASM 端口 ASM_USER_ROLE: ASM 用户角色 ASM_USER_NAME: ASM 用户名 ASM_USER_PWD: ASM 用户口令 SRC_OH: 要升级的数据库的 ORACLE_HOME DBSNMP_PWD: DBSNMP 用户的口令 SYSMAN_PWD: SYSMAN 用户的口令 SYS_PWD: SYS 用户的口令 DBCONTROL_HTTP_PORT: Database Control HTTP 端口 AGENT_PORT: EM 代理端口 RMI_PORT: Database Control 的 RMI 端口 JMS_PORT: Database Control 的 JMS 端口 EM_SWLIB_STAGE_LOC: 软件库位置 PORTS_FILE: 用于指定要使用的端口的静态文件的路径 (默认值: ${ORACLE_HOME} /install/staticports.ini)。 集群数据库的其他参数 CLUSTER_NAME: 集群名 DB_UNIQUE_NAME: 数据库的唯一名称 SERVICE_NAME: 服务名 EM_NODE: Database Control 节点名 EM_NODE_LIST: 代理节点列表 [以逗号分隔] Note: For Desktop Class Install always pass parameter ORACLE_HOSTNAME as "localhost" to any emca command OEM 里面的东西,打开IE,自己研究下就ok了. 如: 这个端口可以在$ORACLE_HOME/instll/portlist.ini 文件里查看。 三. Grid Control OEM 是一个Web 应用程序,它具有Web应用程序自带的所有功能和限制。 OEM 控制台是运行在HTTP服务器上的web页面,该HTTP服务器将作为Grid Control 安装的一部分安装和配置,没有任何客户端安装。 Grid Control 部署在Oracle 应用服务器(Oracle Application Server:OAS)上。 当安装Grid Control时,同时也会安装OAS,然后Grid Control 应用程序作为Oracle Containers for J2EE(OC4J)应用程序部署在OAS上。Grid Control 可以监控许多不同类型的目标(当Grid Control调用它们时): 数据库,应用服务器,主机自身,甚至是存储设备。 Grid Control 它收集遍及企业的计算系统的相关信息,将这些信息合并到中心存储仓库中,然后通过它的Web控制台想DBA显示这些信息。 根据这些信息,DBA 可以让Grid Control 代表DBA 在这些计算系统中执行任务。 Grid Control 的体系结构 Grid Control 的体系结构从Oracle 管理服务(Oracle Management Serveice:OMS)开始,这是部署在应用服务器上的应用程序。 OMS通过中心代理程序(central agent)从注册的目标服务器中收集数据。 中心代理程序安装在目标服务器上,它收集信息并且将这些数据推入OMS。 OMS将数据加载到存储仓库数据库中,然后根据仓库中的信息构建Web页面,可以通过能够定位OMS 服务器URL 的任意浏览器检索该Web页面。 1. 中心代理程序 中心代理程序安装在使用Grid Control 监控的每台计算机上。 中心代理程序不可以独立作出任何决策。 它使用Perl 脚本收集数据,将这些数据通过HTTPS 推入OMS。 OMS 执行必须的任何智能,然后将操作发送给代理程序以执行该操作。 从存储的观点来看,中心代理程序占用相对较少的存储空间。 然而,由于其所做的工作,中心代理程序可能占用大量的CPU资源。 2. Oracle 管理服务(OMS) OMS 是在Grid Control 体系结构的中间层上部署的Web应用程序,它不断从代理程序处以XML文件的形式接收信息,然后将这些信息加载到存储仓库表中。 它负责为提供控制台Web 页面的HTTP服务器构建Web内容,由此可能向中心代理程序要求特定的信息。 数据一般是从中心代理程序推入的。 3. 存储仓库数据库 OMS 使用Oracle 数据库作为它的数据源。 存储仓库数据库用于存储有关管理目标以及Grid Control 操作(如作业或通知)的信息。 在存储仓库中可以很好的利用高级的RDBMS特性;可以使用高级排队(Advanced Queuing:AQ)功能,大量使用分区技术,甚至是使用内部的DBMS_JOB. 四. 安装和配置 Grid Control 根据安装时的选择,Grid Control的安装过程可以有许多不同。 默认情况下,Grid Control的安装在提供给按组昂的服务器上创建3个ORACLE_HOME目录:OMS 目录,存储仓库数据库目录和中心代理程序目录。 可以选择将存储仓库安装在预先存在的数据库中,这些数据库位于与grid Control相同或不同的服务器上。 如果选择预先存在的数据库,则必须提供主机,侦听器端口,以及数据库的SID。 我们也需要提供dba凭证(如SYSTEM)。 Oracle 通过安装程序(Universal Installer)然后检查已有的数据库,查看它是否具有Grid control存储仓库的所需的所有数据包和特性。 如果检查通过,安装继续。 否则需要修改数据库或选择不同的选项。 在10.1版本的grid Control中,默认的数据库和OMS 位于相同的主目录中,但是由于添加补丁和升级的原因而将它们分离到不同的主目录中。 在 Grid Control 10.2中,3个主目录可以分别应用补丁。 当有时间方面的考虑时,这一点非常重要。 如果存在必须通过添加补丁解决的代理程序问题,就可以关闭Grid Control服务器上的代理程序,对代理程序ORACLE_HOME 添加补丁,同时OMS 和数据库保持运行和操作,并且继续监控其他已发现的服务器。 4.1 资源考虑事项 不要将Grid Control 随意安装到某个位置。 如果采用默认的存储仓库数据库,加上OMS 和它的底层OAS 以及以及中心代理程序,则需要使用1.5GB的存储空间,并且这只是Grid Control 占用的存储空间,还没有考虑运行在计算机上的其他内容。 因此,在安装Grid Control之前,要确保已经在服务器上至少有1.5GB的存储空间。 如果没有足够的空间,则需要进行大量的存储空间交换。 CPU 需求很难衡量。 这种需求取决与正在注册和监控的多少目标,以及作业和通知的活跃程度。 4.2 Oracle 通用安装程序 对于当前的任何Oracle 产品,其提供的安装界面的通用安装程序都是相同的。 通用安装程序是一个向导驱动的过程,它请求你定制安装的相关过程,且执行任意数量的系统检查以添加这些信息,这些系统检查可实际地确认用户请求的安装过程是否可行。 Oracle Grid Control 的下载地址: 要先下载第一个版本的,比如:10.2.0.1, 安装之后在升级到其他版本,如10.2.0.5. 如果之前有安装的话,在安装之前要把之前的安装卸载干净. 不然可能会报错。 通过安装程序首先询问要安装哪些内容。 有4个选项: Enterprise Manager 10g Grid Control Using a new Database Using an Existing Database Additional Management Service Additional Management Agent 4.2.1 在新数据库中安装存储仓库 安装程序会构建3个ORACLE_HOME: (1)db10g: 存储Oracle 数据库中预先构建的存储仓库 (2)Oms10g:存储Oracle应用服务器 (3)Agent10g:存储中心代理程序 4.2.2 在已有的数据库中安装存储仓库 如果希望使用自己的数据库,需要满足一下需求: (1) SGA_TARGET 必须大于272MB. (2) AQ_TM_PROCESSES 必须大于等于1. (3) session_cached_cursors 参数值必须大于200 (4) 必须安装dbms_shared_pool, 安装方法是用sys用户运行如下脚本: ORACLE_HOME/rdbms/admin/dbmspool.sql ORACLE_HOME/rdbms/admin/prvtpool.plb 注意: Grid Control 存储仓库不可以与具有Database Control 存储仓库的系统共存(因为两者都需要以SYSMAN模式存在)。因此如果尝试使用已经被Database Control 监控的数据库,则需要删除SYSMAN用户,或者由通用安装程序来执行这项工作。 4.3 配置助手 安装软件后,通用程序会运行多个配置助手,这些助手会执行一系列配置操作以协调所有软件的运行。 配置助手进程分为3个程序段以匹配3个Oracle 主目录: 首先是数据库配置,其次是OMS 配置,最后是代理程序配置。 总之,如果运气好的话,就不需要了解关于这些助手的很多内容。 大多数助手都关注于配置和部署作为OMS 的OC4J应用程序。 如果任何时候产生故障,installActions.log(ORACLE_BASE/LOGS目录下)中有大量可提供的信息。 如果无法配置助手,可以在CliffsNotes中做如下工作: (1)确保没有略过先决条件警告。 (2)为了保险起见,重新尝试配置助手。 (3)确保具有足够的存储空间(>512MB) (4)抛弃所有内容并再次尝试。 44 安装中心代理程序 安装完Grid Control软件并且启动和运行OMS后,就可以准备开始监控企业中已有的目标。当然,一般必须现在希望被OEM 管理的所有计算机上安装OEM 代理程序。 中心代理程序是独立安装的软件,用于传递信息给OMS 以及从OMS处接收命令。 中心代理程序必须安装在所有要监控的目标主机的专用ORACLE_HOME目录中。 安装中心代理程序有两种方法:一是用Grid Control 软件来安装(最后一个选项),二是使用OMS 功能来将代理程序推到不同的服务器上。 用Grid Control 安装比较直观。 它要求提供OMS 服务器的主机名和端口。 默认情况下,上传HTTP 端口与Grid Control 控制台的端口相同:4889. 另外,我们也需要输入代理程序注册口令: 这是在Grid Control安装期间提供的口令,代理程序需要使用该口令来验证是否可以作为特定的OMS的有效数据源。 在其他服务器上安装代理之后,查询代理状态: C:/Documents and Settings/Administrator.HFCC-IT-176613>emctl status agent Oracle Enterprise Manager 10g Release 10.2.0.2.0. Copyright (c) 1996, 2006 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 10.2.0.2.0 OMS Version : 10.2.0.2.0 Protocol Version : 10.2.0.2.0 Agent Home : F:/OracleHomes/agent10g Agent binaries : F:/OracleHomes/agent10g Agent Process ID : 4684 Agent URL : --- 输入该网址能看到agent is working Repository URL : --- 在代理服务器上更新数据的 Started at : 2010-06-30 13:09:16 Started by user : SYSTEM Last Reload : 2010-06-30 13:09:16 Last successful upload : (none) Last attempted upload : (none) Total Megabytes of XML files uploaded so far : 0.00 Number of XML files pending upload : 11 Size of XML files pending upload(MB) : 4.46 Available disk space on upload filesystem : 34.45% Last attempted heartbeat to OMS : 2010-06-30 13:15:23 Last successful heartbeat to OMS : unknown --------------------------------------------------------------- Agent is Running and Ready 注意:我们需要在服务器的端的IE里输入: 然后服务器会和客户端进行更新。更新完之后,就可以在服务器端的目录里看到其他的数据库了。 C:/Documents and Settings/Administrator.HFCC-IT-176613>emctl status agent Oracle Enterprise Manager 10g Release 10.2.0.2.0. Copyright (c) 1996, 2006 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 10.2.0.2.0 OMS Version : 10.2.0.2.0 Protocol Version : 10.2.0.2.0 Agent Home : F:/OracleHomes/agent10g Agent binaries : F:/OracleHomes/agent10g Agent Process ID : 4684 Agent URL : Repository URL : Started at : 2010-06-30 13:09:16 Started by user : SYSTEM Last Reload : 2010-06-30 13:09:16 Last successful upload : 2010-06-30 13:24:30 Total Megabytes of XML files uploaded so far : 4.48 Number of XML files pending upload : 0 Size of XML files pending upload(MB) : 0.00 Available disk space on upload filesystem : 34.46% Last successful heartbeat to OMS : 2010-06-30 13:24:16 --------------------------------------------------------------- Agent is Running and Ready 4.5 启动和停止所有Grid Control 组件 示例 4.5.1 停止顺序 -- 停止中心代理程序 $ORACLE_HOME/bin/emctl stop agent -- 停止OMS $ORACLE_HOME/bin/emctl stop oms -- 停止进程管理器 $ORACLE_HOME/bin/opmnctl stopall -- 停止存储仓库数据库 Export ORACLE_SID=SID Sqlplus /nolog Shutdown immediate -- 停止监听程序 Lsnrctl stop 4.5.2 启动顺序 -- 启动监听 Lsnrctl start -- 启动存储仓库数据库 Export ORACLE_SID=SID Sqlplus /nolog Startup -- 启动OMS $ORACLE_HOME/bin/emctl start oms -- 启动中心代理程序 $ORACLE_HOME/bin/emctl start agent
发表评论
暂时没有评论,来抢沙发吧~