Oracle Enterprise Manager (EM) Database Control 是 Oracle 10g 內建的 Web 管理主控台,提供單一資料庫的圖形化管理介面。本文說明在自訂安裝或安裝後手動配置 Database Control 的完整流程。
在建立預配置資料庫時,安裝程式提供兩種管理介面選項:
https://host:port/em(預設 port 1158/5500)使用 DBCA 建立資料庫時,勾選「配置 Enterprise Manager」即可同步建立 Database Control。
# 確認環境變數
echo $ORACLE_HOME
echo $ORACLE_SID
# 確認監聽器運行
lsnrctl status
# 確認資料庫開啟
sqlplus / as sysdba
SQL> SELECT status FROM v$instance;
基本配置指令:
# 互動式配置(推薦新手)
emca -config dbcontrol db -repos create
# 靜默模式(腳本自動化)
emca -config dbcontrol db -repos create \
-ORACLE_HOME $ORACLE_HOME \
-ORACLE_SID $ORACLE_SID \
-PORT 1521 \
-LISTENER LISTENER \
-DB_UNIQUE_NAME $ORACLE_SID \
-SYS_PWD \
-SYSMAN_PWD \
-DBSNMP_PWD \
-HOST \
-SID $ORACLE_SID
| 操作 | 指令 |
|---|---|
| 配置 Database Control | emca -config dbcontrol db |
| 建立 Repository | emca -config dbcontrol db -repos create |
| 重建 Repository(清除重建) | emca -config dbcontrol db -repos recreate |
| 移除 Database Control | emca -deconfig dbcontrol db -repos drop |
| 顯示當前配置 | emca -displayConfig dbcontrol db |
| 添加節點 (RAC) | emca -addNode db |
| 刪除節點 (RAC) | emca -deleteNode db |
-PORT:監聽器埠(預設 1521)-DBCONTROL_HTTP_PORT:EM Console HTTP 埠(預設 1158/5500)-AGENT_PORT:Agent 埠(預設 3938)-REPOS_TABLESPACE:SYSMAN 表空間(預設 SYSAUX)# 檢查端口佔用
netstat -an | grep 1158
netstat -an | grep 3938
# 指定替代端口
emca -config dbcontrol db -DBCONTROL_HTTP_PORT 5500 -AGENT_PORT 3939
$ORACLE_HOME/cfgtoollogs/emca//emca_*.log # 檢查 Agent 狀態
$ORACLE_HOME/bin/emctl status agent
# 重新同步
$ORACLE_HOME/bin/emctl upload agent
# 重啟 Agent
$ORACLE_HOME/bin/emctl stop agent
$ORACLE_HOME/bin/emctl start agent
getsebool -a | grep httpd# 叢集模式配置(所有節點執行)
emca -config dbcontrol db -repos create -cluster
# 指定節點
emca -config dbcontrol db -repos create -cluster -NODE_LIST node1,node2
# 1. 檢查 EM 狀態
emctl status dbconsole
# 2. 瀏覽器訪問
https://:/em
# 登入:SYS AS SYSDBA / SYSTEM / SYSMAN
# 3. 檢查 Repository 物件
SQL> SELECT COUNT(*) FROM dba_objects WHERE owner='SYSMAN';
結語:EMCA 是配置 Database Control 的標準工具,掌握其參數與日誌分析技巧,能快速解決 90% 以上的配置問題。生產環境建議先在測試環境演練腳本化部署。