JPAを使用したアプリケーションでトラブルが発生した場合の解析手順について説明します。
ここでは,代表的な障害の例とその場合の障害原因の解析手順を説明します。
なお,Cosminexus JPAプロバイダが出力する各ログ間の情報は,時刻,スレッドID/プロセスID,およびPersistenceUnit名を基にして対応づけます。取得したログでの原因の特定ができない場合で,再現性があるときには,ログレベルを上げて資料を取得してください。
ユーザアプリケーションで例外が発生した場合のユーザが実施する解析手順を説明します。例外が発生するタイミングは,アプリケーションの起動時(デプロイを含む)またはアプリケーションの実行時が考えられます。それぞれのタイミングで例外が発生したときの解析手順について説明します。
アプリケーションの起動時に例外が発生した場合の解析手順を次に示します。
アプリケーション実行時に例外が発生した場合の解析手順を次に示します。
特定の処理に時間が掛かっているなど,性能面で障害が発生した場合の解析手順を説明します。性能面で問題が発生するタイミングは,アプリケーション起動時またはアプリケーションの実行時が考えられます。
アプリケーションの起動時に性能面で問題がある場合には,保守員に連絡してください。アプリケーションの実行時に性能面で問題がある場合には,次に示す手順で問題の個所を特定してください。
なお,Cosminexus JPAプロバイダで出力される稼働ログについては,「付録C.2 Cosminexus JPAプロバイダの稼働ログ」を参照してください。
システムで障害が発生した場合,Cosminexus JPAプロバイダで必要とするトラブルシューティングの資料と資料の取得元を次の表に示します。
表2-12 Cosminexus JPAプロバイダで必要とするトラブルシューティングの資料と資料の取得元
トラブルシューティング資料 | 取得元 | 資料のファイル名称 | |
---|---|---|---|
メッセージログ | snapshot(1次) | メッセージログ | |
例外ログ | snapshot(1次) | 障害発生時の例外情報 | |
Cosminexus JPAプロバイダの稼働ログ | snapshot(1次) | CJPAの稼働ログ | |
J2EEサーバの定義情報 | snapshot(1次) |
| |
J2EEサーバの作業ディレクトリに含まれるアプリケーションの定義情報 | persistence.xml | snapshot(2次) |
|
O/Rマッピングファイル | |||
EJB,WARの属性ファイル | |||
DB ConnectorのConnector属性ファイル | snapshot(2次) | Webコンテナ作業ディレクトリの内容 | |
DB Connectorのログ | snapshot(1次) | J2EEリソースアダプタとしてデプロイして使用するリソースアダプタの稼働ログ | |
性能解析トレース | snapshot(1次) | PRFデーモンおよびPRFコマンドのログ | |
J2EEサーバのスレッドダンプ | スレッドダンプ取得コマンド | ||
接続するデータベースのSQLトレース (ただし,トレース情報を採取している場合だけ) |
| マニュアル「HiRDB SQLリファレンス」を参照してください。 | |
| Oracleのマニュアルを参照してください。 |