Hitachi

Hitachi Advanced Database システム構築・運用ガイド


7.2.20 キャッシュグループに関するオペランドおよびオプション(コマンド形式)

85adbcachegrp

クラウドストレージ機能でキャッシュグループを定義する場合にこのオペランドを指定します。キャッシュグループについては,「2.21 クラウド環境でHADBサーバを使用する場合」を参照してください。

重要

adb_sys_cld_cache_total_sizeオペランドを指定する場合,adbcachegrpオペランドは指定できません。

adbcachegrpオペランドの指定例を次に示します。

adbcachegrp -g cachegrp01 -n DBAREA11,DBAREA12,DBAREA13 -s 5000   ...1
adbcachegrp -g cachegrp02 -n DBAREA21,DBAREA22 -s 3000            ...2
adbcachegrp -g cachegrp03 -n DBAREA31 -s 1000                     ...3
adbcachegrp -o -s 1000                                            ...4
adbcachegrp -d -s 1000                                            ...5

[説明]

  1. DBエリア用のキャッシュグループ(キャッシュグループ名:cachegrp01)を定義します。このキャッシュグループには,データ用DBエリア(DBAREA11DBAREA12,およびDBAREA13)のデータを格納したキャッシュファイルだけが格納されます。このキャッシュグループに格納できるキャッシュファイルの容量の上限は5,000ギガバイトになります。

  2. DBエリア用のキャッシュグループ(キャッシュグループ名:cachegrp02)を定義します。このキャッシュグループには,データ用DBエリア(DBAREA21およびDBAREA22)のデータを格納したキャッシュファイルだけが格納されます。このキャッシュグループに格納できるキャッシュファイルの容量の上限は3,000ギガバイトになります。

  3. DBエリア用のキャッシュグループ(キャッシュグループ名:cachegrp03)を定義します。このキャッシュグループには,データ用DBエリア(DBAREA31)のデータを格納したキャッシュファイルだけが格納されます。このキャッシュグループに格納できるキャッシュファイルの容量の上限は1,000ギガバイトになります。

  4. 既定のキャッシュグループを定義します。上記の1.~3.に指定したデータ用DBエリア以外のデータ用DBエリアのデータを格納したキャッシュファイルが格納されます。既定のキャッシュグループに格納できるキャッシュファイルの容量の上限は1,000ギガバイトになります。

  5. システムディレクトリ用のキャッシュグループの容量の上限を変更する場合に指定します。システムディレクトリ用のキャッシュグループには,システムログファイルのデータを格納したキャッシュファイルだけが格納されます。このキャッシュグループに格納できるキャッシュファイルの容量の上限は1,000ギガバイトになります。

次に各オプションの説明をします。

-g キャッシュグループ名

〈文字列〉((130バイト))

キャッシュグループ名を指定します。-gオプションを指定したadbcachegrpオペランドは最大1,014個指定できます。

