大家好,這里是 DBA 學習之路,專注于提升數據庫運維效率。
目錄
前言
本文檔詳細介紹了如何部署 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 環境中運行以防止意外中斷);
./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 數據庫版本驗證
安裝完成后,驗證數據庫補丁版本:
[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 的最佳性能,需要進行以下數據庫參數優化:
-- 優化共享池大小
SQL> alter system set shared_pool_size=600M;
-- 臨時禁用統計信息收集任務(安裝完成后自動啟用)
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;
-- 重置優化器自適應功能參數(Oracle 官方建議)
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 immediate
SQL> startup
至此,EMCC 的 OMR 數據庫環境已準備就緒。
第二階段:ACFS 集群文件系統構建
為實現 OMS 的高可用性,需要創建 ACFS(ASM Cluster File System)共享文件系統來存儲 OMS 軟件和配置文件。
2.1 存儲層配置
配置 multipath 多路徑
編輯 multipath 配置文件,添加 OMS 專用共享磁盤:
vi /etc/multipath.conf
## 新增 OMS 共享磁盤配置
multipath {
wwid 2515190a70c079c6f
alias asm_oms_1
}

使配置生效:
multipath -F multipath -v2 multipath -ll

配置 UDEV 設備綁定
為 OMS 共享磁盤創建穩定的設備路徑:
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
# 應用 udev 規則
udevadm control --reload-rules
udevadm trigger --type=devices --action=change

2.2 ACFS 文件系統創建
使用 ASMCA 創建磁盤組
以 grid 用戶身份運行 ASMCA 圖形界面工具:

按照向導步驟創建 OMS 磁盤組:


創建 ACFS Volume



掛載點準備和文件系統創建
在所有節點創建掛載點:
[root@oem01:/root]# mkdir /OMS
[root@oem02:/root]# mkdir /OMS
完成 ACFS 文件系統創建:



執行 ACFS 掛載腳本:
[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 官方文檔的軟件包要求:

在所有節點執行軟件包安裝:
## root 用戶在所有節點執行
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 開發包:
## 在所有節點執行
cd /mnt/Packages/
yum install -y glibc-devel-2.17-317.0.1.el7.i686.rpm
驗證安裝結果:
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
系統參數優化
配置網絡端口范圍:
## root 用戶在所有節點執行
echo 11000 65000 > /proc/sys/net/ipv4/ip_local_port_range
cat<<-\EOF>>/etc/sysctl.conf
net.ipv4.ip_local_port_range = 11000 65000
EOF
sysctl -p
systemctl restart network.service
配置進程限制:
## root 用戶在所有節點執行
echo "nproc 4098" >> /etc/security/limits.conf
目錄結構創建
建立標準的 Oracle 軟件目錄結構:
## root 用戶在所有節點執行
mkdir -p /u01/app/oracle/middleware/oms
mkdir -p /u01/app/oracle/middleware/agent
chown -R oracle.oinstall /u01/app/oracle/middleware
環境變量配置
為 OMS 和 Agent 分別創建專用的環境配置文件:
OMS 環境配置:
## oracle 用戶執行
cp /home/oracle/.bash_profile /home/oracle/.oms
vi /home/oracle/.oms
## 在 export PATH 下方添加以下內容
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export PATH=/usr/sbin:$PATH
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
export ORACLE_HOME=/u01/app/oracle/middleware/oms
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OMSPatcher:$PATH
Agent 環境配置:
## oracle 用戶執行
cp /home/oracle/.bash_profile /home/oracle/.agent
vi /home/oracle/.agent
## 在 export PATH 下方添加以下內容
umask 022
export TMP=/tmp
export 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.0
export 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)
驗證當前語言環境:
[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=
如果語言環境為中文,需要修改為英文:
## root 用戶執行
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 的圖形化安裝。
啟動安裝程序
## oracle 用戶執行,強烈建議使用 VNC 進行遠程安裝
[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: 安裝詳細信息配置

關鍵配置點:
- 全部勾選所有可選組件

- 設置管理員密碼(建議使用:Welcome1)

步驟 5: 數據庫連接配置
填寫之前創建的 RAC 數據庫信息,關鍵點:必須使用 SCAN IP 地址

數據庫連接驗證:

步驟 6: 先決條件驗證和自動修復

使用 Auto Fix 功能解決問題:


步驟 7: SYSMAN 密碼設置
設置 EMCC 登錄用戶密碼:

步驟 8: 軟件庫位置配置
重要: 選擇 ACFS 共享磁盤作為軟件庫位置:

步驟 9: 端口配置確認
確認以下端口配置并開啟防火墻策略:

步驟 10: 開始安裝

安裝過程監控

等待安裝完成:

后安裝配置
執行必要的 root 腳本:

[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:
[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:
[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:
[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:
[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 補丁:
[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:
[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 補丁:
# 停止 Agent 服務
[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 服務狀態
[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
詳細狀態檢查:
[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 服務狀態
[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 節點的端口配置保持一致,以簡化后續維護工作。


創建共享目錄:
[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的 OMS 服務
source ~/.oms
emctl 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 節點,進一步提升用戶體驗。
參考文檔
本部署指南基于以下官方文檔和最佳實踐:




