WebSphere® Business Monitor が AIX® プラットフォーム上でイベントを処理しようとすると、SQL エラーが戻されます。また、WebSphere が開始またはイベント処理中にデータベース接続の初期化に失敗したときにも戻されます。 この障害は、IBM® DB2® が使用可能な共用メモリー・セグメントの数についてオペレーティング・システムによって課される制限の結果として発生します。
Test connection failed for data source MonitorDataSource on server server1 at node Node01 with the following exception: java.lang.Exception: java.sql.SQLException: SQL1224N A database agent could not be started to service a request, or was terminated as a result of a database system shutdown or a force command. SQLSTATE=55032 DSRA0010E: SQL State = 55032, Error Code = -1,224.
このエラーが発生したときは、DB2 構成を変更して共用メモリー・セグメントの数を増加させる必要があります。現在リカバリー・エキスパートは、共用メモリーの問題を回避するために、ループバックを使用した DB2 別名の定義を使用することをサポートしていません。
解決策
# Local addition to fix AIX shared memory problem: EXTSHM=ON export EXTSHM
db2set DB2ENVLIST=EXTSHM
これにより、それぞれのインスタンス内に DB2 プロファイル変数が設定され、EXTSHM 環境変数の値が DB2 デーモン・プロセスの開始時に環境に組み込まれるようになります。 ログイン時に実行されるそれぞれのインスタンスの db2profiles で EXTSHM を定義すると、変数がインスタンス所有者の環境に確実に設定されます。 最後に、それを /etc/rc.db2 に書き込むと、起動時に DB2 のプロセスが開始したときに確実に変数が設定されます。最後に、システムを再始動して、確実にすべての DB2 のプロセスがそれらの環境で EXTSHM=ON を使用して開始されるようにします。
if [ -x $INSTHOME/sqllib/adm/db2set ] then if [ "`$INSTHOME/sqllib/adm/db2set DB2ENVLIST`" != "EXTSHM" ] then $INSTHOME/sqllib/adm/db2set DB2ENVLIST=EXTSHM fi fiこのコードにより、新規インスタンスが初めて使用されたときに DB2ENVLIST インスタンス・プロファイル変数が設定されるようになります。
EXTSHM=ON export EXTSHM