ヘッダーをスキップ

Distributed Configuration Management 管理者ガイド
10gリリース2(10.1.2)
B15732-03
目次
目次
索引
索引

戻る 次へ

B
DCMのトラブルシューティング

この付録では、DCMの使用時に発生しうる一般的な障害とその解決方法について説明します。また、障害を診断する方法に関する詳細手順についても説明します。ここで扱う項目は次のとおりです。

B.1 障害と解決策

この項では、Distributed Configuration Management(DCM)の使用時に報告される、または発生する障害と、その解決策について説明します。

ここで扱う項目は次のとおりです。

B.1.1 OPMNを起動できない

障害

構成操作中に、opmn.xmlファイルが破損したか削除されました。このエラーは、次のエラー・メッセージのいずれかとともに出力される場合があります。

ADMN-202001
An exception has occurred while accessing DCM repository. Please refer to the
 accompanying base exception for more details.
Base Exception:
oracle.ons.ONSException:Unable to open file /private/10g/opmn/conf/opmn.xml

または

ADMN-705002
The most likely causes are:
1. Configuration error; TaskMaster cannot read configuration file;
2. Cannot connect to the repository.
Base Exception:
oracle.ons.SubscriptionException:Subscription request timed out after 120000
millseconds. Possible causes: OPMN is not running, you may have OPMN running in an 
alternate ORACLE_HOME using duplicate port values, OPMN may be misconfigured.

解決策1

最後に保存されたバージョンのopmn.xml構成ファイルを使用してOPMNを再起動し、dcmctl resyncinstanceコマンドを実行して、リポジトリに最後に保存されたバージョンで構成ファイルを更新します。

これを行うには、次の手順を実行します。

  1. 保存されているopmn.xml.bakファイルに対して、opmnctl検証操作を実行します。

    % cd $ORACLE_HOME/opmn/conf
    % $ORACLE_HOME/opmn/bin/opmnctl validate opmn.xml.bak
    
    


    注意

    opmn.xml.bakファイルは、インストール時に作成されます。これは、(DCMまたはOracle Enterprise Manager 10gを介した)すべての変更内容がコミットされる前に再作成されます。 


  2. 手順1で次のメッセージが返されたら、次の手順に進みます。

    opmnctl: opmn validation succeeded!
    
    

    手順1で次のメッセージが返された場合は、次のようにします。

    opmnctl: opmn validation failed!
    
    

    opmn.xml.bak内のエラーの修正方法がわかっている場合は、修正してから手順1をやりなおします。それ以外の場合は、解決策2を実行します。

  3. opmn.xmlファイルを、DCMの最後の操作で保存されたファイルで置き換えます。ここで保存されたバージョンのopmn.xmlは、ファイル$ORACLE_HOME/opmn/conf/opmn.xml.bakに入っています。

    たとえば、次のように入力します。

    % cd $ORACLE_HOME/opmn/conf
    % cp opmn.xml.bak opmn.xml
    
    
  4. DCMシェルを起動し、resyncinstanceコマンドを実行します。

    % cd $ORACLE_HOME/dcm/bin
    % dcmctl shell
    dcmctl> resyncinstance -force
    All OC4J components are stopped during a resyncinstance -force.
    They will need to be restarted after the command completes.
    Current State for Instance:10gM21.tvanraal-sun.us.oracle.com
    
    
  5. opmnctlを使用して、すべてのコンポーネントのステータスをチェックし、本来実行されているはずのコンポーネントが実行されていない場合は、それらを起動します。

    % cd $ORACLE_HOME/opmn/bin
    % opmnctl status
    
解決策2

最後に保存されたバージョンのopmn.xmlファイルを変更してDCMが実行できるようにし、dcmctl resyncinstanceコマンドを実行して、リポジトリに最後に保存されたバージョンで構成ファイルを更新します。

これを行うには、次の手順を実行します。

  1. 保存されているopmn.xml.bakファイルに対して、opmnctl検証操作を実行します。

    % cd $ORACLE_HOME/opmn/conf
    % $ORACLE_HOME/opmn/bin/opmnctl validate opmn.xml.bak
    
    
  2. 手順1で次のメッセージが返された場合は、次のようにします。

    opmnctl: opmn validation failed!
    
    

    opmn.xml.bak内のエラーを修正し、dcmデーモンを起動できるようにする必要があります。最初に、現在のバージョンのopmn.xml.bakのバックアップをとります。こうしておけば、障害が発生した場合にバックアップ・コピーに戻せます。たとえば、次のようなコマンドを使用します。

    cp opmn.xml.bak opmn.xml.bak.orig
    
    

    $ORACLE_HOME/opmn/conf/opmn.xml.bakファイルを編集し、opmn.xml.bak<ias-component>要素ごとに、属性 status="disabled"を追加します。コンポーネントdcm-daemonに対してのみ、status= "enabled"と設定します。

    たとえば、次のように入力します。

    <ias-component id="OC4J" status="disabled">
    <ias-component id="dcm-daemon" status="enabled" id-matching="true">
    
    
  3. opmn.xmlファイルを、更新されたバージョンのopmn.xml.bakで置き換えます。

    たとえば、次のように入力します。

    % cd $ORACLE_HOME/opmn/conf
    % cp opmn.xml.bak opmn.xml
    
    
  4. DCMシェルを起動し、resyncinstanceコマンドを実行します。

    % cd $ORACLE_HOME/dcm/bin
    % dcmctl shell
    dcmctl> resyncinstance -force
    All OC4J components are stopped during a resyncinstance -force.
    They will need to be restarted after the command completes.
    Current State for Instance:10gM21.tvanraal-sun.us.oracle.com
    
    
  5. opmnctlを使用して、すべてのコンポーネントのステータスをチェックし、本来実行されているはずのコンポーネントが実行されていない場合は、それらを起動します。

    % cd $ORACLE_HOME/opmn/bin
    % opmnctl status
    
