8.4.6 バージョン,リビジョンによるクライアント環境定義及びプリプロセスオプションの変更点
クライアント環境定義及びプリプロセスオプションの見直しを行い,省略値の変更及び指定が必要なクライアント環境定義の削減を実施しました。これによって,より安全なシステムを構築することができます。ここでは,次の区分で変更となるクライアント環境定義及びプリプロセスオプションの一覧を示します。
-
バージョン,リビジョンによって省略値が異なるクライアント環境定義及びプリプロセスオプション
-
指定不要となったクライアント環境定義
バージョンアップ後は推奨モードの省略値を適用します。バージョンアップを行う場合は,省略値変更によるメリット及びデメリットを確認してください。確認の結果,旧バージョンとの互換性を重視する場合は,旧バージョンと同等の省略値になる互換モードを適用してください。ただし,この場合は推奨値を指定できるクライアント環境定義があれば,個別に指定することを検討してください。
(1) バージョン,リビジョンによって省略値が異なるクライアント環境定義及びプリプロセスオプション
バージョン,リビジョンによって省略値が異なるクライアント環境定義を次の表に示します。省略値変更によるメリット及びデメリットを確認してください。確認の結果,旧バージョンとの互換性を重視する場合は,旧バージョンと同等の省略値になる互換モードを適用してください。互換モードはクライアント環境定義PDDEFAULTOPTIONで指定できます。PDDEFAULTOPTIONの詳細は,「クライアント環境定義の設定内容」の「PDDEFAULTOPTION」を参照してください。
クライアント環境定義名 |
バージョン09-50以降の省略値 |
0904互換モードを適用している場合の省略値 |
バージョン09-50より前の省略値 |
省略値変更によるメリット |
省略値変更によるデメリット |
---|---|---|---|---|---|
PDSTJTRNOUT |
YES |
→ |
通常環境:NO OLTP環境:YES |
コネクションプーリング機能を使用している場合など物理的な接続の切断が行われない場合でも,トランザクション単位で統計情報を取得するため,トラブルシュート情報が拡充します。 |
通常環境の場合,UAPに関する統計情報のログ出力量が増加します。サーバ側の統計情報ログファイル容量を確認してください。UAPに関する統計情報の出力量については,マニュアル「HiRDB システム定義」の「統計ログファイル(pd_stj_file_size)の見積もり式」を参照してください。 |
PDKALVL |
2 |
→ |
0 |
ルータやファイアウォールなどのネットワーク管理アプリケーションが備えている無通信時間監視機能によって,HiRDBの接続を不当に切断されることを防ぎます。また,サーバで時間監視しているPDSWAITTIME,及びPDSWATCHTIMEの監視時間をリセットするため,サーバでの時間監視による切断を防げます。 詳細は,「クライアント環境定義の設定内容」の「PDKALVL」を参照してください。 |
1接続当たり1スレッド(KeepAlive通信用スレッド)増加します。スレッド数に関するOSパラメタやプロセスサイズ増加による影響がないか確認してください。 詳細は,「クライアント環境定義の設定内容」の「PDKALVL」を参照してください。 |
PDKATIME |
600 |
→ |
3000 |
||
PDBLKBUFFSIZE(Type4 JDBCドライバ使用時以外) |
PDBLKF指定なし:10 PDBLKF指定あり:0 |
→ |
0 |
サーバからクライアントに検索結果を転送する場合の通信オーバヘッドが減り,検索時間を短縮できます。 |
クライアント及びサーバでブロック転送用のメモリが増加します。クライアント側のメモリ所要量については,「クライアントライブラリのメモリ容量見積もり」,サーバ側のメモリ所要量については,マニュアル「HiRDB システム導入・設計ガイド」の「SQL実行時に必要なメモリ所要量の計算式」を参照し,メモリ増加による影響がないか確認してください。 |
PDFORUPDATEEXLOCK |
YES |
→ |
NO |
更新を前提とした検索に対する排他モードのロックを自動設定するので,信頼性が向上します。 |
排他モードのロックを設定しないことを意図していたUAPがないか見直しが必要です。 |
PDCLTAPNAME(Type4 JDBCドライバ使用時) |
Cosminexus使用時 JDBC4.0版:JDBC40_XXXX JDBC2.0版:JDBC20_XXXX XXXX:J2EEサーバ名 |
Cosminexus使用時 JDBC4.0版:JDBC40_XXXX JDBC2.0版:JDBC20_XXXX XXXX:J2EEサーバ名 |
JDBC4.0版:HiRDB_Type4_JDBC40_Driver JDBC2.0版:HiRDB_Type4_JDBC_Driver |
pdls -d prcコマンドで接続中のアプリケーションを確認する際,J2EEサーバ名が出力されるため,接続元の判別が容易になります。 |
この環境変数はPDDEFAULTOPTIONにV0904を指定した場合もバージョン09-50以降の省略値を適用します。 バージョン09-50より前の省略値を適用したい場合は,UAP名称に明示的にバージョン09-50より前の省略値を指定してください。UAP名称の指定方法については,「接続情報の優先順位」を参照してください。 |
Cosminexus未使用時 → |
Cosminexus未使用時 → |
||||
PDSQLTRCFMT |
2 |
1 |
− |
SQLトレースの出力情報が詳細になるため,トラブルシュート情報が拡充します。 |
HiRDB SQL Tuning Advisor 08-03以前を使用してSQLトレースの解析を行う場合,出力形式2には対応していないため,明示的に1を指定するか,PDDEFAULTOPTIONにV0904を指定してください。 |
PDSQLEXECTIME |
YES |
→ |
NO |
SQLトレースにSQL実行時間が出力されるため,トラブルシュート情報が拡充します。 |
なし |
PDTCPCONOPT |
1 |
1 |
0 |
サーバとの通信で消費するTCPポートの数を削減できます。 |
なし |
PDNODELAYACK |
YES |
YES |
NO |
AIXでは,OSパラメタ(tcp_nodelayack)の指定で,パケットを受信して即時にACKを送信できます。これによって,通信処理のレスポンスに遅延が発生する場合,遅延が改善されることがあります。 OSパラメタを指定した場合,システム全体に影響しますが,この機能によってHiRDBの通信にだけ即時ACKを適用できます。 |
なし |
PDARYERRPOS |
YES |
YES |
NO |
配列を使った更新でエラーとなった場合,エラーとなった配列要素を示す値をSQL連絡領域に設定するため,トラブルシュート情報が拡充します。 |
なし |
PDBLKFERRBREAK |
YES |
YES |
NO |
ブロック転送機能でHiRDBサーバから複数行を取得している間に暗黙的ロールバックが行われた場合,HiRDBクライアントが保持する複数行の検索結果のうち,UAPが最初の行を取得するときにエラーを返却するため,エラーを早く検知することができます。 |
なし |
PDCLTSIGPIPE |
IGNORE |
IGNORE |
CATCH |
UNIX版マルチスレッド用クライアントライブラリで複数接続機能を使用時,UAP実行プロセス中にHiRDBクライアントのシグナルハンドラを設定しません。 これによって,UAP実行プロセスからHiRDBクライアントライブラリがアンロード後にSIGPIPEが発生した場合,プロセスが異常終了するのを回避できます。 |
なし |
バージョン,リビジョンによって省略時の適用有無が異なるプリプロセスオプションを次の表に示します。オプション適用によるメリット及びデメリットを確認してください。確認の結果,旧バージョンとの互換性を重視する場合は,旧バージョンと同等の省略値になる互換モードを適用してください。互換モードはクライアント環境定義PDDEFAULTOPTIONで指定できます。詳細は,「UNIX環境でのプリプロセス」又は「Windows環境でのプリプロセス」を参照してください。
省略するプリプロセスオプション |
バージョン09-50以降のオプション適用有無 |
0904互換モードを適用している場合のオプション適用有無 |
バージョン09-50より前のオプション適用有無 |
省略値変更によるメリット |
省略値変更によるデメリット |
---|---|---|---|---|---|
Xm |
適用あり |
→ |
適用なし |
複数接続機能を使用したUAPをプリプロセスする場合に指定が必要なオプションのため,オプションの指定漏れを回避できます。 |
生成するポストソースの内容が変わります。 バージョン09-50より前のHiRDBで動作実績のあるアプリケーションに対して再度プリプロセスを実行する場合は,「COBOL言語で複数接続機能を使用する場合の注意事項」を確認してください。Xmオプション指定により問題が発生する可能性がある場合は,PDDEFAULTOPTIONにV0904を指定してプリプロセスを実行してください。 |
Xs |
適用あり |
→ |
適用なし |
単純注釈を使用したUAPをプリプロセスする場合に指定が必要なオプションのため,オプションの指定漏れを回避できます。 |
生成するポストソースの内容が変わります。 バージョン09-50より前のHiRDBで動作実績のあるアプリケーションに対して再度プリプロセスを実行する場合は,プログラムソース中のSQL文の中に単純注釈を使用しているかどうか確認してください。単純注釈を使用していない場合は,PDDEFAULTOPTIONにV0904を指定してプリプロセスを実行してください。 |
(2) バージョン,リビジョンによって指定不要となったクライアント環境定義
バージョンアップによって次の表に示すクライアント環境定義を指定する必要がなくなりました。バージョンアップした場合にこれらのオペランドを指定したままでもエラーになりませんが,オペランドを省略することを検討してください。
クライアント環境定義名 |
バージョン09-50の省略値 |
0904互換モードを適用している場合の省略値 |
---|---|---|
PDTCPCONOPT |
→ |
1 |
PDNODELAYACK |
→ |
YES |
PDHJHASHINGMODE |
→ |
pd_hashjoin_hashing_mode指定値 |
PDBLKFUPD |
→ |
YES |
PDARYERRPOS |
→ |
YES |
PDBLKFERRBREAK |
→ |
YES |
PDCLTSIGPIPE |
→ |
IGNORE |