Oracle/Enterprise Managerが起動しない
Oracleを使っていて、データベースには普通にアクセスできるのに、突然、Oracle Enterprise Manager(以下EM)が停止していて、起動できなくなることがあります。
そのような場合の調査・解決方法をまとめました。
なお、以下の作業で問題が解決しない場合は、以下のエントリを参考に、EMリポジトリの再構築を試してみてください。
目次
状態の確認
まず、以下のコマンドでEMの状態を確認してください。
emctl status dbconsole
以下は「emctl status dbconsole」の実行例です。なお、Windowsの場合は事前に環境変数ORACLE_SIDをセットしておく必要があります。
*** ↓以下、コマンド実行(Windowsの場合) *** > set ORACLE_SID=ORASMS > emctl status dbconsole *** ↓以下、コマンド実行(Linuxの場合) *** $ su - oracle (この後パスワード入力) $ emctl status dbconsole *** ↓以下、実行結果 *** Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved. https://w2ksvr10:1158/em/console/aboutApplication Oracle Enterprise Manager 10g is not running. ------------------------------------------------------------------ Logs are generated in directory E:\oracle\product\10.2.0\db_1\myserver_mysid\sy sman\log
上記に表示されるパスの情報からEMのログの場所がわかります。
上記の場合、ログの場所は「E:\oracle\product\10.2.0\db_1\myserver_mysid\sysman\log」です。
このディレクトリの中に「emdctl.trc」というログファイルがあるので、中身を確認してください。
起動失敗の原因
EMが起動しない原因はいろいろあります。
原因が深刻な場合は、EMのリポジトリを再構築しないといけないこともあります。
しかし、場合によっては簡単な操作で直ることもあります。
例えば、ログの中に以下のようなエラーがあった場合は、EMをSSLモード(https)で起動していて、かつ、Oracleに内蔵されているSSLの期限が切れている可能性があります。
*** ↓以下、ログの一部 *** 2012-03-28 10:37:14 Thread-2444 ERROR ssl: nzos_Handshake failed, ret=29024 2012-03-28 10:37:14 Thread-2444 ERROR http: 252: Unable to initialize ssl conne ction with server, aborting connection attempt 2012-03-28 15:17:35 Thread-596 WARN http: snmehl_connect: connect failed to (myserver:1158): 対象のコンピュータによって拒否されたため、接続できませんでした。 (error = 10061)
SSLのOFF
なお、SSLが必要ない場合は以下のコマンドでSSLをOFFにできます。
emctl stop dbconsole ....EMが起動している場合はSTOPさせる。 emctl unsecure dbconsole ....SSLをOFFにする。 emctl start dbconsole ....EMを起動する。(Windowsの場合はサービスから起動でもよい)
以下は、「emctl unsecure dbconsole」でSSLのOFFが成功した場合の表示例です。
*** ↓以下、コマンド実行 *** > emctl unsecure dbconsole *** ↓以下、実行結果 *** Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved. https://myserver:1158/em/console/aboutApplication Configuring DBConsole for HTTP... Done. DBCONSOLE already stopped... Done. Agent is already stopped... Done. Unsecuring dbconsole... Started. DBConsole is now unsecured... Done. Unsecuring dbconsole... Sucessful.
SSLのOFFが成功したら、次に「emctl start dbconsole」コマンドでEMを起動してみてください。
> emctl start dbconsole
無事に起動できればOKです。
ただ、その場合は、EMにアクセスする際のWebのプロトコルは「https」ではなく「http」に変わりますので、ブラウザで見る場合は注意してください。
プロトコルを「https」のまま使いたい場合は、SSLをOFFにするのではなく、Oracleに内蔵されている「SSL証明書」を作り直す必要があるようです。
なお、上記作業で問題が解決しない場合は、以下のエントリを参考に、EMリポジトリの再構築を試してみてください。
このページのURL: