Oracle Enterprise Manager Cloud Control 13c (EM13.5) の運用において、OSの再起動やメンテナンス時の「正しい起動・停止順序」を把握することは非常に重要です。順序を誤ると、OMSがリポジトリDBに接続できずタイムアウトしたり、管理コンソールが表示されなかったりするトラブルの原因になります。
結論から言うと、起動は「DBから上へ(ボトムアップ)」、停止は「エージェントから下へ(トップダウン)」が鉄則です。本記事では、Oracle Linux 8 環境における具体的なコマンド例とともに、運用を楽にする環境変数の設定についても解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
結論・最短手順(やることリスト)
起動順序(ボトムアップ)
- Listener 起動:
lsnrctl start - Repository DB 起動:
sqlplus / as sysdba→startup - OMS 起動:
emctl start oms - Agent 起動:
emctl start agent
停止順序(トップダウン)
- Agent 停止:
emctl stop agent - OMS 停止:
emctl stop oms -all - Repository DB 停止:
sqlplus / as sysdba→shutdown immediate - Listener 停止:
lsnrctl stop
運用を効率化する環境変数の設定
EMとDBを同一サーバーで管理する場合、.bash_profile に両方の環境変数を適切に設定しておくことで、作業効率が大幅に向上します。
.bash_profile の推奨設定例
以下は、標準的な19c DBの設定にEM用の変数を追記した例です。
# --- Oracle Database settings ---
export ORACLE_SID=repdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
# --- Oracle EM13.5 settings (追記) ---
export MW_HOME=/u01/app/middleware
export AGENT_HOME=/u01/app/agent/agent_13.5.0.0.0
export PATH=$PATH:$MW_HOME/bin:$AGENT_HOME/bin
# GUI用(必要に応じて)
export DISPLAY=192.168.56.1:0.0
ORACLE_SID が設定されているため、DB操作時に毎回SIDを指定する必要がなくなります。また、PATH に各 bin ディレクトリを追加することで、どのディレクトリからでも emctl や sqlplus を直接実行できるようになります。
起動手順の実装
1. リスナーおよびリポジトリDBの起動
.bash_profile で PATH が通っていれば、以下のコマンドだけで準備が完了します。
# リスナーの起動
lsnrctl start
# データベースの起動(SID指定なしでログイン可能)
sqlplus / as sysdba
SQL> startup
SQL> exit
2. OMSおよびエージェントの起動
追記した環境変数を活用して起動します。
# OMSの起動(WebTierも同時に起動します)
emctl start oms
# エージェントの起動
emctl start agent
[oracle@em13cr5 ~]$ /u01/app/middleware/bin/emctl start oms
Oracle Enterprise Manager Cloud Control 13c Release 5
Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.
Starting Oracle Management Server...
WebTier Successfully Started
Oracle Management Server Successfully Started
Oracle Management Server is Up
JVMD Engine is Up
[oracle@em13cr5 ~]$ /u01/app/agent/agent_13.5.0.0.0/bin/emctl start agent
Oracle Enterprise Manager Cloud Control 13c Release 5
Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.
Starting agent ........................................................... started.
[oracle@em13cr5 ~]$
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
停止手順の実装
1. エージェントおよびOMSの停止
上位サービスから順に停止します。
# エージェントの停止
emctl stop agent
# OMSの全停止(AdminServerを含む)
emctl stop oms -all
なぜ
-allオプションが必要なのか?emctl stop omsだけを実行した場合、OMS本体(Managed Server)のみが停止し、WebLogicの管理機能を担う AdminServer は稼働したまま残ります。AdminServerが残っていると、OS再起動時に正常にシャットダウンが行われなかったり、次回の起動時にプロセスが競合してエラーが発生したりするリスクがあります。メンテナンスやOS再起動の際は、必ず-allを付与して全てのコンポーネントを完全に停止させてください。
2. リポジトリDBおよびリスナーの停止
最後にDB層を閉じます。
# データベースの停止
sqlplus / as sysdba
SQL> shutdown immediate
SQL> exit
# リスナーの停止
lsnrctl stop
実行例と状態確認
起動後は以下のコマンドでステータスを確認してください。
OMSのステータス確認
[oracle@em13cr5 ~]$ emctl status oms
WebTier is Up
Oracle Management Server is Up
JVMD Engine is Up
エージェントのステータス確認
[oracle@em13cr5 ~]$ emctl status agent
---------------------------------------------------------------
Agent Version : 13.5.0.0.0
...
Agent is Running and Ready
トラブルシューティング
| 状況 | 原因 | 対処法 |
|---|---|---|
| OMS起動が遅い | リポジトリDBの起動待ち | DBが OPEN 状態か確認してください。 |
| OMS停止が完全に終わらない | Zombieプロセスやセッション残 | `ps -ef |
| コマンドが見つからない | PATH設定の不備 | .bash_profile の PATH に bin が含まれているか確認。 |
運用・セキュリティ上の注意
- 環境変数の重複回避: PATH の設定順序によっては、古いバージョンの
emctl(エージェント側など)が優先される場合があります。基本は OMS側のbinを優先するか、エイリアスを活用してください。 - OMSの
-allオプション: 上述の通り、AdminServer を含めて完全に停止させるために、メンテナンス時は必ず-allを使用してください。 - 戻し方: 起動に失敗した場合は、一度逆順で全て停止してから再度順序通りに起動し直してください。
FAQ
Q1: ORACLE_SID を設定するメリットは何ですか? A: sqlplus / as sysdba でログインする際、環境変数から自動的に対象DBが判断されるため、export ORACLE_SID=... を都度打つ手間が省けます。
Q2: 起動順序を自動化できますか? A: systemd ユニットファイルを作成し、依存関係(After=oracle-db.service等)を定義することで、OS起動時の自動実行が可能です。
まとめ
- 起動順: リスナー → DB → OMS → エージェント
- 停止順: エージェント → OMS(-all) → DB → リスナー
- 効率化:
.bash_profileに DB 用変数と EM 用変数(MW_HOME,AGENT_HOME)を両方定義する。
本記事は Oracle Enterprise Manager Cloud Control 13.5 を対象に解説します(他バージョンは画面や既定値が異なる場合があります)。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?



コメント