Hitachi

Hitachi Advanced Data Binder コマンドリファレンス


20.2.2 初期設定オプションの形式

〈この項の構成〉

(1) 指定形式

〔set adb_init_dbarea_initialize = {Y|N}〕
〔set adb_init_multi_max = DBエリアファイルの作成処理を行うスレッド数の上限〕
〔set adb_init_wrk_page_size = 作業表用DBエリアのページサイズ〕
〔set adb_init_wrk_blk_path = 作業表用DBエリアファイルとして割り当てる
                              ブロックスペシャルファイル名〕
〔set adb_init_mst_blk_path = マスタディレクトリ用DBエリアファイルとして割り当てる
                              ブロックスペシャルファイル名〕
〔set adb_init_dic_blk_path = ディクショナリ用DBエリアファイルとして割り当てる
                              ブロックスペシャルファイル名〕
〔set adb_init_stbl_blk_path = システム表用DBエリアファイルとして割り当てる
                              ブロックスペシャルファイル名〕
 
{{adbinitdbarea
      -n データ用DBエリア名
    〔-p {4|8|16|32}〕
    〔-s {4|16|32}〕
    〔-v ブロックスペシャルファイル名〔,ブロックスペシャルファイル名〕…〕
    〔-q〕
    〔-i 初期確保サイズ〔,作成ファイル数〕〕
    〔-f データ用DBエリアファイルの格納先ディレクトリ名〕
    〔-g DBエリアファイルの作成処理の進捗状況を知らせるメッセージの出力間隔〕
 }}

上記の初期設定オプションの指定規則は,サーバ定義と同じです。サーバ定義の指定規則については,マニュアルHADB システム構築・運用ガイドサーバ定義の文法規則を参照してください。

(2) 指定形式の説明

(a) set形式

adb_init_dbarea_initialize = Y|N}

DBエリアを初期化するかどうかを指定します。このオペランドにNを指定した場合,作業表用DBエリア以外のDBエリアファイルすべてに,ブロックスペシャルファイルを割り当てる必要があります。

Y

すべてのDBエリアを初期化します。

このオペランドの指定を省略した場合は,Yが仮定されます。

N

DBエリアを初期化しないで,シンボリックリンクだけを作成します。ただし,作業表用DBエリアだけは初期化されます。

このオペランドにNを指定した場合,次のオプションの指定値は,DBエリアファイル作成時に無視されます。

  • adbinitコマンドのオプション

    -uオプション

    -pオプション

  • 初期設定オプション(set形式のオペランド)

    adb_init_multi_maxオペランド

  • 初期設定オプション(adbinitdbareaオペランドのオプション)

    -qオプション

    -gオプション

    -pオプション

    -sオプション

    -iオプションの初期確保サイズ

[マルチノード機能]
adb_init_multi_max = DBエリアファイルの作成処理を行うスレッド数の上限

〜〈整数〉((1〜65,535))《40》

データ用DBエリアファイルを作成するスレッド数の上限を指定します。

次に示す場合にこのオペランドを指定します。

  • adbinitコマンドの実行時にスレッド数やファイルオープン数関連のエラー,またはメモリ不足などが発生した場合

    作成するデータ用DBエリアファイル数が多い場合,スレッド数やディスクリプタ数がシステムの上限を超えてしまい,adbinitコマンドの実行時にスレッド数やファイルオープン数関連のエラー,メモリ不足(KFAA96211-Eメッセージが出力)などが発生することがあります。このような場合に,このオペランドの指定値を小さくしてadbinitコマンドを実行すると,このようなエラーを回避できることがあります。

    なお,このオペランドに1を指定した場合,データ用DBエリアファイルは1つずつ作成されます。

  • 40個以上のブロックスペシャルファイルを使用する場合

    このオペランドの指定値を増やしてスレッド数の上限を上げると,性能が向上することがあります。

データ用DBエリアの作成時,1つのデータ用DBエリアに対して1つのスレッドが生成され,1つのデータ用DBエリアファイルに対して1つのスレッドが生成されます。例えば,DBエリアA(DBエリアファイル2個)およびDBエリアB(DBエリアファイル3個)を作成する場合,7つのスレッドが生成されます。

adb_init_wrk_page_size = 作業表用DBエリアのページサイズ

