ページの先頭行へ戻る
Symfoware Server V12.8.0 トラブルシューティング集

B.2 異常プロセスとコアファイルの特定

アプリケーションプロセスが異常終了する場合と、ファンクションルーチンのプロセスが異常終了する場合の2種類があります。
アプリケーションプロセスが異常終了した場合には、Symfoware/RDB内部で自動的に回収処理がスケジュールされ、メッセージは出力されません。psコマンドなどを使用して、プロセスの存在を確認してください。
また、ファンクションルーチンのプロセスが異常終了した場合には、ファンクションルーチンを指定したSQL文には以下の例外事象が通知されます。

SQLSTATE = 39000
SQLMSG   = JYP4556E データ送受信中にファンクションルーチンを実行するプロセスが異常終了しました.

また、Symfoware/RDBのメッセージログファイルにメッセージが出力されます。

Tue Feb  1 09:18:19 2002
rdb: INFO: qdg13783i:ファンクションルーチンを実行するプロセスのコアファイルを採取しました
    コアファイル名は/home4/SPM/MK3/FNCSI/CORE/core_fnc_14275.020201.091819です (システム名=rdb1) (注)

Tue Feb  1 09:18:19 2002
rdb: INFO: qdg14248i:OSで設定されたコアファイルの出力規約に従いコアファイルを採取しました プロセス名 rdbsfunc プロセスID 10865 ユーザID 0 グループID 0 (システム名=rdb1) (注)

Tue Feb  1 09:18:19 2002
rdb: ERROR: qdg13781u:ファンクションルーチンを実行するプロセスが異常終了しました
    原因=signal number : 11 (システム名=rdb1)

Tue Feb  1 09:18:19 2002
rdb: ERROR: qdg13782u:ファンクションルーチンのライブラリ内で異常が発生しました (システム名=rdb1)

注)qdg13783iとqdg14248iは以下の条件により、どちらか一方が出力されます。

SolarisSolarisの場合
qdg13783iが出力される場合

以下の条件をすべて満たす場合、qdg13783iが出力されます。

  • coreadmコマンドを使用して、OSのコアファイルの出力規約にコアファイルの出力先ディレクトリを指定していない

  • コアファイル名に“core”を指定している

qdg14248iのメッセージが出力される場合

以下の条件のいずれかを満たす場合、qdg14248iのメッセージが出力されます。

  • coreadmコマンドを使用して、OSのコアファイルの出力規約にコアファイルの出力先ディレクトリを指定している

  • コアファイル名に“core”以外を指定している

LinuxLinuxの場合
qdg13783iが出力される場合

以下の条件をすべて満たす場合、qdg13783iが出力されます。

  • カーネルパラメタkernel.core_patternを使用して、OSのコアファイルの出力規約にコアファイルの出力先ディレクトリを指定していない

  • カーネルパラメタkernel.core_patternを使用して、OSのコアファイルの出力規約にsystemd-coredumpを有効にしていない

  • コアファイル名に“core”を指定している

qdg14248iのメッセージが出力される場合

以下の条件のいずれかを満たす場合、qdg14248iのメッセージが出力されます。

  • カーネルパラメタkernel.core_patternを使用して、OSのコアファイルの出力規約にコアファイルの出力先ディレクトリを指定している

  • カーネルパラメタkernel.core_patternを使用して、OSのコアファイルの出力規約にsystemd-coredumpを有効にしている

  • コアファイル名に“core”以外を指定している

いずれの場合も、コアファイルが採取されます。アプリケーションのコアファイルは、アプリケーションを実行しているディレクトリに出力されます。ファンクションルーチンの場合には、システム用の動作環境ファイルのEXTERNAL_PROCESS_COREパラメタで指定したディレクトリ配下に、以下の名前で出力されます。EXTERNAL_PROCESS_COREパラメタの指定を省略した場合は、RDB構成パラメタファイルのRDBCOREパラメタで指定したディレクトリ配下に出力します。

Core_fnc_内部時間情報

ただし、カーネルパラメタのkernel.core_patternにおいて、systemd-coredumpを有効にしている場合、OSの設定が優先されるため、出力先はsystemd-coredumpの設定に依存します。systemd-coredumpの詳細については使用しているシステムベンダのドキュメントを参照してください。


注意

格納データを暗号化している場合でも、コアファイルは暗号化されません。コアファイルが不要となった際には、rdbclrfコマンドまたはOSのコマンドで削除してください。コアファイルの削除については、“13.1 コアファイルの採取方法について知る”を参照してください。

なお、ファンクションルーチンのプロセスが異常終了した場合、ファンクションルーチンを指定したSQL文には例外が返却されます。このSQL文が繰り返し実行されると、同じ内容のコアダンプが、実行された回数だけ作成され、ディスク資源を圧迫する可能性があります。コアダンプの取得個数は、システム用の動作環境ファイルのMAX_EXTPROC_CORE_NUMパラメタで制御することができます。パラメタ省略時は、1となります。

注意

SolarisSolarisの場合

coreadmコマンドを使用して、OSのコアファイルの出力規約にコアファイルの出力先ディレクトリを指定している場合、または、コアファイル名に“core”以外を指定している場合は、その指定が有効となります。また、MAX_EXTPROC_CORE_NUMの指定は無効となり、ダンプ取得数は制限することができません。

LinuxLinuxの場合

カーネルパラメタのkernel.core_pattern を使用して、OSのコアファイルの出力規約にコアファイルの出力先ディレクトリを指定している場合、または、コアファイル名に“core”以外を指定している場合は、その指定が有効となります。また、MAX_EXTPROC_CORE_NUMの指定は無効となり、ダンプ取得数は制限することができません。