1.4.1 バージョン,リビジョンによるHiRDBシステム定義の変更点
バージョン09-50では,HiRDBシステム定義の省略値を見直し,省略値の変更及び指定が必要なオペランド数の大幅な削減を実施しました。これによって,より安全なシステムを構築できます。ここでは,バージョン09-50以降で省略値が異なるオペランド,指定できる範囲が変更となるオペランド,及び指定不要となったオペランドの一覧を示します。
バージョン09-50より前のバージョンからバージョンアップする場合は,省略値変更によるメリット及びデメリットを確認してください。確認の結果,旧バージョンとの互換性を重視する場合は,旧バージョンと同等の省略値になる互換モードを適用してください。ただし,この場合は推奨値を指定できるオペランドがあれば,個別に指定することを検討してください。
バージョンアップに関する手順及び注意事項は,マニュアル「HiRDB Version 9 システム導入・設計ガイド」の「HiRDBのバージョンアップ」を参照してください。
(1) バージョン,リビジョンによって省略値が異なるオペランド
バージョン,リビジョンによって省略値が異なるオペランドを次の表に示します。
- 注意事項
-
太字のオペランドを省略している場合,バージョンアップ時に推奨モードを適用し,デメリットに記載されているHiRDBファイルの再作成などを行わないと,HiRDBが開始できなくなるおそれがあります。省略値変更によるメリット及びデメリットを確認の上,オペランド省略時動作のモードを決定してください。
オペランド名 |
バージョン09-60以降の省略値 (推奨モード適用時) |
0904互換モード適用時の省略値 |
バージョン08-00からバージョン09-60より前の省略値 |
省略値変更によるメリット |
省略値変更によるデメリット |
---|---|---|---|---|---|
pd_clt_waittime_over_dump_level |
shm_fesonly |
shm_fesonly |
all |
共用メモリダンプ出力によるI/O負荷を軽減 |
なし |
オペランド名 |
バージョン09-50以降の省略値 (推奨モード適用時) |
0904互換モード適用時の省略値 |
バージョン08-00からバージョン09-50より前の省略値 |
省略値変更によるメリット |
省略値変更によるデメリット |
---|---|---|---|---|---|
pd_log_rec_leng |
1,024 |
→ |
4,096 |
システムログファイルの格納効率向上 |
システムログファイルのレコード長変更によるシステムログファイルの再作成 |
pd_lck_until_disconnect_cnt |
【ディクショナリサーバ】 256 【上記以外のサーバ】 10,000 |
→ |
256 |
|
|
pd_max_file_no |
2,000 |
→ |
400 |
HiRDBファイル数の省略値拡大によるオペランド指定不要化※5 |
|
pd_max_rdarea_no |
1,000 |
→ |
200 |
RDエリア数の省略値拡大によるオペランド指定不要化※5 |
|
pd_max_add_dbbuff_shm_no |
【32ビットモード】 500+(512−a) 【64ビットモード】 1000+(512−a) |
【32ビットモード】 500+(512−a) 【64ビットモード】 1000+(512−a) |
【32ビットモード】 500+(16−a) 【64ビットモード】 1000+(16−a) |
pdbufmodコマンドを運用で使用している場合,動的追加用共用メモリセグメント数の上限拡大によるオペランド指定不要化 |
pdbufmodコマンドを運用で使用している場合
|
pd_utl_exec_mode |
1 |
→ |
0 |
ユティリティの最大同時実行数の拡張指定に伴うオペランド指定不要化 |
|
pd_additional_optimize_level |
"COST_BASE_2", "APPLY_JOIN_COND_FOR_VALUE_EXP", "APPLY_SRCH_COND_FOR_VALUE_EXP", "MERGE_FROM_DERIVED_TABLE", "CONVERT_OUTER_INNER_JOIN" |
→ |
"COST_BASE_2" |
アクセスパス変更によるSQLの実行性能の向上 |
アクセスパス変更によるインデクス及びSQLの見直し※6 |
pd_optimize_level |
【HiRDB/シングルサーバ】 "PRIOR_NEST_JOIN", "PRIOR_OR_INDEXES", "DETER_AND_INDEXES", "RAPID_GROUPING", "DETER_WORK_TABLE_FOR_UPDATE", "APPLY_ENHANCED_KEY_COND", "MOVE_UP_DERIVED_COND" 【HiRDB/パラレルサーバ】 "PRIOR_NEST_JOIN", "PRIOR_OR_INDEXES", "SORT_DATA_BES", "DETER_AND_INDEXES", "RAPID_GROUPING", "DETER_WORK_TABLE_FOR_UPDATE", "APPLY_ENHANCED_KEY_COND", "MOVE_UP_DERIVED_COND", "FLTS_ONLY_DATA_BES" |
→ |
【HiRDB/シングルサーバ】 "PRIOR_NEST_JOIN", "PRIOR_OR_INDEXES", "DETER_AND_INDEXES", "RAPID_GROUPING", "DETER_WORK_TABLE_FOR_UPDATE", "APPLY_ENHANCED_KEY_COND" 【HiRDB/パラレルサーバ】 "PRIOR_NEST_JOIN", "PRIOR_OR_INDEXES", "SORT_DATA_BES", "DETER_AND_INDEXES", "RAPID_GROUPING", "DETER_WORK_TABLE_FOR_UPDATE", "APPLY_ENHANCED_KEY_COND" |
アクセスパス変更によるSQLの実行性能の向上 |
アクセスパス変更によるインデクス及びSQLの見直し※6 |
pd_apply_search_ats_num |
30,000 |
→ |
255 |
アクセスパス変更によるSQLの実行性能の向上 |
SQLオブジェクトキャッシュサイズの再見積もり |
pd_hashjoin_hashing_mode |
TYPE2 |
→ |
TYPE1 |
アクセスパス変更によるSQLの実行性能の向上 |
ハッシュ表サイズの再見積もり |
pd_sql_dec_op_maxprec |
38 |
→ |
29 |
演算結果の精度向上 |
DECIMAL型の演算を含む場合
|
pd_leap_second |
Y |
→ |
N |
うるう秒使用時のオペランド指定不要化 |
時刻の値の範囲の変更に伴うアプリケーションの改修 |
pd_standard_sqlstate |
Y |
→ |
N |
SQLSTATEの細分化による障害要因の特定容易化 |
SQLSTATEの値の変更に伴うアプリケーションの改修 |
pd_trn_rcvmsg_store_buflen |
8,192 |
→ |
4,096 |
トランザクション回復時の性能安定化 |
|
pd_assurance_index_no |
2500 |
→ |
500 |
インデクス数の省略値拡大によるオペランド指定不要化※5 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_auth_cache_size |
10 |
→ |
1 |
ユーザ権限情報用バッファサイズの省略値拡大によるオペランド指定不要化※5 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_lck_pool_size |
【32ビットモード】 16,000 【64ビットモード】 128,000 |
→ |
【32ビットモード】 16,000 【64ビットモード】 32,000 |
|
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_max_temporary_object_no |
600 |
→ |
0 |
一時表で使用できるインデクスの省略値拡大による指定不要化※9 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_routine_def_cache_size |
300 |
→ |
100 |
ルーチン定義情報用バッファサイズの省略値拡大による性能安定化※5 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_sql_object_cache_size |
【32ビットモード】 (pd_max_usersの値+3※11)×22キロバイト 【64ビットモード】 (pd_max_usersの値+3※11)×40キロバイト |
→ |
(pd_max_usersの値+3※11)×22キロバイト |
SQLオブジェクトを格納するバッファサイズの省略値拡大による性能安定化 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_table_def_cache_size |
【32ビットモード】 【64ビットモード】 16,000 |
→ |
|
表定義情報を格納するバッファサイズの省略値拡大による性能安定化※5 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_view_def_cache_size |
【32ビットモード】 【64ビットモード】 30000 |
→ |
|
表定義情報を格納するバッファサイズの省略値拡大による性能安定化※5 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_log_max_data_size※1 |
523,000 |
→ |
400,000 |
システムログの入出力に使用するバッファサイズの省略値拡大による性能安定化 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_log_rollback_buff_count |
0 |
→ |
省略 |
ロールバック処理で使用するバッファ面数の省略値拡大によるロールバック時間の短縮 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_max_tmp_table_rdarea_no |
min(131088,pd_max_rdarea_no-3) |
→ |
0 |
一時表使用時のオペランド指定不要化 |
共用メモリサイズ増加による共用メモリサイズの再見積もり※12 |
pd_uap_exerror_log_use |
AUTO |
AUTO |
NO |
障害箇所の特定容易化 |
|
pd_uap_exerror_log_dir |
$PDDIR/spool/pduaperr |
$PDDIR/spool/pduaperr |
なし |
||
pd_uap_exerror_log_size |
10,000,000 |
10,000,000 |
1,000,000 |
||
pd_cwaittime_wrn_pnt |
1800sec,auto |
1800sec,auto |
0 |
SQL実行時間の警告による障害の早期発見 |
|
pd_cwaittime_report_size |
10,000,000 |
10,000,000 |
100,000 |
||
pd_cwaittime_report_dir |
$PDDIR/spool/pdcwwrn |
$PDDIR/spool/pdcwwrn |
なし |
||
pd_mlg_file_size |
10,240 |
10,240 |
1,024 |
メッセージログファイルサイズの拡大によるトラブルシュート情報の拡充 |
運用ディレクトリのディスク所要量の増加 |
pd_statistics |
A |
→ |
N |
統計情報取得によるトラブルシュート情報の拡充 |
運用ディレクトリのディスク所要量の増加 |
pd_stj_file_size |
102,400 |
→ |
1,024 |
||
pd_watch_resource |
DEFAULT |
→ |
MANUAL |
システム稼働状況の取得 |
警告メッセージ(KFPS05123-W及びKFPH22023-W)追加によるメッセージ監視の検討 |
pd_sts_initial_error※2 |
excontinue |
→ |
stop |
障害時の影響局所化 |
片系障害時の運用変更 |
pd_syssts_initial_error※3 |
excontinue |
→ |
stop |
障害時の影響局所化 |
片系障害時の運用変更 |
pd_rdarea_extension_timing |
use |
→ |
nouse |
RDエリア自動増分の契機変更による自動増分エラー時の業務継続化 |
RDエリア自動増分の契機変更によるHiRDBファイルシステム領域の再見積もり |
pd_registered_port_level |
1 |
→ |
0 |
HiRDB予約ポート機能使用時の自動割り当てポート使用数削減 |
HiRDB予約ポート機能使用時の予約ポートの範囲の変更 |
pd_dbsync_altwrite_skip |
Y |
→ |
N |
参照トランザクションの性能安定化 |
なし |
pd_deter_restart_on_stop_fail |
Y |
Y |
N |
強制停止実行時の異常終了発生による系切り替えの抑止 |
なし |
pd_ipc_tcp_nodelayack |
Y |
Y |
N |
即時ACKの適用による通信性能の安定化 |
なし |
pd_max_dbbuff_shm_no(Windows版32bit限定オペランド) |
512 |
512 |
16 |
グローバルバッファ用共用メモリセグメント数の設定不要化 |
なし |
pd_inet_unix_bufmode※4 |
os |
→ |
【Linuxの場合】 os 【AIX,及びHP-UXの場合】 conf |
通信バッファサイズの拡大による性能安定化 |
なし |
pd_sql_simple_comment_use |
Y |
→ |
N |
単純注釈使用時のオペランド指定不要化 |
SQL文中の「--」の扱いの変更と,改行コードを含む制御文字の扱いの変更に伴う,SQL文の見直し |
pd_trn_rollback_msg_interval |
5 |
→ |
60 |
メッセージ出力間隔の短縮 |
なし |
pd_module_trace_max |
256 |
256 |
126 |
モジュールトレース拡大によるトラブルシュート情報の拡充 |
プロセス固有メモリ増加によるプロセス固有メモリの再見積もり |
pd_utl_file_buff_size |
1024 |
1024 |
32 |
入出力バッファの拡大によるユティリティの実行性能の向上 |
なし |
SHMMAX |
【32ビットモード】 100 【64ビットモード】 1,024 |
【32ビットモード】 100 【64ビットモード】 1,024 |
【32ビットモード】 200 【64ビットモード】 1,024 |
メモリの効率利用によるシステム安定稼働 |
なし |
- (凡例)
-
- →:
-
バージョン08-00からバージョン09-50より前の省略値と同じ省略値であることを示します。
- a:
-
HiRDB開始時に各サーバに割り当てられている共用メモリセグメント数です。共用メモリセグメントの情報はpdls -d memコマンド,又はOSのコマンドで確認できます。
- b:
-
16になります。
- 注※1
-
推奨モードを適用し,pd_log_max_data_sizeオペランドの値が523000未満の場合,pdconfchkコマンドで警告(KFPS05632-Wメッセージ)を出力します。
- 注※2
-
pd_sts_initial_errorオペランドは,pd_sts_singleoperationオペランドと関連があります。pd_sts_initial_errorオペランドの指定値を検討する場合はpd_sts_singleoperationオペランドも併せて検討してください。
- 注※3
-
pd_syssts_initial_errorオペランドはpd_syssts_singleoperationオペランドと関連があります。pd_syssts_initial_errorオペランドの指定値を検討する場合はpd_syssts_singleoperationオペランドも併せて検討してください。
- 注※4
-
pd_inet_unix_bufmodeオペランドは次に示すオペランドと関連があります。pd_inet_unix_bufmodeオペランドの指定値を検討する場合は併せて検討してください。
-
pd_inet_unix_utl_bufmode
-
pd_ipc_inet_bufsize
-
pd_ipc_unix_bufsize
-
pd_listen_socket_bufset
-
pd_tcp_inet_bufsize
-
pd_tcp_unix_bufsize
-
pd_utl_buff_size
-
- 注※5
-
「省略値で定義できるデータベースの規模 」に記載されているデータベースの規模を超える場合は,オペランドの指定が必要な場合があります。
- 注※6
-
詳細は,マニュアル「HiRDB Version 9 コマンドリファレンス」の「アクセスパス表示ユティリティ(pdvwopt)」の「チューニングの考え方」を参照してください。
- 注※7
-
ユティリティ数やユティリティが使用するRDエリア数がpd_lck_until_disconnect_cntオペランドの省略値を超える場合は,pd_lck_until_disconnect_cntオペランドの指定が必要です。詳細は,「1サーバ当たりのUNTIL DISCONNECT指定の排他表とRDエリア数の総和(pd_lck_until_disconnect_cnt)の見積もり式」を参照してください。
- 注※8
-
使用する排他制御用プールサイズがpd_lck_pool_sizeオペランドの省略値を超える場合は,pd_lck_pool_sizeオペランドの指定が必要です。詳細は,「排他資源数の見積もり」を参照してください。
- 注※9
-
一時表で使用するインデクスの数が600を超える場合は,このオペランドを指定してください。
- 注※10
-
pd_max_usersオペランドの指定値が32未満でデータベース回復ユティリティ(pdrstr)又はデータベース複写ユティリティ(pdcopy)を多重で実行している場合,ユティリティの最大同時実行数を減らす必要がある場合があります。詳細は,マニュアル「HiRDB Version 9 コマンドリファレンス」の「ユティリティの最大同時実行数」のデータベース回復ユティリティ(pdrstr)又はデータベース複写ユティリティ(pdcopy)の最大同時実行数を参照してください。
- 注※11
-
システムに複数のフロントエンドサーバがある場合は4となります。
- 注※12
-
共用メモリサイズが増加すると,ページフォルトの発生回数が増加し,トランザクション性能に影響を与えるおそれがあります。各オペランドの指定値の目安を参照し,システムに合わせて適切な値を指定することを検討してください。
(2) バージョン,リビジョンによってユーザ指定値の指定範囲が異なるオペランド
バージョン,リビジョンによってユーザ指定値の指定範囲が異なるオペランドを次の表に示します。バージョン09-50以降でバージョン09-50より前の指定範囲で指定した場合,その指定値で動作しますが,バージョン09-50以降の指定範囲で指定することを検討してください。
オペランド名 |
バージョン09-50以降の指定範囲 |
バージョン09-50より前の指定範囲 |
指定範囲変更によるメリット |
指定範囲変更によるデメリット |
---|---|---|---|---|
pd_log_write_buff_count※ |
10〜65000《10》 |
3〜65000《10》 |
省略値で使用できるログバッファ面数の拡大による性能安定化 |
共用メモリサイズ増加によるメモリ計算式の再見積もり |
- 注※
-
推奨モードを適用し,pd_log_write_buff_countオペランドに10未満の値を指定している場合,pdconfchkコマンドを実行すると警告メッセージ(KFPS05632-W)が出力されます。
(3) 指定不要となったオペランド
省略値以外を指定する必要がないために指定不要となったオペランド,及び省略値以外を指定している場合に特に指定値の変更をお勧めするオペランドの一覧を次の表に示します。これらのオペランドを指定したままでもエラーにはなりませんが,オペランドを省略,又は指定値を変更することを検討してください。
推奨モード適用時は,ここで示すオペランドについて,すべて省略することを検討してください。
互換モード適用時は,バージョン09-50の省略値と0904互換モード適用時の省略値が異なるオペランドについて,バージョン09-50の省略値になるように明示的に指定することを検討してください。オペランドの説明は,「互換モード適用時に検討が必要なオペランド」を参照してください。また,バージョン09-50の省略値と0904互換モード適用時の省略値が同じオぺランドは,省略することを検討してください。
指定値変更によるメリット及びデメリットについては,「バージョン,リビジョンによって省略値が異なるオペランド」を参照してください。
- 注意事項
-
太字のオペランドを省略している場合,バージョンアップ時に推奨モードを適用し,デメリットに記載されているHiRDBファイルの再作成などを行わないと,HiRDBが開始できなくなるおそれがあります。
オペランド名 |
バージョン09-50の省略値 (推奨モード適用時) |
0904互換モード適用時の省略値 |
オペランドの説明有無 |
---|---|---|---|
pd_log_rec_leng |
1,024 |
4,096 |
○ |
pd_sysdef_default_option※1 |
→ |
recommendable |
− |
pd_large_file_use※2,※3 |
→ |
Y |
− |
pd_apply_search_ats_num |
30,000 |
255 |
○ |
pd_hashjoin_hashing_mode |
TYPE2 |
TYPE1 |
○ |
pd_leap_second |
Y |
N |
○ |
pd_dbsync_altwrite_skip |
Y |
N |
○ |
pd_sts_initial_error |
excontinue |
stop |
○ |
pd_sts_singleoperation |
stop |
stop |
○ |
pd_syssts_initial_error |
excontinue |
stop |
○ |
pd_syssts_singleoperation |
stop |
stop |
○ |
pd_registered_port_level |
1 |
0 |
○ |
pd_log_max_data_size※1 |
523,000 |
400,000 |
○ |
pd_log_rollback_buff_count |
0 |
省略 |
○ |
pd_max_tmp_table_rdarea_no |
min(131088,pd_max_rdarea_no-3) |
0 |
○ |
pd_inet_unix_bufmode※4 |
os |
【Linuxの場合】 os 【AIX,及びHP-UXの場合】 conf |
○ |
pd_sql_simple_comment_use |
Y |
N |
○ |
pd_trn_rollback_msg_interval |
5 |
60 |
○ |
pd_utl_exec_mode |
1 |
0 |
○ |
pd_watch_time※5 |
→ |
0 |
− |
pd_dbbuff_lock_interval |
→ |
1 |
− |
pd_dbbuff_lock_release_detect |
→ |
pipe |
− |
pd_dbbuff_lock_spn_count |
→ |
100 |
− |
pd_dbbuff_wait_interval |
→ |
なし |
− |
pd_dbbuff_wait_spn_count |
→ |
0 |
− |
pd_dbsync_lck_release_count |
→ |
10,000 |
− |
pd_deter_restart_on_stop_fail |
→ |
Y |
− |
pd_ipc_tcp_nodelayack |
→ |
Y |
− |
pd_lck_release_detect |
→ |
pipe |
− |
pd_lck_release_detect_interval |
→ |
10 |
− |
pd_max_commit_write_reclaim_no |
→ |
10 |
− |
pd_sql_send_buff_size |
→ |
4 |
− |
pd_server_entry_queue |
→ |
spnfifo |
− |
pd_thdlock_pipe_retry_interval |
→ |
1,000,000 |
− |
pd_thdlock_retry_time |
→ |
1,000 |
− |
pd_thdlock_sleep_func |
→ |
0 |
− |
pd_thdlock_wakeup_lock※6 |
→ |
N |
− |
pd_thdspnlk_spn_count |
→ |
512 |
− |
pd_utl_file_buff_size |
1024 |
1024 |
− |
- (凡例)
-
- →:
-
0904互換モード適用時の省略値です。
- ○:
-
「互換モード適用時に検討が必要なオペランド」に定義の説明があります。
- −:
-
オペランドの説明はありません。
- 注※1
-
pd_sysdef_default_optionオペランドは指定できません。指定するとエラーになるおそれがあります。pd_sysdef_default_optionオペランドを指定している場合は,pd_sysdef_default_optionオペランドを省略し,「バージョン09-50より前のHiRDBシステム定義の変更点」を参照して各オペランドの指定値に推奨値を指定することを検討してください。
- 注※2
-
pd_large_file_useオペランドをNからYに変更すると,共用メモリサイズが増加します。メモリ計算式の再見積もりをしてください。
- 注※3
-
pd_large_file_useオペランドの値がNの場合,pdconfchkコマンドを実行すると警告メッセージ(KFPS05632-W)が出力されます。
- 注※4
-
pd_inet_unix_bufmodeオペランドは次に示すオペランドと関連があります。pd_inet_unix_bufmodeオペランドの指定値を検討する場合は,次のオペランドも併せて検討してください。
-
pd_inet_unix_utl_bufmode
-
pd_ipc_inet_bufsize
-
pd_ipc_unix_bufsize
-
pd_listen_socket_bufset
-
pd_tcp_inet_bufsize
-
pd_tcp_unix_bufsize
-
pd_utl_buff_size
-
- 注※5
-
pd_watch_timeオペランドに0以外を指定していた場合は,次のすべての対策を実施してください。
-
pd_watch_timeオペランドを省略してください。
-
次のオペランドを指定してSQL,コマンド,及びユティリティの実行時間を監視してください。
・クライアント環境定義PDCWAITTIME
・システム定義pd_cmd_exec_time
指定値の詳細は,PDCWAITTIMEオペランドについてはマニュアル「HiRDB Version 9 UAP開発ガイド」,pd_cmd_exec_timeオペランドについては,「pd_cmd_exec_time」を参照してください。
-
pd_watch_timeオペランドに180より大きい値を指定して,pd_lck_wait_timeオペランドを省略している場合は,pd_watch_timeオペランドの指定値をpd_lck_wait_timeオペランドに指定してください。
-
- 注※6
-
Linuxの場合だけ指定不要です。AIX,HP-UXの場合は指定できます。