〜〈整数〉((32〜32,768))《256》(単位:キロバイト)

作業表用DBエリアのページサイズをキロバイト単位で指定します。作業表用DBエリアの設計時に見積もったページサイズを指定してください。作業表用DBエリアのページサイズの見積もりについては,マニュアルHADB システム構築・運用ガイド作業表用DBエリアの設計を参照してください。

なお,このオペランドに32で割り切れない値を指定した場合,自動的に32キロバイト単位に切り上げられます。

このオペランドに指定したページサイズに従って,作業表用DBエリアが作成されます。なお,サーバ定義のadb_dbarea_wrk_page_sizeオペランドを指定すると,HADBサーバ開始時に作業表用DBエリアのページサイズを変更できます。adb_dbarea_wrk_page_sizeオペランドの詳細については,マニュアルHADB システム構築・運用ガイドシステム構成に関するオペランド(set形式)を参照してください。

adb_init_wrk_blk_path = 作業表用DBエリアファイルとして割り当てるブロックスペシャルファイル名

〜〈パス名〉((2〜255バイト))

作業表用DBエリアファイルとしてブロックスペシャルファイルを割り当てる場合に,そのブロックスペシャルファイルの絶対パス名を,実体またはシンボリックリンクで指定します。このオペランドを省略した場合,DBディレクトリ下に作業表用DBエリアファイルが作成されます。

ほかのオペランドに指定するブロックスペシャルファイルと指定が重ならないようにしてください。

重要

ブロックスペシャルファイルを割り当てた方が,レギュラーファイルを割り当てたときより性能向上が期待できます。

ただし,ブロックスペシャルファイルを割り当てると,ブロックスペシャルファイル内の既存データは消去されます。データを消去してよいか判断できない場合は,ブロックスペシャルファイルを割り当てないでください。

また,OSにマウントされているブロックスペシャルファイルを割り当てることはできません。割り当てるブロックスペシャルファイルはアンマウントしておく必要があります。

adb_init_mst_blk_path = マスタディレクトリ用DBエリアファイルとして割り当てるブロックスペシャルファイル名

〜〈パス名〉((2〜255バイト))

マスタディレクトリ用DBエリアファイルとしてブロックスペシャルファイルを割り当てる場合に,そのブロックスペシャルファイルの絶対パス名を,実体またはシンボリックリンクで指定します。このオペランドを省略した場合,DBディレクトリ下にマスタディレクトリ用DBエリアファイルが作成されます。

ほかのオペランドに指定するブロックスペシャルファイルと指定が重ならないようにしてください。

ブロックスペシャルファイルを指定する際の注意事項については,adb_init_wrk_blk_pathオペランドの注意事項を参照してください。

adb_init_dic_blk_path = ディクショナリ用DBエリアファイルとして割り当てるブロックスペシャルファイル名

〜〈パス名〉((2〜255バイト))

ディクショナリ用DBエリアファイルとしてブロックスペシャルファイルを割り当てる場合に,そのブロックスペシャルファイルの絶対パス名を,実体またはシンボリックリンクで指定します。このオペランドを省略した場合,DBディレクトリ下にディクショナリ用DBエリアファイルが作成されます。

ほかのオペランドに指定するブロックスペシャルファイルと指定が重ならないようにしてください。

ブロックスペシャルファイルを指定する際の注意事項については,adb_init_wrk_blk_pathオペランドの注意事項を参照してください。

adb_init_stbl_blk_path= システム表用DBエリアファイルとして割り当てるブロックスペシャルファイル名

〜〈パス名〉((2〜255バイト))

システム表用DBエリアファイルとしてブロックスペシャルファイルを割り当てる場合に,そのブロックスペシャルファイルの絶対パス名を,実体またはシンボリックリンクで指定します。このオペランドを省略した場合,DBディレクトリ下にシステム表用DBエリアファイルが作成されます。

ブロックスペシャルファイルを指定する際の注意事項については,adb_init_wrk_blk_pathオペランドの注意事項を参照してください。

(b) コマンド形式

adbinitdbarea

このオペランドにはデータ用DBエリアの定義を指定します。作成するデータ用DBエリアの数だけこのオペランドを指定してください。

データ用DBエリアのDBエリアファイルとして割り当てるファイルの種類によって,指定するオプションが異なります。オプションの指定の目安を次の表に示します。

表20‒2 データ用DBエリアファイルとして割り当てるファイルの種類と指定するオプションの目安

項番

オプション名

DBエリアファイルとして割り当てるファイル

オプションの説明

ブロックスペシャルファイル

レギュラーファイル

1

-n

データ用DBエリア名を指定するオプションです。

2

-p

データ用DBエリアのページサイズを指定するオプションです。

3

-s

データ用DBエリアの1セグメントの容量を指定するオプションです。

4

-v

×

データ用DBエリアファイルとして割り当てるブロックスペシャルファイル名を指定するオプションです。

5

-q

×

データ用DBエリアファイルをクイックモードで作成する場合に指定するオプションです。

6

-i

データ用DBエリアファイルの1ファイル当たりの初期確保サイズと,作成するデータ用DBエリアファイルの数を指定するオプションです。

7

-f

データ用DBエリアファイル,またはブロックスペシャルファイルへのシンボリックリンクを,DBディレクトリのサブディレクトリに格納したい場合に指定するオプションです。

8

-g

データ用DBエリアファイルの作成処理の進捗状況を知らせるメッセージの出力間隔を指定するオプションです。

(凡例)

○:必ず指定するオプション,または指定を推奨するオプションです。

△:オプションの説明を読んで指定するかどうかを決定してください。

×:指定しないオプションです。

-n データ用DBエリア名

〜〈文字列〉((1〜30バイト))

作成するデータ用DBエリアの名称を指定します。データ用DBエリアファイルの名称は,このオプションで指定した名称と同じになります。

注意事項を次に示します。

  • DBエリア名に使用できる文字は,半角の英数字,下線(_),およびハイフン(-)です。また,先頭の文字は英字にする必要があります。

  • SQL文の予約語と同じ名称をDBエリア名に使用する場合は,DBエリア名を\"(バックスラッシュと二重引用符)で囲んでください。SQL文の予約語については,マニュアルHADB SQLリファレンス基本項目予約語を参照してください。

  • DBエリア名に英小文字を使用する場合,\"でDBエリア名を囲んでください。\"で囲まないと,DBエリア名の文字列はすべて英大文字と見なされます。

    (例)\"DBarea01\"

  • ほかのDBエリア名,およびDBディレクトリ下に作成されるディレクトリ名と重複した名称は指定できません。ほかのDBエリア名については,「20.5.1 作成されるDBエリアの属性」の「表20‒5 作成されるDBエリアの属性」を参照してください。DBディレクトリ下に作成されるディレクトリ名については,「20.5.2 作成されるディレクトリ」の「表20‒6 DBディレクトリ下に作成されるディレクトリ」を参照してください。

-p {4|8|16|32}

データ用DBエリアのページサイズをキロバイト単位で選択します。データ用DBエリアの設計時に見積もったページサイズを指定してください。データ用DBエリアのページサイズの見積もりについては,マニュアルHADB システム構築・運用ガイドデータ用DBエリアのページサイズを決める際の考慮点を参照してください。

重要

-sオプションでデータ用DBエリアの1セグメントの容量に16メガバイト以上を選択した場合,-pオプションの選択値に関係なく,データ用DBエリアのページサイズは32キロバイトになります。

-s {4|16|32}

データ用DBエリアの1セグメントの容量をメガバイト単位で選択します。データ用DBエリアの設計時に見積もった1セグメントの容量を指定してください。データ用DBエリアの1セグメントの容量の見積もりについては,マニュアルHADB システム構築・運用ガイドデータ用DBエリアの1セグメントの容量を決める際の考慮点を参照してください。

なお,データ用DBエリアのセグメントサイズは,「1セグメントの容量÷ページサイズ」で決定されます。例えば,1セグメントの容量として32メガバイトを選択した場合のセグメントサイズは,「32,768キロバイト÷32キロバイト=1,024ページ」になります。

-v ブロックスペシャルファイル名〔,ブロックスペシャルファイル名〕…

〜〈パス名〉((2〜255バイト))

データ用DBエリアファイルとしてブロックスペシャルファイルを割り当てる場合にこのオプションを指定します。このオプションには,ブロックスペシャルファイルの絶対パス名を,実体またはシンボリックリンクで指定します。

注意事項を次に示します。

  • 指定するブロックスペシャルファイル名は,ほかのオペランドに指定するブロックスペシャルファイル名も含めて,重複しないようにしてください。

  • このオプションに指定するブロックスペシャルファイルの数(1つのDBエリアを構成するLVの個数)およびサイズの目安については,マニュアルHADB システム構築・運用ガイドLVM設定時の考慮点を参照してください。

  • -iオプションに指定する作成ファイル数と同じ数のブロックスペシャルファイルを指定してください。指定したブロックスペシャルファイルの数が作成ファイル数より少ない場合,adbinitコマンドがエラーになります。

  • ブロックスペシャルファイルを指定する際の注意事項については,adb_init_wrk_blk_pathオペランドの注意事項を参照してください。

このオプションを指定した場合,DBディレクトリ下にはブロックスペシャルファイルへのシンボリックリンクが作成されます。

-q

データ用DBエリアファイルをクイックモードで作成する場合にこのオプションを指定します。このオプションを指定すると,データ用DBエリアファイルの作成処理に掛かる時間を短縮できます。

-qオプションは,初期化対象のファイルがブロックスペシャルファイルの場合に適用されます。

メモ

クイックモードでデータ用DBエリアファイルを作成した場合,管理ページ(ファイルサイズなどの情報を格納しているページ)だけを作成し,データを格納するページは作成されません。そのため,データ用DBエリアファイルの作成処理に掛かる時間を短縮できます。

-i 初期確保サイズ〔,作成ファイル数

データ用DBエリアファイルの1ファイル当たりの初期確保サイズと,作成するデータ用DBエリアファイル数を指定します。

  • 初期確保サイズ

    〜〈英字および数字〉((0K〜127P))《0K》

    データ用DBエリアファイルの1ファイル当たりの初期確保サイズを,K(キロバイト),M(メガバイト),G(ギガバイト),T(テラバイト),P(ペタバイト)の単位表記付きで指定します。指定した初期確保サイズに従って,データ用DBエリアファイルのファイルサイズが決まります。ただし,初期確保時のページの配置によって,このオプションに指定した初期確保サイズの値どおりに,データ用DBエリアファイルのファイルサイズが確保されないことがあります。

    データ用DBエリアファイルの種類によって,初期確保サイズの目安が異なります。このため,異なる種類のデータ用DBエリアファイルを同時に作成しないでください。データ用DBエリアファイルの種類に応じた初期確保サイズの目安を次の表に示します。

    表20‒3 データ用DBエリアファイルの種類と初期確保サイズの目安

    項番

    データ用DBエリアファイルの種類

    初期確保サイズの指定値の目安

    1

    レギュラーファイル

    初期確保サイズ×作成ファイル数」の値が「データ用DBエリアファイルを配置するファイルシステムの空き容量」未満になる範囲で,任意の値を指定してください。具体的な数値については,ディスクの空き容量の消費量やadbinitコマンドの実行時間を考慮し,判断してください。

    2

    ブロックスペシャルファイル

    物理ボリューム(物理ブロックが静的に割り当てられた通常のブロックスペシャルファイル)

    割り当てる物理ボリュームの容量がすべて同じ場合は,1ボリューム分の容量を初期確保サイズに指定してください。

    容量が異なる物理ボリュームの同時割り当ては推奨しません。しかし,もし容量が異なる物理ボリュームを同時に割り当てる必要がある場合は,いちばん小さいボリュームの容量を指定してください。

    3

    仮想ボリューム(シンプロビジョニングと呼ばれるストレージ仮想化技術を適用したブロックスペシャルファイル)

    仮想ボリュームを16テラバイト未満で使用する場合は,0Kを指定します。

    仮想ボリュームを16テラバイト以上使用する可能性がある場合は,使用する予定の容量を指定します。ただし,16テラバイト以上の使用が想定されるケースでは,仮想ボリュームの割り当てを推奨しません。16テラバイト以上の容量を指定すると,最初から大量の物理ブロックが必要となり,仮想ボリュームのメリットである初期導入コストの削減効果を十分に得られないためです。

    注※ シンプロビジョニングの詳細については,ストレージ製品のマニュアルなどを参照してください。

    なお,データ用DBエリアファイルの初期確保サイズを超えてデータを格納する場合,HADBサーバは必要な領域を自動的に拡張します(DBエリアの自動増分を行います)。拡張できる領域の上限は,初期確保サイズによって異なります。詳細については,マニュアルHADB システム構築・運用ガイドDBエリアの自動増分を参照してください。

    メモ

    データ用DBエリアファイルのファイルサイズは,-iオプションの指定値のとおりに確保されないことがあります。理由を次に示します。

    データ用DBエリアファイルは,次に示すページから構成されています。

    • ディレクトリページ

    • セグメント(表のデータやインデクスを格納するページ群)

    -iオプションでデータ用DBエリアファイルのファイルサイズを指定すると,指定したサイズに収まるように,各ページが配置されます。ただし,ディレクトリページやセグメントの途中で,-iオプションで指定したサイズに達する場合,次のようにページ数が調整されます。

    • データ用DBエリアファイルの先頭部分には,連続するディレクトリページが必ず作成されます。そのため,データ用DBエリアファイルのファイルサイズの最小値(約5.4メガバイト)よりも小さい値を指定した場合は,値が切り上げられます。

    • セグメントを構成するページは,セグメント単位(1つのセグメントを構成するページ数の単位)で管理されます。そのため,1セグメントの途中で指定したファイルサイズを超えないよう,ページ数が調整されます。例えば,8個目のセグメントの途中で指定したファイルサイズを超える場合,8個目のセグメントは作成されません(7個のセグメントが作成されます)。

    データ用DBエリアファイルのディレクトリページおよびセグメントについては,マニュアルHADB システム構築・運用ガイドDBエリアの構造(セグメントとページ)ページページの種類にあるディレクトリページ群の存在とディレクトリページの配置の説明を参照してください。

  • 作成ファイル数

    〜〈整数〉((1〜1,024))《1》(単位:個)

    作成するデータ用DBエリアファイル数を指定します。

    -vオプションを指定する場合は,作成ファイル数-vオプションに指定するブロックスペシャルファイルの数を同じにしてください。

-iオプションの指定によって確保される初期確保サイズを,例を使って説明します。

(例)

adbinitdbarea -n DBAREA01 -i 2G,3

この場合,データ用DBエリア(DBAREA01)にデータ用DBエリアファイルが3つ作成され,各データ用DBエリアファイルに2ギガバイトの初期確保サイズが確保されます。したがって,DBAREA01の初期確保サイズは,合計6ギガバイトになります。

なお,-iオプションの指定に従って確保しようとした初期確保サイズが上限を超えた場合,adbinitコマンドがエラーになります。このとき,KFAA96228-Eメッセージが出力されるため,メッセージに従って-iオプションの指定を変更してください。

重要

DBエリアファイルの自動増分の上限値を超える大容量のブロックスペシャルファイルを割り当てた場合,ブロックスペシャルファイル内に使用できない領域が発生するため,adbinitコマンドの実行時に警告メッセージKFAA96244-Wが出力されます。ブロックスペシャルファイルの容量のほぼ限界まで領域を使用したい場合は,KFAA96244-Wメッセージに記載されている対策に従ってください。

DBエリアファイルの自動増分の上限値は,初期確保サイズの指定値によって決まります。初期確保サイズの指定値を16テラバイトの倍数に切り上げた値が1DBエリアファイルの自動増分の上限値になります。例えば,初期確保サイズに20テラバイトを指定した場合,そのDBエリアファイルの自動増分の上限値は32テラバイトになります。

なお,使用できない領域をあとから使用できるようにする方法はありません。

1つのDBエリアに小容量と大容量のブロックスペシャルファイルを割り当てる場合,ブロックスペシャルファイルごとに異なる初期確保サイズを指定して,ブロックスペシャルファイルを初期化してください。例を次に示します。

(例)DBエリアAREA1に次の2つのブロックスペシャルファイルを割り当てます。

  • /dev/mapper/vg_10TB_1(容量10テラバイト)

  • /dev/mapper/vg_30TB_1(容量30テラバイト)

手順

  1. adbinitコマンドでデータベースを初期設定します。このとき,次のように初期設定オプションを指定し,/dev/mapper/vg_10TB_1のファイルを初期化します。

    adbinitdbarea -n AREA1 ... -i 10T -v /dev/mapper/vg_10TB_1

  2. adbstartコマンドでHADBサーバを開始します。

  3. adbmodareaコマンドでDBエリアAREA1を拡張します。このとき,次のようにDBエリア追加・変更オプションを指定し,/dev/mapper/vg_30TB_1のファイルを追加します。

    adbexpandarea -n AREA1 ... -i 30T -v /dev/mapper/vg_30TB_1

上記の手順1.で2つのブロックスペシャルファイルを同時に初期化した場合,初期確保サイズには10テラバイトを超える値を指定できないため,DBエリアファイルの自動増分の上限値は16テラバイトになります。この場合,30テラバイトのブロックスペシャルファイルは,DBエリアファイルの自動増分の上限値である16テラバイトまでしか使用されません。

-f データ用DBエリアファイルの格納先ディレクトリ名

〜〈パス名〉((1〜70バイト))

データ用DBエリアファイルまたはブロックスペシャルファイルへのシンボリックリンクを格納するサブディレクトリを,DBディレクトリ直下からの相対パス名で指定します。このサブディレクトリの直下に,DBエリア名と同名のデータ用DBエリアファイルまたはブロックスペシャルファイルへのシンボリックリンクが作成されます。

このオプションを指定しない場合,データ用DBエリアファイルまたはブロックスペシャルファイルへのシンボリックリンクは,DBディレクトリの直下に格納されます。

このオプションの指定例を次に示します。

(例)

adbinitdbarea -n DBAREA01 -f DB01/

この場合,DBディレクトリの直下にDB01というサブディレクトリが作成され,そのサブディレクトリの直下に,ファイル名DBAREA01のデータ用DBエリアファイルまたはブロックスペシャルファイルへのシンボリックリンクが作成されます。

このオプションを指定する際の注意事項を次に示します。

  • 相対パス名の先頭のスラッシュ(/)は指定不要です。

  • 半角英字で始まりスラッシュ(/)で終わる,半角の英数字,下線(_),ハイフン(-)だけで構成されているパス名を指定してください。パス名がスラッシュで終わらない場合,末尾に自動でスラッシュが追加されます。このとき,指定できるパス名は69バイトまでになります。

  • DBエリアファイルの格納先ディレクトリ名に英小文字を使用する場合,\"(バックスラッシュと二重引用符)で格納先ディレクトリ名を囲んでください。\"で囲まないと,格納先ディレクトリ名の文字列はすべて英大文字と見なされます。

    (例)\"Db02/\"

  • DBディレクトリ下に作成されるディレクトリ以下のパスは指定できません。DBディレクトリ下に作成されるディレクトリについては,「20.5.2 作成されるディレクトリ」の「表20‒6 DBディレクトリ下に作成されるディレクトリ」を参照してください。

  • DBエリア名と同名の中間ディレクトリを含むパスを指定していると,ディレクトリやファイルの作成に失敗する場合があります。このため,各DBエリアファイルが作成される位置に,同名のディレクトリが配置されないように注意してください。

-g DBエリアファイルの作成処理の進捗状況を知らせるメッセージの出力間隔

〜〈整数〉((0〜100))《0》(単位:%)

データ用DBエリアファイルの作成処理の進捗状況を知らせるメッセージを出力する場合にこのオプションを指定します。

メッセージの出力間隔を%単位で指定します。例えば,このオプションに30を指定した場合,DBエリアの作成処理が30%,60%,および90%完了したときに進捗状況を知らせるKFAA96232-Iメッセージが出力されます。

なお,このオプションを省略した場合,または0を指定した場合,進捗状況を知らせるメッセージは出力されません。

(3) 初期設定オプションのひな形

初期設定オプションのひな形($ADBDIR/sample/conf/adbinit.opt)があります。初期設定オプションを作成する場合は,このひな形を利用してください。

なお,サンプルAPを使用する場合は,データ用DBエリア(ADBUTBL01およびADBUIDX01)が必要になります。ひな形には,データ用DBエリアの定義(adbinitdbareaオペランドの指定)が記述されています。そのため,ひな形を利用する際,データ用DBエリアの定義を削除しないようにしてください。

サンプルAPについては,マニュアルHADB AP開発ガイドサンプルAPを参照してください。