22.3 DBエリアの使用量の確認
S3オブジェクトまたはBLOBにデータを格納している次のDBエリアの使用量を確認する手順を説明します。
-
データ用DBエリア
-
マスタディレクトリ用DBエリア(DBエリア名:ADBMST)
-
ディクショナリ用DBエリア(DBエリア名:ADBDIC)
-
システム表用DBエリア(DBエリア名:ADBSTBL)
- 手順(AWS環境の場合)
-
-
使用量を確認する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エリア名を入力してください。
-
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へのアクセスに必要な認証情報の設定」を参照してください。
-
使用量を確認する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エリア名を入力してください。
-
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}'
[説明]
-
下線部分には,サーバ定義のadb_sys_cld_az_storage_accountオペランドに指定したストレージアカウント名を入力してください。
-
下線部部分には,サーバ定義のadb_sys_cld_az_containerオペランドに指定したコンテナー名を入力してください。
-
下線部部分には,手順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}'
[説明]
-
下線部分には,サーバ定義のadb_sys_cld_az_storage_accountオペランドに指定したストレージアカウント名を入力してください。
-
下線部部分には,サーバ定義のadb_sys_cld_az_containerオペランドに指定したコンテナー名を入力してください。
-
下線部部分には,手順1.で確認したDBエリアIDを,4文字になるように先頭から0を付与して入力してください。
上記は,手順1.で確認したDBエリアIDが11の場合です。
-
下線部分には,サーバ定義のadb_sys_cld_az_storage_accountオペランドに指定したストレージアカウントのアクセスキーを入力してください。アクセスキーの詳細については,Azureのドキュメントを参照してください。
-
-
- 重要
-
adbdbstatusコマンドのDBエリアのサマリ情報に,DBエリアの使用中セグメント数(Used_segments)が出力されます。この数値を基にDBエリアの使用量を計算すると,全S3オブジェクトまたは全BLOBの合計サイズより大きな数値となることがあります。そのため,クラウドストレージ機能を使用している場合は,上記の手順でDBエリアの使用量を求めることを推奨します。