Oracle SOA Suite 是企業級整合中介軟體棧。本文記錄從零搭建「開發-測試-部署」一體化環境的完整實戰筆記,涵蓋資料庫、JDeveloper、SOA Suite 三大組件安裝、網路前置配置、記憶體規劃、常見坑點與驗證步驟。

核心組件部署於 **OC4J** (Oracle Containers for J2EE) 容器:
特性:**Hot-pluggable (熱插拔)** —— 各組件獨立部署為 OC4J 應用,可單獨 Start/Stop/Deploy/Undeploy,互不影響。
| 組件 | 建議規格 | 最低規格 |
|---|---|---|
| 作業系統 | Windows 10/11, Linux 7/8 (x86_64) | Windows XP SP3 / Linux 5 |
| 記憶體 | 8 GB+ (三組件同機) | 2 GB (僅資料庫+JDev) / 4 GB (全套) |
| CPU | 4 核心+ | 2 核心 |
| 磁碟 | SSD 200 GB+ | HDD 100 GB |
| 資料庫 | Oracle 19c/21c EE (AL32UTF8) | 10g/11g XE/SE/EE |
| JDeveloper | 12.2.1.4 (含 SOA 擴充) | 11.1.1.7 |
| SOA Suite | 12.2.1.4 / 14.1.1 | 11.1.1.7 |
SOA Suite 安裝程式檢測主機名/IP,DHCP 環境會導致安裝失敗或運行異常。需安裝 **Microsoft Loopback Adapter** 綁定固定 IP。
192.168.100.10 (私有網段任意)255.255.255.0C:\Windows\System32\drivers\etc\hosts:192.168.100.10 soahost.mydomain soahost

setup.exe / runInstaller。orcl.mydomain)、SID (orcl)、SYS/SYSTEM 密碼。CREATE USER soainfra IDENTIFIED BY "SoaPass#2024" DEFAULT TABLESPACE soadata TEMPORARY TABLESPACE temp;GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO soainfra;jdev_suite_122140.jar (Generic/Platform-specific)。java -jar jdev_suite_122140.jar (需 JDK 8u201+)。D:\JDevHome\mywork),避免 C 槽空間不足。# Linux 範例
java -jar fmw_12.2.1.4.0_wls_generic.jar
# 選擇安裝目錄 (Middleware Home) 如 /u01/oracle/middleware
# 僅安裝 WebLogic Server (不含 Coherence 可減省空間)
$MW_HOME/oracle_common/bin/rcu (Linux) 或 rcu.bat (Windows)。soadata, soaindex)。$MW_HOME/oracle_common/common/bin/config.sh (或 config.cmd)。soa_domain。soa_server1 (Port 8001) - SOA/BPEL/ESBbam_server1 (Port 9001) - BAM (可選)osb_server1 (Port 8011) - OSB (可選)$DOMAIN_HOME/bin/startNodeManager.sh (背景執行)。$DOMAIN_HOME/bin/startWebLogic.sh。soa_server1 等。https://host:7001/consolehttps://host:7001/emhttps://host:8001/soa/composer, https://host:8001/bpm/workspacesoa_server1。| 現象 | 原因 | 解決 |
|---|---|---|
| 安裝檢測失敗:Loopback Adapter 未配置 | DHCP 環境無固定 IP | Phase 0 完整配置 Loopback Adapter + hosts + 重開機 |
| RCU 建立 Schema 失敗:ORA-01950 無表空間權限 | DBA 未給 Schema QUOTA | GRANT UNLIMITED TABLESPACE 或指定 QUOTA ON soadata |
| Managed Server 啟動卡住 / OutOfMemoryError | Heap 設定過小 | 編輯 setDomainEnv.sh/cmd 增加 USER_MEM_ARGS="-Xms1024m -Xmx2048m -XX:MaxMetaspaceSize=512m" |
| JDeveloper 部署失敗:ClassNotFound / Library 衝突 | JDev 版本與 Server Runtime 不符 | 確保 JDev 版本 = SOA Suite 版本 (如同為 12.2.1.4) |
| EM Console 顯示 SOA 組件狀態 Down | Managed Server 未啟動或端口衝突 | 檢查 soa_server1 狀態、netstat 端口佔用 |
OS + 基礎服務 : 1.5 GB
Oracle Database SGA/PGA : 2.5 GB (SGA_TARGET=2G, PGA_AGGREGATE_TARGET=512M)
WebLogic AdminServer : 1 GB (Xms1024m Xmx1024m)
SOA Managed Server : 2 GB (Xms2048m Xmx2048m)
JDeveloper IDE : 1 GB (視專案大小)
------------------------------------------------
總計 : 8 GB (建議實體 16GB 留裕度)