大家好,这里是 DBA 学习之路 ,专注于提升数据库运维效率。
@TOC
前言 本文档详细介绍了如何部署 Oracle Enterprise Manager Cloud Control (EMCC) 13.5 的高可用集群环境。整个部署方案基于 Oracle RAC 架构实现 OMR(Oracle Management Repository)集群,采用 EMCC 13.5 和 Oracle 19.27 数据库版本,最终实现 Active-Active 模式的 OMS(Oracle Management Service)集群。
第一阶段:OMR 集群部署 1.1 Oracle RAC 环境准备 首先部署作为 EMCC 存储库的 Oracle RAC 集群。推荐使用作者开发的 Oracle 一键安装命令生成工具 来简化安装过程。
执行安装步骤:
在主节点上传一键安装脚本和安装包;
执行 RAC 一键安装命令(强烈建议在 VNC 环境中运行以防止意外中断 );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ./OracleShellInstall \ -lf ens192 `# 公网IP网卡名称`\ -pf ens224 `# 心跳IP网卡名称`\ -n oem `# 主机名前缀`\ -hn oem01,oem02 `# 所有节点主机名`\ -ri 192.168.6.80,192.168.6.81 `# 公网IP地址`\ -vi 192.168.6.82,192.168.6.83 `# 虚拟IP地址`\ -si 192.168.6.85 `# SCAN IP地址`\ -rp 'oracle' `# root用户密码`\ -od /dev/sdb,/dev/sdc,/dev/sdd `# OCR磁盘组磁盘列表`\ -dd /dev/sde `# DATA磁盘组磁盘列表`\ -or NORMAL `# OCR磁盘组冗余度`\ -o emcc `# 数据库名称`\ -gpa 37641958 `# Grid PSU/RU补丁编号`\ -jpa 37499406 `# OJVM PSU/RU补丁编号`\ -opd Y `# 优化数据库`
安装过程约需 1 小时左右,完成后会看到如下界面:
1.2 数据库版本验证 安装完成后,验证数据库补丁版本:
1 2 3 4 5 6 [oracle@oem01:/home/oracle]$ opatch lspatches 37499406;OJVM RELEASE UPDATE: 19.27.0.0.250415 (37499406) 37654975;OCW RELEASE UPDATE 19.27.0.0.0 (37654975) 37642901;Database Release Update : 19.27.0.0.250415 (37642901) OPatch succeeded.
1.3 EMCC 专用数据库优化 为确保 EMCC 的最佳性能,需要进行以下数据库参数优化:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 SQL > alter system set shared_pool_size= 600 M;SQL > BEGIN DBMS_AUTO_TASK_ADMIN.DISABLE(CLIENT_NAME = > 'auto optimizer stats collection' , OPERATION = > NULL , WINDOW_NAME = > NULL ); END ;/ SQL > alter system set parallel_max_servers= 8 ;SQL > alter system set "_allow_insert_with_update_check"= true ;SQL > alter system reset "_optimizer_nlj_hj_adaptive_join" scope = both sid= '*' ;alter system reset "_optimizer_strans_adaptive_pruning" scope = both sid= '*' ;alter system reset "_px_adaptive_dist_method" scope = both sid= '*' ;alter system reset "_sql_plan_directive_mgmt_control" scope = both sid= '*' ;alter system reset "_optimizer_dsdir_usage_control" scope = both sid= '*' ;alter system reset "_optimizer_use_feedback" scope = both sid= '*' ;alter system reset "_optimizer_gather_feedback" scope = both sid= '*' ;alter system reset "_optimizer_performance_feedback" scope = both sid= '*' ;SQL > shutdown immediateSQL > startup
至此,EMCC 的 OMR 数据库环境已准备就绪。
第二阶段:ACFS 集群文件系统构建 为实现 OMS 的高可用性,需要创建 ACFS(ASM Cluster File System)共享文件系统来存储 OMS 软件和配置文件。
2.1 存储层配置 配置 multipath 多路径 编辑 multipath 配置文件,添加 OMS 专用共享磁盘:
1 2 3 4 5 6 7 vi /etc/multipath.conf multipath { wwid 2515190a70c079c6f alias asm_oms_1 }
使配置生效:
1 2 3 multipath -F multipath -v2 multipath -ll
配置 UDEV 设备绑定 为 OMS 共享磁盘创建稳定的设备路径:
1 2 3 4 5 6 7 cat <<-EOF>>/etc/udev/rules.d/99-oracle-asmdevices.rules KERNEL=="dm-*",ENV{DM_UUID}=="mpath-2515190a70c079c6f",SYMLINK+="asm_oms_1",OWNER="grid",GROUP="asmadmin",MODE="0660" EOF udevadm control --reload-rules udevadm trigger --type =devices --action=change
2.2 ACFS 文件系统创建 使用 ASMCA 创建磁盘组 以 grid 用户身份运行 ASMCA 图形界面工具:
按照向导步骤创建 OMS 磁盘组:
创建 ACFS Volume
挂载点准备和文件系统创建 在所有节点创建挂载点:
1 2 [root@oem01:/root]# mkdir /OMS [root@oem02:/root]# mkdir /OMS
完成 ACFS 文件系统创建:
执行 ACFS 挂载脚本:
1 2 [root@oem01:/root]# /u01/app/grid/cfgtoollogs/asmca/scripts/acfs_script.sh ACFS file system /OMS is mounted on nodes oem01,oem02
验证挂载状态:
现在 ACFS 共享集群文件系统已成功创建并挂载到所有节点。
第三阶段:OMS 集群部署 本阶段将部署 Active-Active 模式的 OMS 集群,实现真正的高可用性。
3.1 环境准备 系统依赖包安装 参考 Oracle 官方文档的软件包要求 :
在所有节点执行软件包安装:
1 2 yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel dejavu-serif-fonts ksh make sysstat numactl numactl-devel motif motif-devel redhat-lsb redhat-lsb-core openssl
安装额外的 32 位 glibc 开发包:
1 2 3 cd /mnt/Packages/yum install -y glibc-devel-2.17-317.0.1.el7.i686.rpm
验证安装结果:
1 rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel dejavu-serif-fonts ksh make sysstat numactl numactl-devel motif motif-devel redhat-lsb redhat-lsb-core openssl
系统参数优化 配置网络端口范围:
1 2 3 4 5 6 7 8 9 echo 11000 65000 > /proc/sys/net/ipv4/ip_local_port_rangecat <<-\EOF>>/etc/sysctl.confnet.ipv4.ip_local_port_range = 11000 65000 EOF sysctl -p systemctl restart network.service
配置进程限制:
1 2 echo "nproc 4098" >> /etc/security/limits.conf
目录结构创建 建立标准的 Oracle 软件目录结构:
1 2 3 4 mkdir -p /u01/app/oracle/middleware/omsmkdir -p /u01/app/oracle/middleware/agentchown -R oracle.oinstall /u01/app/oracle/middleware
环境变量配置 为 OMS 和 Agent 分别创建专用的环境配置文件:
OMS 环境配置:
1 2 3 4 5 6 7 8 9 10 11 12 cp /home/oracle/.bash_profile /home/oracle/.omsvi /home/oracle/.oms umask 022export TMP=/tmpexport TMPDIR=$TMP export PATH=/usr/sbin:$PATH export PS1="[`whoami`@`hostname`:" '$PWD]$ ' export ORACLE_HOME=/u01/app/oracle/middleware/omsexport PATH=$ORACLE_HOME /bin:$ORACLE_HOME /OMSPatcher:$PATH
Agent 环境配置:
1 2 3 4 5 6 7 8 9 10 11 12 cp /home/oracle/.bash_profile /home/oracle/.agentvi /home/oracle/.agent umask 022export TMP=/tmpexport TMPDIR=$TMP export PATH=/usr/sbin:$PATH export PS1="[`whoami`@`hostname`:" '$PWD]$ ' export ORACLE_HOME=/u01/app/oracle/middleware/agent/agent_13.5.0.0.0export PATH=$ORACLE_HOME /bin:$ORACLE_HOME /AgentPatcher:$PATH
语言环境检查和配置 重要提醒: 这是一个关键配置点,语言环境必须设置为英文,否则会导致安装失败。
参考 Oracle 支持文档:EM 13.5: OMS Installation Fails in Repository Configuration Phase with the Error: ORA-01843: not a valid month (Doc ID 2880634.1)
验证当前语言环境:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@emcc:/root]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
如果语言环境为中文,需要修改为英文:
1 2 3 4 5 6 7 8 9 cat <<-EOF>/etc/profile.d/locale.sh export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_COLLATE=C export LC_CTYPE=en_US.UTF-8 EOF source /etc/profile.d/locale.sh
3.2 主节点 OMS 安装 确保所有准备工作完成后,开始进行 OMS 的图形化安装。
启动安装程序 1 2 3 4 5 [oracle@oem01 ~]$ source .bash_profile [oracle@oem01:/home/oracle]$ cd /soft/ [oracle@oem01:/soft]$ chmod +x em13500_linux64.bin [oracle@oem01:/soft]$ ./em13500_linux64.bin
安装向导步骤 步骤 1: 安装类型选择
步骤 2: 软件更新配置
步骤 3: 先决条件检查
步骤 4: 安装详细信息配置
关键配置点:
步骤 5: 数据库连接配置
填写之前创建的 RAC 数据库信息,关键点:必须使用 SCAN IP 地址
数据库连接验证:
步骤 6: 先决条件验证和自动修复
使用 Auto Fix 功能解决问题:
步骤 7: SYSMAN 密码设置
设置 EMCC 登录用户密码:
步骤 8: 软件库位置配置
重要: 选择 ACFS 共享磁盘作为软件库位置:
步骤 9: 端口配置确认
确认以下端口配置并开启防火墙策略:
步骤 10: 开始安装
安装过程监控
等待安装完成:
后安装配置 执行必要的 root 脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@oem01:/root]# /u01/app/oracle/middleware/oms/allroot.sh Starting to execute allroot.sh ......... Starting to execute /u01/app/oracle/middleware/oms/root.sh ...... Check /u01/app/oracle/middleware/oms/install/root_oem01_2025-07-01_14-30-28.log for the output of root script Finished product-specific root actions. /etc exist Finished execution of /u01/app/oracle/middleware/oms/root.sh ...... Starting to execute /u01/app/oracle/middleware/agent/agent_13.5.0.0.0/root.sh ...... Finished product-specific root actions. /etc exist Finished execution of /u01/app/oracle/middleware/agent/agent_13.5.0.0.0/root.sh ......
安装完成确认:
3.3 补丁安装和更新 为确保系统稳定性和安全性,需要安装最新的 Bug 修复补丁和 Release Update。
3.3.1 OMS Bug 修复补丁安装 补丁 35430934:
1 2 3 4 [oracle@oem01:/soft]$ source ~/.oms [oracle@oem01:/soft]$ unzip -q /soft/p35430934_122140_Generic.zip [oracle@oem01:/soft]$ cd 35430934 [oracle@oem01:/soft/35430934]$ opatch apply -silent
补丁 34153238:
1 2 3 4 [oracle@oem01:/soft/35430934]$ cd /soft [oracle@oem01:/soft]$ unzip -q /soft/p34153238_122140_Generic.zip [oracle@oem01:/soft]$ cd 34153238 [oracle@oem01:/soft/34153238]$ opatch apply -silent
补丁 31657681:
1 2 3 4 [oracle@oem01:/soft/34153238]$ cd /soft [oracle@oem01:/soft]$ unzip -q /soft/p31657681_191000_Generic.zip [oracle@oem01:/soft]$ cd 31657681 [oracle@oem01:/soft/31657681]$ opatch apply -silent
3.3.2 OMS Release Update 安装 更新 OMSPatcher:
1 2 3 4 5 6 [oracle@oem01:/soft]$ source ~/.oms [oracle@oem01:/soft]$ unzip -qo /soft/p19999993_135000_Generic.zip -d $ORACLE_HOME [oracle@oem01:/soft]$ omspatcher version OMSPatcher Version: 13.9.5.25.0 OPlan Version: 12.2.0.1.16 OsysModel build: Tue Apr 28 18:16:31 PDT 2020
应用 RU 补丁:
1 2 3 4 5 6 7 8 9 [oracle@oem01:/soft/37439429]$ omspatcher apply Please enter OMS weblogic admin server URL(t3s://oem01:7102):> Please enter OMS weblogic admin server username(weblogic):> Please enter OMS weblogic admin server password:> Enter DB user name : sys Enter 'sys' password :
注意: 此过程可能需要较长时间,请耐心等待。
3.3.3 Agent 补丁更新 升级 AgentPatcher:
1 2 3 4 5 6 7 8 [oracle@oem01:/soft]$ source ~/.agent [oracle@oem01:/soft]$ unzip -qo /soft/p33355570_135000_Generic.zip -d $ORACLE_HOME [oracle@oem01:/soft]$ agentpatcher version AgentPatcher Version: 13.9.5.10.0 OPlan Version: 12.2.0.1.16 OsysModel build: Tue Apr 28 18:16:31 PDT 2020 AgentPatcher succeeded.
应用 Agent 补丁:
1 2 3 4 5 6 7 8 9 10 [oracle@oem01:/soft]$ emctl stop agent Oracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved. Stopping agent ... stopped. [oracle@oem01:/soft]$ unzip -q /soft/p37439438_135000_Generic.zip [oracle@oem01:/soft]$ cd /soft/37439438 [oracle@emcc:/soft/37439438]$ agentpatcher apply
3.4 安装后验证 验证 OMS 服务状态 1 2 3 4 5 6 7 [oracle@oem01:/home/oracle]$ source ~/.oms [oracle@oem01:/home/oracle]$ emctl status oms Oracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved. WebTier is Up Oracle Management Server is Up JVMD Engine is Up
详细状态检查:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [oracle@oem01:/home/oracle]$ emctl status oms -details Oracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved. Console Server Host : oem01 HTTP Console Port : 7788 HTTPS Console Port : 7803 HTTP Upload Port : 4889 HTTPS Upload Port : 4903 EM Instance Home : /u01/app/oracle/middleware/gc_inst/em/EMGC_OMS1 OMS Log Directory Location : /u01/app/oracle/middleware/gc_inst/em/EMGC_OMS1/sysman/log OMS is not configured with SLB or virtual hostname Agent Upload is locked. OMS Console is locked. Active CA ID: 1 Console URL: https://oem01:7803/em Upload URL: https://oem01:4903/empbs/upload WLS Domain Information Domain Name : GCDomain Admin Server Host : oem01 Admin Server HTTPS Port: 7102 Admin Server is RUNNING Oracle Management Server Information Managed Server Instance Name: EMGC_OMS1 Oracle Management Server Instance Host: oem01 WebTier is Up Oracle Management Server is Up JVMD Engine is Up
验证 Agent 服务状态 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [oracle@oem01:/home/oracle]$ source ~/.agent [oracle@oem01:/home/oracle]$ emctl status agent Oracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 13.5.0.0.0 OMS Version : 13.5.0.0.0 Protocol Version : 12.1.0.1.0 Agent Home : /u01/app/oracle/middleware/agent/agent_inst Agent Log Directory : /u01/app/oracle/middleware/agent/agent_inst/sysman/log Agent Binaries : /u01/app/oracle/middleware/agent/agent_13.5.0.0.0 Core JAR Location : /u01/app/oracle/middleware/agent/agent_13.5.0.0.0/jlib Agent Process ID : 11756 Parent Process ID : 11635 Agent URL : https://oem01:3872/emd/main/ Local Agent URL in NAT : https://oem01:3872/emd/main/ Repository URL : https://oem01:4903/empbs/upload Started at : 2025-07-01 17:10:55 Started by user : oracle Operating System : Linux version 5.4.17-2102.201.3.el7uek.x86_64 (amd64) Number of Targets : 36 Last Reload : (none) Last successful upload : 2025-07-01 17:12:51 Last attempted upload : 2025-07-01 17:12:51 Total Megabytes of XML files uploaded so far : 0.03 Number of XML files pending upload : 0 Size of XML files pending upload(MB) : 0 Available disk space on upload filesystem : 68.52% Collection Status : Collections enabled Heartbeat Status : Ok Last attempted heartbeat to OMS : 2025-07-01 17:12:13 Last successful heartbeat to OMS : 2025-07-01 17:12:13 Next scheduled heartbeat to OMS : 2025-07-01 17:13:13 --------------------------------------------------------------- Agent is Running and Ready
3.5 第二节点 OMS 部署 为实现真正的高可用性,需要在第二个节点部署额外的 OMS 实例。
3.5.1 添加 Agent 到第二节点 登录 EMCC 控制台(https://192.168.6.80:7803/em)进行第二节点的 Agent 部署:
导航到 Agent 部署页面:
配置 Agent 部署参数:
等待部署完成:
3.5.2 添加 OMS 节点 通过 EMCC 的过程库添加第二个 OMS 节点:
搜索”添加”相关的过程:
重要提醒: 确保每个 OMS 节点的端口配置保持一致,以简化后续维护工作。
创建共享目录:
1 [oracle@oem01:/OMS]$ mkdir /OMS/share
继续配置向导:
等待第二节点部署完成:
第四阶段:高可用性验证 完成集群部署后,需要验证高可用性功能是否正常工作。
4.1 多节点访问验证 验证两个节点都可以正常提供服务:
节点 1 访问: https://192.168.6.80:7803/em
节点 2 访问: https://192.168.6.81:7803/em
4.2 故障转移测试 模拟节点故障,验证系统的容错能力:
1 2 3 4 source ~/.omsemctl status oms emctl stop oms -all
验证节点 1 已无法访问:
验证节点 2 继续正常服务:
测试结果证明,当一个节点发生故障时,另一个节点可以继续提供完整的 EMCC 服务,实现了真正的高可用性。
总结 通过本文档的详细步骤,您已经成功部署了一套完整的 Oracle EMCC 13.5 高可用集群环境。该环境具备以下特性:
高可用的数据存储 :基于 Oracle RAC 的 OMR 数据库集群;
共享的文件系统 :ACFS 集群文件系统确保配置和软件的一致性;
Active-Active OMS 架构 :多个 OMS 节点同时提供服务;
自动故障转移 :单节点故障不影响整体服务可用性;
进一步优化建议 关于很多用户关心的统一访问入口问题(类似 Oracle RAC 的 SCAN IP 功能),Oracle 官方文档提供了通过服务器负载均衡器(SLB)实现的解决方案。
参考文档:Configuring Multiple Management Services Behind a Server Load Balancer (SLB)
通过配置 SLB,用户可以使用单一 IP 地址访问 EMCC 集群,负载均衡器会自动将请求分发到可用的 OMS 节点,进一步提升用户体验。
参考文档 本部署指南基于以下官方文档和最佳实践: