IBM Cloud Docs
ストレージ使用率が高い場合の診断と解決

ストレージ使用率が高い場合の診断と解決

本資料では、Db2 Warehouse on Cloud システム上のストレージの使用率を診断し、必要であれば減らす方法を説明します。

ストレージ使用状況の確認

以下の SQL クエリーを admin ユーザーとして実行し、Db2 Warehouse on Cloud インスタンス内のすべての Db2 パーティションの現在のストレージ使用状況を確認します。

db2 "SELECT DBPARTITIONNUM , ROUND((SUM(FS_USED_SIZE) / SUM(FS_TOTAL_SIZE)::DECFLOAT) * 100,2)  AS UTILIZATION_PERCENT, ROUND(( SUM(FS_TOTAL_SIZE) - SUM(FS_USED_SIZE)::DECFLOAT) / 1073741824,2) AS FREE_GB FROM TABLE(ADMIN_GET_STORAGE_PATHS(NULL,-2)) AS T WHERE STORAGE_GROUP_NAME NOT LIKE '%TEMP%' GROUP BY DBPARTITIONNUM ,CASE WHEN DBPARTITIONNUM = 0 THEN 'NP' ELSE 'P' END"

ストレージ使用率が高い原因として考えられるのは、以下の 2 点です。

  • システムに接続されているストレージが最大容量に達している。
  • 再利用する必要のあるディスクに空きスペースがある。

診断と解決

前出の SQL クエリーの出力でインスタンスのストレージ使用率が高いことが示された場合、以下の手順によってこのシナリオを診断し解決できます。

  1. 以下の SQL クエリーを admin ユーザーとして実行し、インスタンスに再利用可能なスペースがあるかどうかを検査します。

    db2 "SELECT SUBSTR(TBSP_NAME, 1,30) AS TBSP_NAME, SUM(TBSP_USED_PAGES * TBSP_PAGE_SIZE)/ 1073741824 AS TBSP_USED_SIZE_GB, SUM((TBSP_PENDING_FREE_PAGES+ tbsp_free_pages) * TBSP_PAGE_SIZE)/ 1073741824 AS FREE_OR_PENDING_GB FROM TABLE(MON_GET_TABLESPACE('',-2)) where TBSP_NAME not like '%SYS%' and TBSP_NAME not like '%TEMP%' and RECLAIMABLE_SPACE_ENABLED = 1 and (TBSP_PENDING_FREE_PAGES+ tbsp_free_pages) >= 1 GROUP BY TBSP_NAME ORDER BY 3 DESC"
    ```1. Db2 パーティション間でデータ・スキューになっている場合、つまり 1 つ以上の Db2 パーティションがほぼ満杯になっている一方で、他の Db2 パーティションにはまだかなりの容量が残っている場合は、[MPP データベースの表のハッシュ分散キーの選択](https://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.doc/learn_how/choosing_dist_key_mpp.html){: external}を参照してください。
    
  2. 再利用可能な表スペースが 1 つ以上ある場合、以下の手順を実行してそのスペースを再利用します。

    オンライン・バックアップ中はスペースの再利用は行わないでください。 また、再利用操作は実行中のワークロードのパフォーマンスに影響するため、以下の手順はオフピークの時間帯に実行することをお勧めします。

    a. 以下のようにして、オンライン・バックアップが実行中でないことを確認します。

    db2 "SELECT MEMBER,SUBSTR(UTILITY_DETAIL, 1, 150) AS CMD FROM TABLE(MON_GET_UTILITY(-2)) AS T"
    

    {: codeblock}b. 前出の手順で生成されたリストにあるすべての表スペースについて、以下のコマンドを実行し、使用されていないスペースを再利用します。

    db2 alter tablespace <tablespace_name> reduce max
    
  3. 再利用できるディスク・スペースがない場合は、不必要なデータを消去するか、Db2 Warehouse on Cloud インスタンスのストレージをスケールアップして、データベースの安定性を確保する必要があります。

追加情報

再利用可能なストレージ

DMS 表スペースでの未使用ストレージの再利用

ALTER TABLESPACE ステートメント

マルチ・パーティション・プランの分散キー