Hitachi

ノンストップデータベース HiRDB Version 9 システム定義(Windows(R)用)


1.4.1 バージョン,リビジョンによるHiRDBシステム定義の変更点

バージョン09-50では,HiRDBシステム定義の省略値を見直し,省略値の変更及び指定が必要なオペランド数の大幅な削減を実施しました。これによって,より安全なシステムを構築できます。ここでは,バージョン09-50以降で省略値が異なるオペランド,指定できる範囲が変更となるオペランド,及び指定不要となったオペランドの一覧を示します。

バージョン09-50より前のバージョンからバージョンアップする場合は,省略値変更によるメリット及びデメリットを確認してください。確認の結果,旧バージョンとの互換性を重視する場合は,旧バージョンと同等の省略値になる互換モードを適用してください。ただし,この場合は推奨値を指定できるオペランドがあれば,個別に指定することを検討してください。

バージョンアップに関する手順及び注意事項は,マニュアル「HiRDB Version 9 システム導入・設計ガイド」の「HiRDBのバージョンアップ」を参照してください。

〈この項の構成〉

(1) バージョン,リビジョンによって省略値が異なるオペランド

バージョン,リビジョンによって省略値が異なるオペランドを次の表に示します。

注意事項

太字のオペランドを省略している場合,バージョンアップ時に推奨モードを適用し,デメリットに記載されているHiRDBファイルの再作成などを行わないと,HiRDBが開始できなくなるおそれがあります。省略値変更によるメリット及びデメリットを確認の上,オペランド省略時動作のモードを決定してください。

表1‒7 バージョン09-60で省略値が変更となるオペランド

オペランド名

バージョン09-60以降の省略値

(推奨モード適用時)

0904互換モード適用時の省略値

バージョン08-00からバージョン09-60より前の省略値

省略値変更によるメリット

省略値変更によるデメリット

pd_clt_waittime_over_dump_level

shm_fesonly

shm_fesonly

all

共用メモリダンプ出力によるI/O負荷を軽減

なし

表1‒8 バージョン09-50で省略値が変更となるオペランド

オペランド名

バージョン09-50以降の省略値

(推奨モード適用時)

0904互換モード適用時の省略値

バージョン08-00からバージョン09-50より前の省略値

省略値変更によるメリット

省略値変更によるデメリット

pd_log_rec_leng

1,024

4,096

システムログファイルの格納効率向上

システムログファイルのレコード長変更によるシステムログファイルの再作成

pd_lck_until_disconnect_cnt

【ディクショナリサーバ】

256

【上記以外のサーバ】

10,000

256

  • ユティリティの同時実行数の省略値拡大によるオペランド指定不要化※7

  • ユティリティが使用するRDエリア数の省略値拡大によるオペランド指定不要化※7

  • シンクポイントダンプファイルの容量増加によるシンクポイントダンプファイルの再作成

  • 共用メモリサイズ増加による共用メモリの再見積もり※12

pd_max_file_no

2,000

400

HiRDBファイル数の省略値拡大によるオペランド指定不要化※5

  • ステータスファイルの容量増加によるステータスファイルの再作成

  • プロセス固有メモリ増加によるプロセス固有メモリの再見積もり

  • 共用メモリサイズ増加による共用メモリの再見積もり※12

pd_max_rdarea_no

1,000

200

RDエリア数の省略値拡大によるオペランド指定不要化※5

  • ステータスファイルの容量増加によるステータスファイルの再作成

  • プロセス固有メモリ増加によるプロセス固有メモリの再見積もり

  • 共用メモリサイズ増加による共用メモリの再見積もり※12

pd_max_add_dbbuff_shm_no

【32ビットモード】

500+(512−a)

【64ビットモード】

1000+(512−a)

【32ビットモード】

500+(512−a)

【64ビットモード】

1000+(512−a)

【32ビットモード】

500+(b−a)

【64ビットモード】

