スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
HiRDBの稼働中にpdbufmodコマンドでグローバルバッファを追加,変更,又は削除できます。これをグローバルバッファの動的変更といいます。例えば,次に示す場合にグローバルバッファを動的変更してください。
なお,グローバルバッファを動的変更するにはHiRDB Advanced High Availabilityが必要になります。
動的変更したグローバルバッファはHiRDBを正常終了又は計画停止すると無効になります。このため,HiRDBを終了したときに,動的変更したグローバルバッファをpdbufferオペランドで定義してください。なお,システム構成変更コマンド(pdchgconfコマンド)を使用すると,HiRDBの稼働中にpdbufferオペランドの指定値を変更できます。システム構成変更コマンドでHiRDBシステム定義を変更する方法については,「9.2 HiRDBの稼働中にHiRDBシステム定義を変更する方法(システム構成変更コマンド)」を参照してください。
また,HiRDBを正常終了又は計画停止する前に,pdbufls -k defコマンドの実行結果(グローバルバッファの定義情報)を保存してください。それを参考にしてpdbufferオペランドを修正してください。
グローバルバッファを動的変更するには次に示す準備が必要です。
高速系切り替え機能又はスタンバイレス型系切り替え機能を使用する場合は,グローバルバッファの動的変更機能を使用できません。これらの機能を使用する場合は,システム構成変更コマンド(pdchgconfコマンド)でpdbufferオペランドの指定値を変更してグローバルバッファを割り当ててください。pdchgconfコマンドを使用すると,HiRDBの稼働中にHiRDBシステム定義を変更できます。ただし,このコマンドを使用する場合はHiRDB Advanced High Availabilityが必要になります。HiRDBの稼働中にHiRDBシステム定義を変更する方法については,「9.2 HiRDBの稼働中にHiRDBシステム定義を変更する方法(システム構成変更コマンド)」を参照してください。
グローバルバッファの動的変更時(pdbufmodコマンドの実行時)は,関連するRDエリアに対して排他モード(EX)で排他が掛かります。このため,関連するRDエリアにアクセスするトランザクションは待ち状態になります。
グローバルバッファ数の上限は,pd_max_add_dbbuff_noオペランド,及びpd_max_add_dbbuff_shm_noオペランドで設定します。
pdbufls -k defコマンドの実行結果で表示されるグローバルバッファを数えることで,グローバルバッファ数を確認できます。HiRDB/パラレルサーバの場合はサーバ名(ヘッダ名:SVID)が一致するグローバルバッファを数えてください。
グローバルバッファを動的変更(追加及びメモリ所要量が増加する変更)すると,新規の共用メモリセグメントを確保し,動的変更したグローバルバッファをその共用メモリセグメントに割り当てます。この共用メモリセグメントは,pd_max_add_dbbuff_noオペランド,及びpd_max_add_dbbuff_shm_noオペランドで設定します。なお,HiRDB/パラレルサーバの場合は1サーバ当たりで設定します。pdls -d memコマンドの実行結果で表示される共用メモリセグメントを数えることで,共用メモリセグメント数を確認できます。HiRDB/パラレルサーバの場合はサーバ名(ヘッダ名:SHM-OWNER)が一致するグローバルバッファを数えてください。
共用メモリセグメント数が上限を超えた場合は,動的変更したグローバルバッファの定義情報をpdbufferオペランドに反映してください。その後,HiRDBを正常開始すると共用メモリセグメント数を減らせます。
なお,動的変更したグローバルバッファが使用する共用メモリサイズがSHMMAXオペランドの値より大きい場合,グローバルバッファが使用する共用メモリが複数の共用メモリセグメントに確保されます。確保される共用メモリセグメント数は次に示す計算式から求められます。
↑動的変更したグローバルバッファが使用する共用メモリサイズ÷SHMMAXオペランドの値↑
グローバルバッファが使用する共用メモリについては,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.