キャッシュグループ名の名称規則を次に示します。

  • キャッシュグループ名に指定できる文字は,半角数字,半角英大文字(A~Z,#@\_ ),半角英小文字(a~z),半角カタカナ文字,半角空白,半角ハイフン(-,および半角垂直棒( | )ですまた,全角文字も指定できます。ただし,全角空白は指定できません。

  • 半角文字と全角文字を混在させて指定できます。

  • 半角英大文字および半角英小文字は,常に区別して扱われます。

  • キャッシュグループ名の先頭の文字には,半角英大文字(A~Z,#@\_ ),半角英小文字(a~z),半角カタカナ文字,または全角文字を指定してください。

    ただし,キャッシュグループ名の先頭の文字に#を指定する場合は,キャッシュグループ名を"(二重引用符)で囲んで指定してください。

    (例)

    adbcachegrp -g "#SampleGroup" -n DBAREA01 -s 64
  • キャッシュグループ名の最後の文字に,半角空白は指定できません。

  • キャッシュグループ名に半角空白を含む場合は,次のどちらかの方法で指定してください。

    • "(二重引用符)で囲む

      adbcachegrp -g "Sample Group" -n DBAREA01 -s 64
    • \"(バックスラッシュと二重引用符)で囲み,さらに"(二重引用符)で囲む

      adbcachegrp -g "\"Sample Group\"" -n DBAREA01 -s 64
-n データ用DBエリア名〔,データ用DBエリア名〕…

〈文字列〉((130バイト))

-gオプションで指定したキャッシュグループに割り当てるデータ用DBエリアを指定します。

指定規則を次に示します。

  • adbcachegrpオペランドの-nオプションに指定できるデータ用DBエリア名の合計数は,最大1,014個になります。

  • 存在しないデータ用DBエリアは指定できません。

  • データ用DBエリア名を重複して指定できません。全adbcachegrpオペランドで重複できません。

  • マスタディレクトリ用DBエリア(ADBMST),ディクショナリ用DBエリア(ADBDIC),およびシステム表用DBエリア(ADBSTBL)は指定不要です。これらのDBエリアは自動的に既定のキャッシュグループに割り当てられます。

-o

既定のキャッシュグループを定義します。

重要

-oオプションを指定したadbcachegrpオペランドを必ず1つ指定してください。

-s キャッシュグループの容量の上限

~〈整数〉((1~1,000,000))(単位:ギガバイト)

キャッシュグループに作成できるキャッシュファイルの総容量の上限を指定します。

DBエリア用のキャッシュグループにこのオプションを指定する場合,-nオプションに指定したデータ用DBエリアの格納データ量の合計の10%を目安とした値を指定してください。

このオペランドの指定値を基にして,HADBサーバの開始時にHADBサーバがキャッシュグループの容量の上限値を決定します。HADBサーバが決定したキャッシュグループの容量の上限値を超えた場合,最後にアクセスした時間がいちばん古いキャッシュファイルを削除したあとに新しいキャッシュファイルを作成することで,キャッシュグループの容量の上限を超えないようにします。

adbls -d cfmコマンドを実行すると,HADBサーバが決定したキャッシュグループの容量の上限値(INTERNAL_TOTAL_LIMIT(MB))を確認できます。

メモ

キャッシュファイルの作成時にストレージの容量不足を検知した場合,警告メッセージKFAA51285-Wが出力され,HADBサーバが決定したキャッシュグループの容量の上限値を一時的に利用可能な容量まで引き下げます。一度引き下げられた上限値は,HADBサーバの稼働中には元に戻せません。元に戻す場合は,HADBサーバを再起動してください。

-sオプションの指定値のチューニング方法

SQL文の統計情報を確認し,キャッシュファイルのヒット率を計算してください。ヒット率が低いキャッシュグループは,-sオプションの指定値を大きくすると,ヒット率が向上することがあります。

キャッシュファイルのヒット率(%)={(AB)÷(CD)}×100

ACld_cache_sgmt_read_hit_cntの値

BCld_cache_dir_read_hit_cntの値

CCld_cache_sgmt_read_cntの値

DCld_cache_dir_read_cntの値

上記は,SQL文の統計情報に出力される項目です。上記の出力項目については,マニュアルHADB コマンドリファレンスSQL文の統計情報で出力される項目を参照してください。

各キャッシュグループで割り当てているデータ用DBエリアだけをアクセス対象とするSQL文を計算対象にしてください。

-d

このオプションは,クラウドストレージ機能のシステムディレクトリ対応オプションを有効にする場合に指定できます。

クラウドストレージ機能のシステムディレクトリ対応オプションを有効にする場合,HADBサーバがシステムディレクトリ用のキャッシュグループを自動的に作成し,次の計算式に従ってシステムディレクトリ用のキャッシュグループの容量の上限を決定します。

システムディレクトリ用のキャッシュグループの容量の上限(単位:ギガバイト)=
                  MIN{1,000,000,
                       MAX(128 , 1+USRLOGFILENUM×USRLOGFILEINITSIZE)÷1,024
                      }

USRLOGFILENUM:サーバ定義のadb_log_usrfile_numオペランドの指定値

USRLOGFILEINITSIZE:サーバ定義のadb_log_usrfile_sizeオペランドのユーザログファイル初期化容量の指定値

マルチノード機能を使用する場合,adb_log_usrfile_numオペランドとadb_log_usrfile_sizeオペランドの指定値には,プライマリノードおよびセカンダリノードの各サーバ定義で指定する値のうち最大値が適用されます。

システムディレクトリ用のキャッシュグループの容量の上限を変更する場合に,このオプションを指定したadbcachegrpオペランドを指定してください。

メモ
  • 通常は,このオプションを指定したadbcachegrpオペランドを指定する必要はありません。ロールバック処理に時間が掛かる場合に,省略値(上記の計算式で決定された値)より大きな値を-sオプションに指定すると,ロールバック処理に掛かる時間を短縮できることがあります。

  • クラウドストレージ機能のシステムディレクトリ対応オプションが無効な場合に,このオプションを指定したadbcachegrpオペランドを指定しても,その指定は無視されます。