Hitachi

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


22.3 DBエリアの使用量の確認

S3オブジェクトまたはBLOBにデータを格納している次のDBエリアの使用量を確認する手順を説明します。

手順(AWS環境の場合)
  1. 使用量を確認するDBエリアのDBエリアIDを確認する

    SELECT "MASTER"."SQL_DBAREAS"."DBAREA_ID"
        FROM "MASTER"."SQL_DBAREAS"
          WHERE "MASTER"."SQL_DBAREAS"."DBAREA_NAME" = ?

    上記のSELECT文でディクショナリ表を検索して,使用量を確認するDBエリアのDBエリアIDを確認してください。

    adbsqlコマンドで上記のSELECT文を実行した場合,?パラメタに対する入力データの入力要求があります。使用量を確認するDBエリア名を入力してください。

  2. DBエリアのデータを格納している全S3オブジェクトの合計サイズを求める

    AWSのマネージメントコンソールを使用して,サーバ定義のadb_sys_cld_aws_bucketオペランドに指定したS3バケットの情報を表示してください。

    次に,下記のプレフィックスでS3オブジェクトを検索し,表示されたプレフィックス下の全S3オブジェクトの合計サイズを求めてください。全S3オブジェクトの合計サイズがDBエリアの使用量になります。

    • ADBSGMT/0011

    上記は,手順1.で確認したDBエリアIDが11の場合のプレフィックスです。0011の部分が,DBエリアIDによって変わります。

手順(Azure環境の場合)

以降の操作を実施する前に,Azure Blob Storageへのアクセスに必要な認証情報を設定しておく必要があります。詳細については,「21.2.4 Azure環境でのHADBサーバの構築」の「(6) Azure Blob Storageへのアクセスに必要な認証情報の設定」を参照してください。

  1. 使用量を確認するDBエリアのDBエリアIDを確認する

    SELECT "MASTER"."SQL_DBAREAS"."DBAREA_ID"
        FROM "MASTER"."SQL_DBAREAS"
          WHERE "MASTER"."SQL_DBAREAS"."DBAREA_NAME" = ?

    上記のSELECT文でディクショナリ表を検索して,使用量を確認するDBエリアのDBエリアIDを確認してください。

    adbsqlコマンドで上記のSELECT文を実行した場合,?パラメタに対する入力データの入力要求があります。使用量を確認するDBエリア名を入力してください。

  2. DBエリアのデータを格納している全BLOBの合計サイズを求める

    HADB管理者(adbmanager)で次のAzure CLIのコマンドを実行してください。DBエリアのデータを格納している全BLOBの合計サイズ(バイト)が表示されます。

    <Azure CLIによるサービスプリンシパルを使用した認証,またはマネージドIDを使用した認証をしている場合>

    $ az storage blob list \
     --account-name adbstorageaccount \                                        ...a
     --container-name adbcontainer \                                           ...b
     --query "[?contains(name,'ADBSGMT/0011')].[properties.contentLength]" \   ...c
     --num-results "*" \
     --auth-mode login \
     --output tsv | awk '{s+=$1} END {print s}'

    [説明]

    1. 下線部分には,サーバ定義のadb_sys_cld_az_storage_accountオペランドに指定したストレージアカウント名を入力してください。

    2. 下線部部分には,サーバ定義のadb_sys_cld_az_containerオペランドに指定したコンテナー名を入力してください。

    3. 下線部部分には,手順1.で確認したDBエリアIDを,4文字になるように先頭から0を付与して入力してください。

      上記は,手順1.で確認したDBエリアIDが11の場合です。

    <環境変数によるサービスプリンシパルを使用した認証をしている場合>

    $ az storage blob list \
     --account-name adbstorageaccount \                                        ...a
     --container-name adbcontainer \                                           ...b
     --query "[?contains(name,'ADBSGMT/0011')].[properties.contentLength]" \   ...c
     --num-results "*" \
     --account-key XXXXXXXXXXXX \                                              ...d
     --output tsv | awk '{s+=$1} END {print s}'

    [説明]

    1. 下線部分には,サーバ定義のadb_sys_cld_az_storage_accountオペランドに指定したストレージアカウント名を入力してください。

    2. 下線部部分には,サーバ定義のadb_sys_cld_az_containerオペランドに指定したコンテナー名を入力してください。

    3. 下線部部分には,手順1.で確認したDBエリアIDを,4文字になるように先頭から0を付与して入力してください。

      上記は,手順1.で確認したDBエリアIDが11の場合です。

    4. 下線部分には,サーバ定義のadb_sys_cld_az_storage_accountオペランドに指定したストレージアカウントのアクセスキーを入力してください。アクセスキーの詳細については,Azureのドキュメントを参照してください。

重要

adbdbstatusコマンドのDBエリアのサマリ情報に,DBエリアの使用中セグメント数(Used_segments)が出力されます。この数値を基にDBエリアの使用量を計算すると,全S3オブジェクトまたは全BLOBの合計サイズより大きな数値となることがあります。そのため,クラウドストレージ機能を使用している場合は,上記の手順でDBエリアの使用量を求めることを推奨します。