解決策3

解決策1と解決策2でこの問題が解決しない場合は、opmn.xmlopmn.xml.bakの両方のファイルが破損しています。この場合は、opmn.xmlファイルを手動で作成してdcm-daemonを起動できるようにし、dcmctl resyncinstanceコマンドを実行して、リポジトリに最後に保存されたバージョンで構成ファイルを更新する必要があります。

dcm-daemonの起動に十分なバージョンのopmn.xmlを作成するには、次の手順を実行します。

  1. 例B-1に示すテキストをコピーして、$ORACLE_HOME/opmn/conf/opmn.xmlに貼り付けます。

  2. ポート要素を編集して、localremoteおよびrequestの各属性が、環境に適した値を持つようにします。その値は、例B-1ではXXXXYYYYおよびZZZZです。

  3. このファイルを使用すると、OPMN Serverが起動し、DCMデーモンを起動できるようになるので、dcmctl resyncInstanceコマンドを使用して、DCMリポジトリからopmn.xmlファイルをリストアできます。

    例B-1    緊急起動用の基本的なopmn.xmlファイル: 使用前にポート値の置換えが必要

    <opmn xmlns="http://www.oracle.com/ias-instance">
    <notification-server>
    <port local="XXXX" remote="YYYY" request="ZZZZ"/>
    <log-file path="$ORACLE_HOME/opmn/logs/ons.log" level="4"
    rotation-size="1500000"/>
    <ssl enabled="true" wallet-file="$ORACLE_HOME/opmn/conf/ssl.wlt/default"/>
    </notification-server>
    <process-manager>
    <log-file path="$ORACLE_HOME/opmn/logs/ipm.log" level="4"
    rotation-size="1500000"/>
    <process-modules>
    <module path="$ORACLE_HOME/opmn/lib/libopmndcmdaemon">
    <module-id id="DCMDaemon"/>
    </module>
    </process-modules>
    <ias-instance id="foo">
    <environment>
    <variable id="TMP" value="/tmp"/>
    </environment>
    <ias-component id="dcm-daemon" status="enabled" id-matching="true">
    <process-type id="dcm-daemon" module-id="DCMDaemon">
    <process-set id="dcm" numprocs="1">
    <module-data>
    <category id="start-parameters">
    <data id="java-parameters"
    value="-Xmx256m -Doracle.ias.sysmgmt.logging.loglevel=ERROR -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=$TMP" />
    <data id="jar-file" value="$ORACLE_HOME/dcm/lib/dcm.jar"/>
    <data id="application-parameters" value="daemon -logdir $ORACLE_HOME/dcm/logs/daemon_logs
    -o $ORACLE_HOME" />
    </category>
    </module-data>
    </process-set>
    </process-type>
    </ias-component>
    </ias-instance>
    </process-manager>
    </opmn>


     

B.1.2 DCMデーモンを起動できない

障害

DCMデーモンが起動しません。

解決策