1000+(16−a)

pdbufmodコマンドを運用で使用している場合,動的追加用共用メモリセグメント数の上限拡大によるオペランド指定不要化

pdbufmodコマンドを運用で使用している場合

  • ステータスファイルの容量増加によるステータスファイルの再作成

  • 共用メモリサイズ増加による共用メモリの再見積もり※12

pd_utl_exec_mode

1

0

ユティリティの最大同時実行数の拡張指定に伴うオペランド指定不要化

  • ユティリティ最大同時実行数の見直し※10

  • 共用メモリサイズ増加による共用メモリの再見積もり※12

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

トランザクション回復時の性能安定化

  • プロセス数の増加によるオペレーティングシステムパラメタの再見積もり

  • 共用メモリサイズ増加による共用メモリサイズの再見積もり※12

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

  • トランザクション実行時の排他資源要求数の省略値拡大によるオペランド指定不要化※8

  • トランザクションの同時実行数の省略値拡大によるオペランド指定不要化※8

共用メモリサイズ増加による共用メモリサイズの再見積もり※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

障害箇所の特定容易化

  • 共用メモリサイズ増加による共用メモリサイズの再見積もり※12

  • 運用ディレクトリのディスク所要量増加

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実行時間の警告による障害の早期発見

  • 警告メッセージ(KFPA20009-W)追加によるメッセージ監視の検討

  • 運用ディレクトリのディスク所要量の増加

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

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:

32ビットモードでpd_max_dbbuff_shm_noオペランドを指定している場合は,その指定値が該当します。それ以外は,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_listen_socket_bufset

  • pd_tcp_inet_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以降の指定範囲で指定することを検討してください。

表1‒9 バージョン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が開始できなくなるおそれがあります。

表1‒10 バージョン09-50で指定不要となったオペランド

オペランド名

バージョン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_ntfs_cache_disable※4,※5

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※6

os

conf

pd_sql_simple_comment_use

Y

N

pd_trn_rollback_msg_interval

5

60

pd_utl_exec_mode

1

0

pd_watch_time※7

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

【HiRDB/シングルサーバ】

pipe

【HiRDB/パラレルサーバ】

interval

pd_lck_release_detect_interval

10

pd_max_commit_write_reclaim_no

10

pd_max_dbbuff_shm_no

512

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

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_ntfs_cache_disableオペランドをNからYに変更する場合は,入出力の制御が変更となるため,グローバルバッファのヒット率が低い場合はチューニングを検討してください。

注※5

pd_ntfs_cache_disableオペランドの値がNの場合,pdconfchkコマンドを実行すると警告メッセージ(KFPS05632-W)が出力されます。

注※6

pd_inet_unix_bufmodeオペランドは次に示すオペランドと関連があります。pd_inet_unix_bufmodeオペランドの指定値を検討する場合は,次のオペランドも併せて検討してください。

  • pd_inet_unix_utl_bufmode

  • pd_ipc_inet_bufsize

  • pd_listen_socket_bufset

  • pd_tcp_inet_bufsize

  • pd_utl_buff_size

注※7

pd_watch_timeオペランドに0以外を指定していた場合は,次のすべての対策を実施してください。

  1. pd_watch_timeオペランドを省略してください。

  2. 次のオペランドを指定してSQL,コマンド,及びユティリティの実行時間を監視してください。

    ・クライアント環境定義PDCWAITTIME

    ・システム定義pd_cmd_exec_time

    指定値の詳細は,PDCWAITTIMEオペランドについてはマニュアル「HiRDB Version 9 UAP開発ガイド」,pd_cmd_exec_timeオペランドについては,「pd_cmd_exec_time」を参照してください。

  3. pd_watch_timeオペランドに180より大きい値を指定して,pd_lck_wait_timeオペランドを省略している場合は,pd_watch_timeオペランドの指定値をpd_lck_wait_timeオペランドに指定してください。