スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
![[目次]](FIGURE/CONTENT.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
15.8.1 RDエリアの自動増分とは
RDエリアの容量不足が近付いたときに,RDエリアを構成するHiRDBファイルの最終ファイルに未使用セグメントを追加して,RDエリアの容量を自動的に拡張します。これをRDエリアの自動増分といいます。RDエリアの自動増分には,次の二つの方式があります。
- HiRDBファイルシステム領域を自動的に拡張する方式
- HiRDBファイルシステム領域内でHiRDBファイルを増分する方式
RDエリアの自動増分を次の図に示します。
図15-1 RDエリアの自動増分
![[図データ]](FIGURE/ZU150011.GIF)
- 〔説明〕
- 方式1では,セグメントの追加で,HiRDBファイルシステム領域サイズの上限を超える場合,HiRDBファイルシステム領域を必要な分だけ自動的に拡張します。この方式では,一つのHiRDBファイルシステム領域に,HiRDBファイルを一つだけ作成できます。RDエリアに対しては,一つだけ作成できるHiRDBファイルを,RDエリアを構成する最終HiRDBファイルとして割り当てます。
- 方式2では,HiRDBファイルシステム領域サイズ内でHiRDBファイルを拡張又は追加し,HiRDBファイルシステム領域の上限まで自動増分します。
- <この項の構成>
- (1) 自動増分を適用できるRDエリア
- (2) 自動増分の契機
- (3) 自動増分時の増分領域初期化有無
- (4) RDエリアの自動増分方式の選択基準
- (5) 留意事項
(1) 自動増分を適用できるRDエリア
RDエリアの自動増分を適用できるRDエリアを次に示します。
- データディクショナリ用RDエリア
- ユーザ用RDエリア
- レジストリ用RDエリア
- ユーザLOB用RDエリア
- データディクショナリLOB用RDエリア
- レジストリLOB用RDエリア
(2) 自動増分の契機
HiRDBは,次に示すRDエリアの自動増分契機になると,RDエリアを自動増分します。
- RDエリア内の空きセグメント数が1回の自動増分で増分するセグメント数以下になったとき
例えば,1回の自動増分セグメント数を50セグメントとしている場合,空きセグメント数が50セグメント以下になったときに自動増分します。
- RDエリア内に空きセグメントがなく,新しいセグメントを確保できないとき
自動増分契機は,pd_rdarea_extension_timingオペランドで指定できます。詳細については,マニュアル「HiRDB Version 8 システム定義」を参照してください。
(3) 自動増分時の増分領域初期化有無
HiRDBは,以下の定義を指定することにより,自動増分を行う際に増分領域をあらかじめ初期化し,ファイル領域を確保します。
- pd_rdarea_expand_format
本定義の詳細は,「マニュアル HiRDB Version 8 システム定義」を参照してください。
増分領域の初期化指示を行った場合,RDエリアの自動増分の発生時に増分領域の初期化を行うため,HiRDBファイルシステム領域を配置しているディスクが容量不足となったときにRDエリアが障害閉塞になるリスクがなくなります。ただし,増分処理中は当該RDエリアをアクセスする更新トランザクションの実行時間が間延びします。
(4) RDエリアの自動増分方式の選択基準
RDエリアの自動増分を適用する場合,基本的には方式1をお勧めします。方式1では,HiRDBファイルの最大サイズ(64ギガバイト)まで自動的にHiRDBファイルシステム領域を拡張するため,領域の見積もりやデータベースの拡張が容易になります。
ただし,方式1には次の制限事項があるため,適用できないシステムの場合は,方式2を選択してください。
- 一つのHiRDBファイルシステム領域に一つのHiRDBファイルしか格納できないため,RDエリア構成ファイル数と同じ数のHiRDBファイルシステム領域を作成する必要がある。
- ディスクに空きがあれば,HiRDBファイルシステム領域が64ギガバイトまで自動的に拡張するため,ディスク使用量の上限を設定できない。
- プラグインが提供する抽象データ型を格納している場合,そのRDエリアに対しては自動増分が適用されません。ただし,HiRDB Text Search Plug-inのSGMLTEXT型の場合は,インデクス管理用領域の一部だけが自動増分の対象となります。
- RDエリアの状態が,更新可能バックアップ閉塞状態又は更新可能バックアップ閉塞状態(WAITモード)の場合,RDエリアの自動増分が抑止されます。そのため,これらの閉塞状態中に新規ページの確保が発生する大量データの追加又は更新業務の実行は避けてください。ただし,pd_rdarea_extension_timingオペランドにuseを指定している場合,更新可能バックアップ閉塞状態のため,RDエリアの自動増分が抑止されても,データ追加によるページ不足エラーになるまで,空きセグメント(増分セグメント数分)を利用できます。このため,pd_rdarea_extension_timingオペランドにnouseを指定している場合よりも業務への影響を軽減できます。
RDエリアの自動増分の抑止を解除するには,pdrelsコマンドでRDエリアの閉塞を解除してください。
- リアルタイムSANレプリケーションでハイブリッド方式を適用している場合,RDエリアの自動増分が発生すると,リモートサイトへのデータベースの同期待ち合わせを行います。このため,1回の増分で2秒以上のオーバヘッドが掛かることがあります。
- pd_rdarea_warning_pointオペランドの指定で,HiRDBファイルの使用率やエクステント数を監視して,警告メッセージを出力できます。これによって,自動増分できなくなる前に対処できます。pd_rdarea_warning_pointオペランドについては,マニュアル「HiRDB Version 8 システム定義」を参照してください。
- 本機能を適用する場合,以下の運用を業務に取り入れてください。運用を組み入れる事が出来ない場合は,自動増分を適用しないか,HiRDBファイルシステム領域を自動的に拡張する方式を採用してください。HiRDBファイルシステム領域の自動増分に関する詳細は,マニュアル「HiRDB Version 8 コマンドリファレンス」のpdfmkfsの-aオプションを参照してください。また,本方式を採用する際は,増分領域の初期化を行うことを推奨します。領域増分の初期化に関する詳細は,「(3) 自動増分時の増分領域初期化有無」を参照してください。
- 1回の業務中に頻繁に自動増分が発生しないように,増分セグメント数を見積もってください。自動増分発生時に増分領域の初期化を行う場合,増分領域の初期化にかかるI/O時間と1回の業務時間を考慮して,増分セグメント数を決定してください。
- 自動増分発生時に増分領域の初期化を行う場合は,以下の式を基に,構築時のRDエリアのディスク容量を見積もってください。
なお,一つのHiRDBファイルシステム領域の上限は64GBです。このため,自動増分では,最大64GBまで増分します。なお,自動増分は,RDエリアを構成する最終HiRDBファイルだけ行います。
- RDエリアを構成するHiRDBファイルが一つの場合
ディスク容量 = 64GB
- RDエリアを構成するHiRDBファイルが複数の場合
ディスク容量 = (最終HiRDBファイル以外の容量の合計)+ 64GB
- RDエリアを自動増分する際,当該RDエリアを構成する最終HiRDBファイルに対し,排他(排他資源:RDLF(0143))がかかります。これにより,当該RDエリアに定義した表・インデクスに対する更新トランザクションは待ち状態となります。
自動増分時の増分領域初期化を行う場合,初期化を行わない場合に比べディスクI/Oが発生する分,実行時間が間延びします。このことから,次の要因でトランザクションをキャンセルする場合があります。
- 排他待ち限界経過時間を超過
- HiRDBクライアントの最大待ち時間を超過
- ユティリティの最大実行時間を超過
そのため,以下の定義に指定する値には,計算式を基に見積もった値を考慮してください。
- 【定義】
- ・排他待ち限界経過時間(システム共通定義:pd_lck_wait_timeout)
- ・ユティリティの実行時間(システム共通定義:pd_utl_exec_time)
- ・UAPの実行時間(クライアント環境変数:PDCWAITTIME)
- 注 上記定義およびクライアント環境変数についての詳細は,マニュアル「HiRDB Version 8 システム定義」,又は「HiRDB Version 8 UAP開発ガイド」を参照してください。
- 【処理時間(目安)[単位:秒]】
- ・自動増分に掛かる処理時間の目安
- ページサイズ[byte]×(β×増分セグメント数 + α)
- ÷HiRDBファイルシステム領域を配置しているディスクのI/O性能[byte/秒]
- α:増分時に作成するディレクトリページ数
- ・データディクショナリ用RDエリア・ユーザ用RDエリア・レジストリ用RDエリアの場合
- ↑d÷b↑+↑d÷f↑
- d:増分セグメント数
- b:↓(P - 20)÷(↑d÷32↑×8 + 56)↓
- f:↓(125×P)÷(16×b)↓×b
- P:ページサイズ
- S:セグメントサイズ
- ・LOB用RDエリアの場合
- ↑S÷64000↑×96
- S:セグメントサイズ
- β:増分領域の初期化指示を行っている場合はセグメントサイズ
- 増分領域の初期化指示を行っていない場合は0
- 増分領域を初期化する指定を行った場合でも,増分領域以外は初期化を行いません。このため,pdfmkfsコマンドに-iオプションを指定していないHiRDBファイルシステム領域の場合,スパースファイルになります。このことから,HiRDBファイルシステム領域を作成する際は,-iオプションの指定を推奨します。
- 参考
- RDエリアとエクステントの関係
- エクステントとは,HiRDBファイルシステム領域内の連続した領域の固まりのことです。エクステントを次の図に示します。
![[図データ]](FIGURE/ZU150010.GIF)
- 1HiRDBファイルが保持できるエクステント数の上限は24です。自動増分の際に,対象となるHiRDBファイルの最終割り当てエクステントに連続する空きが確保できた場合にはエクステント数の増加はありませんが,不連続な空きが割り当てられた場合にはエクステント数が増加します。例えば,上図では,HiRDBファイルAのエクステント数は2になります。エクステントの情報については,pdflsコマンドで調べられます。
- なお,RDエリアの削除・再初期化(割り当てサイズ縮小又はwith reconstruction付き)・統合では,割り当て済みエクステントの削除やサイズ縮小が発生するため,HiRDBファイルシステム領域内に断片化した空きが発生します。この状態でRDエリアの追加・拡張・再初期化を行うと,自動増分をしていなくても1HiRDBファイルに,複数のエクステントが割り当てられることがあるので注意してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.