メモリー不足またはOPMNの障害によって発生した可能性があります。この障害は、次の手順で調べることができます。

  1. ORACLE_HOME/opmn/logs/dcm-daemon~dcm-daemon~dcm~1に含まれるエラー・メッセージを確認します。

  2. ORACLE_HOME/opmn/logs/*のログ・ファイルに含まれるエラー・メッセージを確認します。

  3. OPMNで使用されているポートが競合していないことを確認します。これらのポートの一覧は、ORACLE_HOME/opmn/conf/opmn.xml<notification-server>要素にあります。

B.1.3 DCMデーモンが予期したとおりに起動しない

障害

opmnctl startallコマンドが正常に終了した後、opmnctlステータスに、dcm-daemonが停止していることが表示されます。

解決策

必要に応じて次のコマンドを発行し、dcm-daemonコンポーネントを明示的に起動します。

opmnctl startproc ias-component=dcm-daemon

デフォルトでは、dcm-daemonコンポーネントは、opmnctl startallコマンドでは起動しません。かわりに、dcm-daemonコンポーネントは、dcmctlまたはOracle Enterprise Manager 10g Application Server Controlコンソールの初期化時に起動されます。

dcm-daemonの明示的な起動が必要な場合があります。たとえば、クラスタにアプリケーションをデプロイするなど、クラスタ全体にDCM操作を実行する場合は、クラスタ内のすべてのOracle Application Serverインスタンスでdcm-daemonが動作している必要があります。ローカルOracle Application Serverインスタンスでdcmctlコマンドを実行すると、dcm-daemonは、ローカルOracle Application Serverインスタンスでは起動しますが、クラスタのリモートOracle Application Serverインスタンスでは起動しません。


注意

詳細は、第1.2.1項「Distributed Configuration Managementのブートストラップ手順」を参照してください。 


B.1.4 DCM操作が失敗する

障害

dcmctlコマンドをファイルベース・リポジトリで使用しているときに、予期しないメッセージが表示されたり障害が発生することがあります。

解決策1

fileCleanUpコマンドを使用してリポジトリ・データ表から古くなったレコードを消去します。

解決策2

ファーム内のすべてのOracle Application Serverインスタンス上で、dcmctlプロセス、dcmデーモンおよびApplication Server Controlコンソールを再起動します。これらのプロセスを再起動すると障害が解決する場合があります。これらのプロセスの再起動によって、構成情報が失われることはありません。

B.1.5 無効なユーザー名/パスワード

障害

dcmctlから「invalid username/password; logon denied」というメッセージが返されます。

解決策

これはDCMで、Oracle Internet Directoryまたはメタデータ・リポジトリ内のDCMスキーマにアクセスする際に障害が生じた可能性があることを示しています。この障害のトラブルシューティングの手順については、「Oracle Internet Directoryのトラブルシューティング」を参照してください。

B.1.6 構成情報ファイル(BOM)が更新されない

障害

DCMのログ・ファイルにBOM Not Updatedというエントリが含まれています。通常、このエラーは次のような詳細メッセージとともに出力されます。

プラグイン<プラグイン名>のファイル<ファイル・パス>の書込み中にエラーが発生しました。

解決策

このメッセージは、Oracle Application Serverインスタンスの構成ファイルが、DCMリポジトリに格納されている構成情報と同期が取れていない場合にログに記録されます。ファイル・システムの容量が一杯であるか、ファイル権限またはオペレーティング・システムの問題が発生したため、DCMで構成ファイルを更新できませんでした。次のログ・ファイルを調べて、DCMがファイル・システムへの書込みに失敗した原因を見つけてください。

ORACLE_HOME/dcm/logs/dcmctl_logs/log.xml

ORACLE_HOME/dcm/logs/emd_logs/log.xml

ORACLE_HOME/j2ee/home/log/log.xml

ファイル・システムへの書込みに関する障害を特定するもう1つの方法は、Oracle Application Serverをインストールしたユーザーとしてオペレーティング・システムにログインし、構成ファイルへの書込みを試してみることです。障害の詳細を説明するエラー・メッセージが、オペレーティング・システムから返されます。

ファイル・システムの障害が解決したら、次のコマンドを使用してOracle Application Serverインスタンスを再同期化します。

ORACLE_HOME/dcm/bin/dcmctl resyncinstance

B.1.7 In Sync StatusがFALSEになる

障害1

dcmctl getStateコマンドを実行すると、1つ以上のコンポーネントについて、「False: Configuration」というIn Sync Statusが返されます。

解決策1

これは、Oracle Application Serverインスタンスの構成ファイルが、DCMリポジトリに格納されている構成情報と同期が取れていないことを示します。この障害は、直前に実行した操作が正常に終了しなかった際に発生することがあります。この障害を解決するには、次の手順に従って、DCMリポジトリの構成情報をOracle Application Serverインスタンスにリストアする必要があります。

  1. 同期化の実行中に構成が変更されないよう、Oracle Enterprise Manager 10g Application Server Controlコンソールを停止します。

  2. 次のコマンドを使用して、Oracle Application Serverインスタンスを再同期化します。

    ORACLE_HOME/dcm/bin/dcmctl resyncinstance

    通常はこれで障害が解決されます。解決しなかった場合は、resyncinstanceを実行して、問題点と対処法の特定に役立つエラー情報を取得してください。

障害2

dcmctl updateconfigコマンドを実行すると、「このOracle Application Serverインスタンスの構成ファイルは、リポジトリに格納された構成と一貫性がありません。」というメッセージが返されます。

解決策2

これは、Oracle Application Serverインスタンスの構成ファイルが、DCMリポジトリに格納されている構成情報と同期が取れていないことを示します。Oracle Application Serverインスタンスを停止して再同期化します。Oracle Application Serverインスタンスの構成ファイルに同期が取られたら、元の変更ができます。変更したら、dcmctl updateconfigを必ず再実行してください。

関連項目

この項の障害1と解決策1 

障害3

操作の後、DCM構成ファイルが0(ゼロ)バイトになりました。

解決策3

DCMの操作時に構成ファイルへの書込みに問題が生じると、ファイルのサイズがゼロ・バイトになります。障害を解決する手順は次のとおりです。

  1. Oracle Application Serverインスタンスをインストールしたユーザーとしてオペレーティング・システムにログオンし、次の手順を実行します。

    1. ファイルのアクセス権を確認します。

    2. 構成ファイルへの書込みを試し、障害が発生した場合はオペレーティング・システムからのエラー・メッセージを確認します。障害の原因を解決します。

    3. ファイル・システムの割当て制限を確認します。

    4. 構成ファイルへの書込みの妨げとなる問題がオペレーティング・システムから排除されたことを確認します。

  2. ほかに検出された問題があれば、それらを解決します。

  3. resyncInstanceコマンドを使用して、DCMリポジトリからファイルをリストアします。

B.1.8 ディレクトリに接続できない

障害

dcmctlからADMN-100999が返され、ベースの例外は「Unable to connect to Directory」です。

解決策

このエラーは、DCMがOracle Internet Directoryにアクセスできない場合に発生します。DCMはこのディレクトリに接続して、データベースベースのリポジトリへの接続に使用するパスワードを取得する必要があります。

Oracle Internet Directoryを再起動して、障害が解決するかどうかを確認します。解決しない場合は、「Oracle Internet Directoryのトラブルシューティング」を参照してください。

B.1.9 Infrastructureのデータベースにアクセスできない

障害

dcmctlからADMN-202026が返され、ベースの例外は「Unable to connect to Directory」です。

解決策

このエラーは、DCMがOracle Internet Directoryにアクセスできない場合に発生します。DCMはこのディレクトリに接続して、データベースベースのリポジトリへの接続に使用するパスワードを取得する必要があります。

Oracle Internet Directoryを再起動して、障害が解決するかどうかを確認します。解決しない場合は、「Oracle Internet Directoryのトラブルシューティング」を参照してください。

B.1.10 dcm.confファイルを読み込めない

障害

Application Server Controlコンソールにログインしようとした場合、またはdcmctlコマンドを実行する場合にエラーが発生します。つまり、dcm.confファイルを読み込もうとする際に、アクセス権が拒否されます。このエラーは、Oracle Application Serverインスタンスをインストールしたユーザーとは別のユーザーがdcmctlコマンドを実行する場合、またはdcm.confファイルに対するファイル・アクセス権がインストーラによるデフォルトの設定から変更された場合に発生します。

解決策

ORACLE_HOME/dcm/config/dcm.confファイルの所有権およびアクセス権を、Oracle Application Serverインスタンスのインストール時にインストーラによって設定された権限に変更します。また、ORACLE_HOME/opmn/conf/ons.confと、ORACLE_HOME/dcm/logs/dcmctl_logsの下のすべてのファイルで、権限が正しく設定されていることを確認します。

B.1.11 dcm.confまたはdcmCache.xmlファイルが空になる

障害

構成管理操作を行うと、構成ファイルがゼロ長のファイルとして書き込まれることがあります。これは通常、ディスクの容量不足など、ディスクの書込みの問題によって発生します。

解決策

対応する.bakファイル(dcm.conf.bakまたはdcmCache.xml.bak)をdcm.confまたはdcmCache.xmlにそれぞれコピーして、Oracle Application Serverインスタンスを起動します。

B.1.12 dcmctl getStateを実行すると停止する

障害

dcmctl getState -dコマンドを実行すると、次のメッセージが返され、処理が停止します。

Current state for Instance:myinstance.example.com

Component Type Up Status In Sync Status

=============================

解決策

実際に停止したプロセスを特定します。関連コンポーネント(OHS、OPMN、OC4J)のいずれかに関連付けられたプロセスが停止した可能性があります。

  1. 次のコマンドを使用して、dcm-daemonプロセスのPIDを特定します。

    ORACLE_HOME/opmn/bin/opmnctl status

  2. 次のコマンドを使用して、dcm-daemonプロセスにkill -3信号を送ります。

    kill -3 PID

    これにより、JVMは実行スタック・トレースをダンプします。

  3. ORACLE_HOME/opmn/logs/dcm-daemon~dcm-daemon~dcm~1ファイルを開き、実行スタック・トレースを調べて、DCMを停止させたプロセスを特定します。

B.1.13 (9.0.2または9.0.3)のインスタンスで、getStateコマンドを使用できない

障害

Oracle Application Server 10g リリース2(10.1.2)Oracle ホームから、コマンドdcmctl getstate -i instance nameを起動すると、ADMN-604104例外が発生します。この障害は、instance nameが9.0.2または9.0.3のOracle Application Serverインスタンスの場合に発生します。

解決策

9.0.2または9.0.3のOracle Application Serverインスタンスの状態を取得する場合は、Oracle Application Server 10g リリース2(10.1.2)のOracle ホームではなく、9.0.2または9.0.3のOracleホームから、dcmctlユーティリティを起動します。

B.1.14 dcmctl joinFarmを実行するとエラーになる

障害

dcmctl joinfarmコマンドを実行すると、次のメッセージが返されます。

ADMN-202026
A problem has occurred accessing the OracleAS 10g infrastructure database.
Base Exception:
oracle.ias.repository.schema.SchemaException:DCM Repository is not Configured
Please refer to the base exception for resolution or call Oracle support.
oracle.ias.repository.schema.SchemaException: DCM Repository is not Configured
.
.
.
解決策

ファイルベース・リポジトリを結合しようとしている場合は、-rオプションでそのファイルベース・リポジトリのIDを指定して、再度コマンドを発行します。

ファイルベース・リポジトリのIDを指定するには、-rオプションが必要です。誤って-rオプションを省略すると、dcmctlは、Infrastructureのデータベース・ファームを指定のリポジトリIDに結合しようとします。

B.1.15 repositoryRelocatedコマンドを実行すると、リポジトリにアクセスできない

障害

repositoryRelocatedの実行後、リポジトリにアクセスできなくなりました。

repositoryRelocatedコマンドは、importRepositoryコマンドと組み合せて使用するようになっています。Oracle Application Server Farmには一度に1つずつしかリポジトリを関連付けることができません。したがって、リポジトリを同じOracle Application Server Farmの新しいOracle Application Serverインスタンスにインポートした場合は、repositoryRelocatedコマンドを使用して、元のOracle Application Serverインスタンスにリポジトリ・ホストではなくなったことを通知する必要があります。リポジトリが新しいOracle Application Serverインスタンスにインポートされなかった場合は、現在そのリポジトリを管理しているOracle Application Serverインスタンスが存在しないことになります。

解決策

解決策は、コマンドが発行されたときの状況によって異なります。

このコマンドを発行した目的が、エクスポートしたリポジトリ・イメージを新しいOracle Application Serverインスタンスにインポートすることである場合は、importRepositoryコマンドを発行するだけで済みます。リポジトリが新しいOracle Application Serverインスタンスにインポートされると、すべてのOracle Application Serverインスタンスで新しいリポジトリ・ホストにアクセスできるようになります。

コマンドでエラーが発生しても現在のリポジトリを引き続き使用する場合は、次の手順を実行します。

  1. Oracle Application Serverインスタンスを停止します。

  2. ORACLE_HOME/dcm/configディレクトリに移動します。

  3. 次のコマンドを使用してファイルを比較します。

    diff dcm.conf dcm.conf.bak

    結果は次のようになります。

    < repository_type=cache

    > repository_type=cache rep

  4. 次のコマンドを使用して、dcm.confファイルを元のバージョンにリストアします。

    cp dcm.conf.bak dcm.conf

  5. Oracle Application Serverインスタンスを起動します。

    これで、リポジトリをファームで使用できるようになります。

B.1.16 アクセスできないIPアドレス

障害

アクセスできないIPアドレスのip属性を指定する<coordinator>サブ要素を持つ<communication>要素が、構成ファイルORACLE_HOME/dcm/config/dcmCache.xmlに含まれる場合、Application Server Controlコンソールまたはdcmctlに、次のエラーが発生する可能性があります。

The exception 202504, has occurred in the cache layer of the persistence manager. 
"Network port is in use.". Resolution: Please, refer to the base exception for the 
details.

次のdcmctlエラーも、この障害に関連付けられています。

Local Stack:
oracle.ias.cache.group.GroupException: Network port is in use
at oracle.ias.cache.group.Transport.ssinit(Unknown Source)
at oracle.ias.cache.group.Transport.init(Unknown Source)
解決策

DHCP環境などでマシンのIPアドレスを変更した場合、そのIPアドレスにアクセスできなくなる可能性があります。

この障害を回避するには、次の手順を実行します。

  1. 構成ファイルORACLE_HOME/dcm/config/dcmCache.xml<coordinator>要素に指定されたip属性を変更します。このファイルでは、ip属性と<coordinator>要素がいくつか指定されています。属性が"original=true"<coordinator>要素を変更します。この要素で、ip属性を、そのマシンに適した値に変更します。hostnamenlslookupなどのコマンドを使用して、正しいIPアドレスを特定します。

  2. ORACLE_HOME/config/ias.propertiesVirtualHostNameの値を、対応する正しいホスト名に変更します。

  3. dcmctl resetHostInformationコマンドを実行します。

これで障害が解決されます。

B.1.17 resyncInstanceコマンドを実行しても正常にリストアされない

障害

次の手順を実行しても、構成変更が正常に元に戻りません。

  1. DCMが管理する構成ファイルの更新

  2. updateConfigコマンドの実行

  3. 構成ファイルに対する変更の手動での削除

  4. resyncinstanceコマンドの実行

解決策

手順3の後にupdateConfigコマンドを実行して、手順3で構成変更を削除したことをDCMに通知します。次のように-forceオプションを使用すると、Oracle Application Serverインスタンスの再同期化をDCMで強制的に実行できます。

ORACLE_HOME/dcm/bin/dcmctl resyncinstance -force

B.2 DCM関連コンポーネントに起因する障害の診断

DCMで報告される障害には、関連コンポーネントまたは関連システム(OPMN、OHS、OC4J、Oracle Internet Directory、メタデータ・リポジトリ、ファイル・システムなど)に起因するものがあります。この項では、このタイプの障害を見極め、検証および修正するためのヒントを示します。ここで扱う項目は次のとおりです。

Oracle Process Manager and Notification Serverのトラブルシューティング

Oracle Internet Directoryのトラブルシューティング

メタデータ・リポジトリのトラブルシューティング

ファイルベース・リポジトリのトラブルシューティング

B.2.1 Oracle Process Manager and Notification Serverのトラブルシューティング

起動時および停止時の障害は、OPMNによるものか、それが起動または停止しようとしているいずれかのコンポーネントが原因であると考えられます。障害の原因を特定するには、最初にOPMNのログを調べます。OPMNのログは、ORACLE_HOME/opmn/logs/にあります。また、メイン・ログ、opmn.log、ipm.log、ons.logのほかにも、OPMNの管理対象である各コンポーネントにもログ・ファイルが存在します。

B.2.2 Oracle Internet Directoryのトラブルシューティング

DCMからディレクトリに関するエラーやパスワードの問題が報告された場合は、Oracle Internet Directoryの障害が原因であると考えられます。この項では、このタイプの問題を解決する方法について説明します。

B.2.2.1 DCMにおけるOracle Internet Directoryの使用

DCMは、Oracle Application ServerインスタンスがIdentity Managementとメタデータ・リポジトリを使用するように構成されている場合のみ、Oracle Internet Directoryを使用します。この場合、次の手順が実行されます。

  1. Oracle Application Serverインスタンスと一緒に格納されている、内部的かつ無作為に生成されたパスワードが使用され、Oracle Internet Directoryへのログインが行われます。

  2. Oracle Internet Directoryからメタデータ・リポジトリ用のパスワードが取得されます。

  3. このパスワードで、メタデータ・リポジトリへのアクセスが行われます。

B.2.2.2 Oracle Internet Directoryの障害をトラブルシューティングする方法

  1. Oracle Internet DirectoryへのアクセスにOracle Application Serverインスタンスが使用しているホストとポートを特定します。DCM障害が報告された、中間層Oracle Application ServerインスタンスのOracleホームにあるORACLE_HOME/config/ias.propertiesファイルを調べます。このファイルでは、Oracle Internet DirectoryのホストがOIDhostになっています。Oracle Internet DirectoryのポートはOIDportです。

  2. Oracle Internet Directoryのホストを別のコンピュータからpingして、ネットワークが稼動しているかどうかを確認します。pingが失敗した場合は、ネットワークが停止しています。

  3. pingが成功した場合は、次のコマンドを実行して、Oracle Internet Directoryにアクセスできるかどうかを確認します。

    ORACLE_HOME/bin/ldapbind -p oid_port -h oid_host

  4. このコマンドが失敗した場合は、Oracle Internet Directoryが停止しています。Oracle Process Manager and Notification Serverを使用して、Oracle Internet Directoryを再起動してみます。起動しない場合は、Oracle Internet Directoryの管理者に連絡して、Oracle Internet Directoryの再起動を要請してください。

    OIDコンポーネントを含むOracle Application Serverインスタンス上で、次のコマンドのいずれかを使用して、Oracle Internet Directoryを起動または再起動します。

    • opmnctl startall

    • opmnctl startproc ias-component=OID

  5. DCMコマンドを再度実行します。再び失敗した場合は、次の手順に進みます。

  6. メタデータ・リポジトリが実行されていることを確認します。DCMがメタデータ・リポジトリにアクセスする方法は、次のようにインストール・タイプと構成に応じて異なります。

    • Identity Managementとメタデータ・リポジトリを使用しているJ2EE and Web Cacheのインストールの場合: Oracle Application Serverインスタンスが使用しているメタデータ・リポジトリは、ORACLE_HOME/config/iasschema.xmlファイルのComponentNameDCMに対応するDBConnectフィールドです。

    • Portal and Wirelessのインストールの場合: Oracle Application Serverインスタンスが使用するメタデータ・リポジトリは、ORACLE_HOME/config/ias.propertiesファイルのInfrastructureDBCommonNameフィールドです。

  7. Oracle Internet Directoryに格納されているDCMスキーマのパスワードが、メタデータ・リポジトリのDCMスキーマのパスワードと一致することを確認します。

    1. Oracle Application Serverのインストレーション・ガイドの「DCMスキーマのパスワードの確認方法」の項に記載されている手順に従って、Oracle Internet DirectoryからDCMスキーマのパスワードを取得します。

    2. 取得したパスワードを使用して、次のようにメタデータ・リポジトリのDCMスキーマにログインします。

      sqlplus dcm/password@connectstring

      パスワードが一致しない場合は、次の2つのオプションのいずれかを実行します。

B.2.2.2.1 オプション1:

次の手順で、Oracle Enterprise Manager 10g Application Server Controlコンソール(Application Server Controlコンソール)を使用して、Oracle Internet Directoryとメタデータ・リポジトリのパスワードを設定しなおします。

  1. Application Server Controlコンソールにログインし、障害が報告されたOracle Application Serverインスタンスのインスタンス・ホーム・ページを開きます。

  2. 「Infrastructure」をクリックします。

  3. DCMスキーマを選択します。

  4. 「スキーマの変更」をクリックします。

  5. 「パスワードの変更」をクリックします。

  6. 新しいパスワードを設定します。

  7. DCMコマンドを再度実行します。

    関連項目

    Oracle Internet Directoryのトラブルシューティングの詳細は、『Oracle Internet Directory管理者ガイド』を参照してください。 

B.2.2.2.2 オプション2:

メタデータ・リポジトリのDCMパスワードを、Oracle Internet Directoryに格納されているパスワードと一致するように設定しなおします。これには、SYSユーザーとしてメタデータ・リポジトリにログインし、次のコマンドを発行します。

sql> ALTER DCM IDENTIFIED BY password in oid

password in oidは、Oracle Internet Directoryから取得したDCMスキーマのパスワードです。

B.2.3 メタデータ・リポジトリのトラブルシューティング

DCMでリポジトリに関する障害が報告されたときに、ファイルベース・リポジトリではなくメタデータ・リポジトリを使用していた場合は、この項の説明に従って、リポジトリのトラブルシューティングを行います。

B.2.3.1 DCMにおけるメタデータ・リポジトリの使用

DCMは、メタデータ・リポジトリのDCMスキーマに構成情報を格納します。

B.2.3.2 メタデータ・リポジトリの障害をトラブルシューティングする方法

  1. メタデータ・リポジトリが実行されており、システムからアクセスできることを確認します。Oracle Application Serverインスタンスのメタデータ・リポジトリの一覧は、ORACLE_HOME/config/iasschema.xmlファイルのDBConnectフィールドにあります。

  2. エラー・メッセージがOracle Application Serverインスタンスとリポジトリに矛盾があることを示している場合は、次のようにresyncInstanceコマンドを発行します。

    ORACLE_HOME/dcm/bin/dcmctl resyncinstance

  3. ログ・ファイルでエラーを調べます。データベースまたはシステムのエラーによって、リポジトリが破損している可能性があります。これは、次のログ・ファイルで調べることができます(次の例で、asdbディレクトリはデフォルトSID用の名前です)。

    METADATA_REPOSITORY_ORACLE_HOME/admin/asdb/bdump

    METADATA_REPOSITORY_ORACLE_HOME/admin/asdb/udump

    データベースの障害または破損の形跡が見られる場合は、データベースのドキュメントを参照して、データベースのリストアおよびリカバリを行います。

B.2.4 ファイルベース・リポジトリのトラブルシューティング

DCMでファイルベース・リポジトリに関する障害が報告された場合は、この項の説明に従って、リポジトリのトラブルシューティングを行います。

B.2.4.1 DCMにおけるファイルベース・リポジトリの使用

DCMは、ORACLE_HOME/dcm/repositoryに構成情報を格納します。

B.2.4.2 ファイルベース・リポジトリの障害をトラブルシューティングする方法

ファイルベース・リポジトリの障害のほとんどは、ファイル・システムの障害に起因します。

  1. 次のことを確認します。

    • ファイル・システムが容量不足でないこと。

    • ファイル・システムが割当て範囲内で使用されていること。

    • Oracle Application Serverをインストールしたオペレーティング・システムのユーザーが、リポジトリに対する書込み権限を持っていること。

  2. エラー・メッセージがOracle Application Serverインスタンスとリポジトリに矛盾があることを示している場合は、次のようにresyncInstanceコマンドを発行します。

    ORACLE_HOME/dcm/bin/dcmctl resyncinstance

  3. リポジトリ・ファイルにエラーがある場合、あるいはリポジトリ・ファイルの一部またはすべてが削除されている場合は、次の方法でファイルをリストアできます。

    Oracle Application Serverインスタンスがクラスタリングされている場合:

    1. リカバリするOracle Application ServerインスタンスのOracleホームで、次のコマンドを発行します。

      ORACLE_HOME/dcm/bin/dcmctl resyncinstance

    Oracleホームのバックアップがある場合:

    1. ORACLE_HOME/dcm/repositoryのリポジトリ・ファイルをリストアします。

    2. リカバリするOracle Application ServerインスタンスのOracleホームで、次のコマンドを発行します。

      ORACLE_HOME/dcm/bin/dcmctl resyncinstance

B.3 DCMの障害の診断

この項では、DCMの障害を診断する方法について、順を追って説明します。

手順1: dcmctlユーティリティの冗長出力およびデバッグ出力を解析する

エラーが発生すると、通常、dcmctlユーティリティから、詳細なエラー・メッセージ、考えられる原因および解決策に関するコンテキスト情報が出力されます。例外が発生した場合は、-dオプションを指定すると、スタック・トレースを出力できます。この情報によって、問題を解決できることもあります。オラクル社カスタマ・サポート・センターに連絡する場合は、このスタック・トレースの内容をお知らせください。dcmctlユーティリティでは、デフォルトで、-v(冗長)オプションおよび-d(デバッグ)オプションがオンに設定されています。これらのデフォルトをsetコマンドで変更します。

最後に発生したエラーのメッセージとスタック・トレースを表示するには、次のコマンドを使用します。

ORACLE_HOME/dcm/bin/dcmctl getError

手順2: ログ・ファイルを調べる

dcmctlの冗長出力およびデバッグ出力のみでは情報が不十分な場合、ログ・ファイルを調べます。一般に、ログ・ファイルには、障害を特定するのに役立つエラー・メッセージが出力されます。表B-1は、DCM関連のログ・ファイルの一覧です。

表B-1    Distributed Configuration Managementのログ・ファイル 
ファイル  説明 

ORACLE_HOME/dcm/logs/dcmctl_logs/log.xml 

DCMクライアントのdcmctlシェルに関するログ 

ORACLE_HOME/dcm/logs/emd_logs/log.xml 

DCMクライアントのApplication Server Controlコンソールに関するログ 

ORACLE_HOME/dcm/logs/daemon_logs/log.xml 

DCMデーモンのログ 

ORACLE_HOME/dcm/logs/busrule_logs/log.xml 

DCMのビジネス・ルールの実行に関するログ 

ORACLE_HOME/opmn/logs/* 

Oracle Process Manager and Notification Serverのログ 

手順3: 「障害と解決策」の項を確認する

エラーは特定したものの、対処法がわからない場合は、「障害と解決策」で該当または類似する障害を探します。

手順4: 障害の原因が関連コンポーネントによるものかどうかを判断する

DCMで報告される障害の多くは、OPMN、Oracle HTTP Server、Oracle Application Server Containers for J2EE、Oracle Internet Directory、メタデータ・リポジトリなどの関連コンポーネントの稼動状態に起因します。表B-2は、このタイプの障害を見極めるためのヒントと、詳細情報の参照先を示しています。

表B-2    関連テクノロジに起因する障害 
障害のタイプ  考えられる原因 

起動および停止 

Oracle Process Manager and Notification Server、Oracle HTTP ServerまたはOracle Application Server Containers for J2EEの障害

関連項目: 『Oracle Process Manager and Notification Server管理者ガイド』

関連項目: 『Oracle Application Server Containers for J2EEユーザーズ・ガイド』 

アプリケーションのデプロイメントまたはクラスタリング 

Oracle Application Server Containers for J2EEの障害

関連項目: 『Oracle Application Server Containers for J2EEユーザーズ・ガイド』 

ディレクトリまたはパスワードの障害 

Oracle Internet Directoryの障害

関連項目: 「Oracle Internet Directoryのトラブルシューティング

関連項目: 『Oracle Internet Directory管理者ガイド』の付録J「Oracle Internet Directoryに関するトラブルシューティング」 

リポジトリの障害(メタデータ・リポジトリ) 

メタデータ・リポジトリの障害

関連項目: 「メタデータ・リポジトリのトラブルシューティング」 

リポジトリの障害(ファイルベース・リポジトリ) 

ファイル・システムの障害

関連項目: 「ファイルベース・リポジトリのトラブルシューティング」 

手順5: オラクル社カスタマ・サポート・センターに問い合せる

前述の手順を実行しても解決できない場合は、オラクル社カスタマ・サポート・センターに障害を報告してください。その際には、お手元に次の情報をご用意ください。

B.4 その他のヘルプ情報

Oracle MetaLinkに関する障害の解決策は、http://metalink.oracle.comにあります。障害に対する解決策が見つからない場合は、サービス・リクエストを記録します。


関連項目

Oracle Technology NetworkのWebサイト(http://www.oracle.com/technology/documentation/index.html)にあるOracle Application Serverのリリース・ノート 



戻る 次へ
Oracle
Copyright © 2006 Oracle.

All Rights Reserved.
目次
目次
索引
索引