OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
アイコン

OceanBaseデータベース

V4.3.5

    OceanBase logo

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについて法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. V4.3.5
    アイコンOceanBaseデータベース
    V 4.3.5
    • V 4.3.5

    Unit Numberの調整によるテナントのスケーリング

    最終更新日:2026-04-09 02:53:56  更新
    シェア
    このページの内容
    前提条件
    Unit Numberを増やす
    Unit Numberを減らす
    関連ドキュメント

    折りたたみ

    シェア

    テナントのスケーリングとは、テナントのサービス能力を向上または低下させるプロセスであり、計算能力とストレージ容量を含みます。単一ノードのサービス能力を向上させる方法と、サービスノードを追加する方法の両方で実現できます。本記事では、Unit Numberを変更することでサービスノードを増減させ、テナント全体のサービス能力を向上または低下させることで、テナントのスケーリングを実現する方法を紹介します。

    Unit Numberの調整とは、Unit Numberを増加または減少させることを指します。OceanBaseデータベースのバージョンV4.0.0以降では、テナント内各ゾーンのUnit数が一致している必要があります。各ゾーンのUnitを一括管理しやすくするために、システムではUnit Groupメカニズムが導入されています。異なるゾーン間で同じUNIT_GROUP_IDを持つUnitは、同一のUnit Groupに属します。Unit Numberを増加または減少させるには、Unit Group単位でUnitを作成または削除します。

    前提条件

    テナントのスケーリング操作を行う前に、以下の操作が必要です:

    • テナント内のロードバランシングポリシーを設定する

      テナント内のロードバランシングポリシーは、テナントレベルの構成パラメータ enable_rebalance と enable_transfer によって共同で制御されます。

      • パラメータ enable_rebalance は、システムテナントではテナント間のロードバランシングを有効にするかどうかを、ユーザー テナントではテナント内のロードバランシングを有効にするかどうかを制御します。テナントのスケーリング操作を行う際には、テナント内のロードバランシングを有効にする必要があります。テナント間のロードバランシングポリシーとテナント内のロードバランシングポリシーの詳細については、 データロードバランシングのベスト プラクティスを参照してください。このパラメータのデフォルト値は true であり、これはロードバランシングを有効にすることを意味します。設定後は OBServer ノードを再起動する必要がなく、即時に有効になります。
    • パラメータ enable_transfer は、テナント内の Transfer 機能を有効にするかどうかを制御します。デフォルト値は true であり、設定後は OBServer ノードを再起動する必要がなく、即時に有効になります。その中で:

      • パラメータ enable_rebalance の値が false の場合、パラメータ enable_transfer の値が true または false であっても、システムは自動ロードバランシングを行いません。

      • パラメータ enable_rebalance の値が true で、enable_transfer の値が true の場合、テナントのスケーリング操作を行う際、システムはパーティションの分布を自動的に調整して、ロードバランシングを実現します。

      • パラメータ enable_rebalance の値が true で、enable_transfer の値が false の場合、テナントのスケーリング操作を行う際、システムは Transfer 操作を実行できず、ログストリーム移行による限定的なロードバランシングしか実現できません。

    具体的な設定方法は以下のとおりです:

    • システムテナントで指定されたテナントのロードバランシングポリシーを設定する

      • システムテナントで指定されたテナントのテナント内ロードバランシングとテナント内の Transfer 機能を有効にする

        ALTER SYSTEM SET enable_rebalance = true TENANT = 'tenant_name';
        
        ALTER SYSTEM SET enable_transfer = true TENANT = 'tenant_name';
        

        上記のステートメントは、指定されたテナントの構成パラメータ enable_rebalance と enable_transfer の値が true であることを示しています。

        • システムテナントですべてのユーザー テナント(sys テナントとメタテナントを除く)のテナント内ロードバランシングとテナント内の Transfer 機能を有効にする

          ALTER SYSTEM SET enable_rebalance = true TENANT = all_user;
          
          ALTER SYSTEM SET enable_transfer = true TENANT = all_user;
          

          または

          ALTER SYSTEM SET enable_rebalance = true TENANT = all;
          
          ALTER SYSTEM SET enable_transfer = true TENANT = all;
          

          上記のステートメントは、すべてのユーザー テナントの構成パラメータ enable_rebalance と enable_transfer の値が true であることを示しています。

          説明

          OceanBaseデータベースV4.2.1バージョンから、TENANT = all_user と TENANT = all のセマンティクスは同じです。すべてのユーザー テナントに適用される範囲が必要な場合は、TENANT = all_user を使用することを推奨します。今後、TENANT = all は廃止されます。

    • ユーザーテナントで自身のテナントのロードバランシングポリシーを設定する

      MySQLモード
      Oracleモード

      MySQLテナントで、自身のテナントにおけるテナント内ロードバランシングとテナント内Transfer機能を有効にするステートメントは以下のとおりです:

      ALTER SYSTEM SET enable_rebalance = true;
      
      ALTER SYSTEM SET enable_transfer = true;
      

      Oracleテナントで、自身のテナントにおけるテナント内ロードバランシングとテナント内Transfer機能を有効にするステートメントは以下のとおりです:

      ALTER SYSTEM SET enable_rebalance = 'true';
      
      ALTER SYSTEM SET enable_transfer = 'true';
      

      enable_rebalance および enable_transfer の詳細な設定については、 enable_rebalance と [enable_transfer](../../../../700.reference/800.configuration-items-and-system-variabl

    • アイドル状態のリソースプールであっても使用中のリソースとして計算されるため、拡張前にテナントを削除する場合は、対応するリソースプールも同時に削除することを推奨します。これにより、リソースを解放できます。

      リソースプールの削除に関する操作については、 リソースプールの削除を参照してください。

    • テナントの縮小を行う前に、テナントが使用しているメモリを解放するために、一回のダンプを実行することを推奨します。

      手動でダンプをトリガーする操作については、 手動でダンプをトリガーするを参照してください。

    • テナントの拡張または縮小操作を実行する前に、テナントのリソースプランを事前に作成することを推奨します。これにより、予想どおりの結果を得やすくなります。

      テナントの拡張・縮小に関するリソースプランの詳細な操作については、 テナントの拡張・縮小に関するリソースプランを参照してください。

    Unit Numberを増やす

    ここでは、テナントmysql001のUnit Numberを増やす操作方法を例に説明します。

    1. rootユーザーを使用して、クラスタのsysテナントにログインします。

      obclient -h172.30.xxx.xxx -P2883 -uroot@sys#obdemo -pxxxx -A
      
    2. oceanbaseデータベースに移動します。

      use oceanbase;
      
    3. テナントmysql001の情報を確認し、TENANT_IDを取得します。

      SELECT * FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'mysql001';
      

      クエリ結果は次のとおりです:

      +-----------+-------------+-------------+----------------------------+----------------------------+-------------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+----------+------------+-----------+
      | TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME                | MODIFY_TIME                | PRIMARY_ZONE      | LOCALITY                                    | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED | TENANT_ROLE | SWITCHOVER_STATUS | SWITCHOVER_EPOCH | SYNC_SCN            | REPLAYABLE_SCN      | READABLE_SCN        | RECOVERY_UNTIL_SCN  | LOG_MODE     | ARBITRATION_SERVICE_STATUS | UNIT_NUM | COMPATIBLE | MAX_LS_ID |
      +-----------+-------------+-------------+----------------------------+----------------------------+-------------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+----------+------------+-----------+
      |      1006 | mysql001    | USER        | 2023-09-25 17:06:51.025654 | 2023-09-25 17:41:44.412137 | zone1;zone2,zone3 | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 | 1695637653853887075 | 1695637653853887075 | 1695637653853887075 | 4611686018427387903 | NOARCHIVELOG | DISABLED                   |        1 | 4.2.1.0    |      1005 |
      +-----------+-------------+-------------+----------------------------+----------------------------+-------------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------   +----------+------------+-----------+
      1 row in set
      

      クエリ結果から、テナントmysql001のTENANT_IDは1006で、UNIT_NUMの値は1です。つまり、このテナントのUnit Numberは1です。

    4. テナントmysql001が所有するUnitを確認します。

      SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1006;
      

      クエリ結果は次のとおりです:

      +---------+-----------+----------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      | UNIT_ID | TENANT_ID | STATUS   | RESOURCE_POOL_ID | UNIT_GROUP_ID | CREATE_TIME                | MODIFY_TIME                | ZONE  | SVR_IP         | SVR_PORT | MIGRATE_FROM_SVR_IP | MIGRATE_FROM_SVR_PORT | MANUAL_MIGRATE | UNIT_CONFIG_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS            | MIN_IOPS            | IOPS_WEIGHT |
      +---------+-----------+----------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      |    1017 |      1006 | ACTIVE   |             1003 |          1007 | 2023-09-25 17:06:38.571540 | 2023-09-25 17:06:51.030929 | zone1 | xxx.xx.xxx.198 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1019 |      1006 | ACTIVE   |             1003 |          1007 | 2023-09-25 17:06:38.575723 | 2023-09-25 17:06:51.030929 | zone2 | xxx.xx.xxx.196 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1021 |      1006 | ACTIVE   |             1003 |          1007 | 2023-09-25 17:06:38.581002 | 2023-09-25 17:06:51.031986 | zone3 | xxx.xx.xxx.197 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      +---------+-----------+----------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      3 rows in set
      

      クエリ結果から、テナントmysql001の各ゾーンには1つのUnitが存在し、この3つのUnitは同じUnit Groupに属しています。

    5. テナントmysql001のUNIT_NUMを2に変更します。

      ALTER RESOURCE TENANT mysql001 UNIT_NUM = 2;
      
    6. Unit Numberを増やすタスクの実行状態を確認します。

      SELECT * FROM oceanbase.DBA_OB_TENANT_JOBS WHERE JOB_TYPE='ALTER_RESOURCE_TENANT_UNIT_NUM' AND TENANT_ID=1006;
      

      クエリ結果は次のとおりです:

      +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+---------------------------------------------+--------------------+----------------+-------------+
      | JOB_ID | JOB_TYPE                       | JOB_STATUS | RESULT_CODE | PROGRESS | START_TIME                 | MODIFY_TIME                | TENANT_ID | SQL_TEXT                                    | EXTRA_INFO         | RS_SVR_IP      | RS_SVR_PORT |
      +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+---------------------------------------------+--------------------+----------------+-------------+
      |      6 | ALTER_RESOURCE_TENANT_UNIT_NUM | SUCCESS    |           0 |      100 | 2023-09-25 18:38:05.889876 | 2023-09-25 18:38:25.531461 |      1006 | ALTER RESOURCE TENANT mysql001 UNIT_NUM = 2 | FROM: '1', TO: '2' | xxx.xx.xxx.196 |        2882 |
      |      7 | ALTER_RESOURCE_TENANT_UNIT_NUM | SUCCESS    |           0 |      100 | 2023-09-26 09:37:32.367076 | 2023-09-26 09:39:05.651200 |      1006 | ALTER RESOURCE TENANT mysql001 UNIT_NUM = 1 | FROM: '2', TO: '1' | xxx.xx.xxx.196 |        2882 |
      |      8 | ALTER_RESOURCE_TENANT_UNIT_NUM | SUCCESS    |           0 |      100 | 2023-09-26 09:57:45.028091 | 2023-09-26 09:58:00.412204 |      1006 | ALTER RESOURCE TENANT mysql001 UNIT_NUM = 2 | FROM: '1', TO: '2' | xxx.xx.xxx.196 |        2882 |
      +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+---------------------------------------------+--------------------+----------------+-------------+
      6 rows in set
      

      クエリ結果から、以下のフィールドに基づいて対応するタスクレコードを見つけることができます:

      • START_TIME:タスクの開始時間。
      • SQL_TEXT:タスクに対応するSQL文。
      • EXTRA_INFO:変更前のUnit Numberと変更後のUnit Number。

      対応する変更レコードのJOB_STATUSの値がSUCCESSの場合、Unit Numberを増やすタスクは正常に実行されました。

      視点DBA_OB_TENANT_JOBSの詳細なフィールド説明については、DBA_OB_TENANT_JOBSを参照してください。

    7. テナントmysql001の変更後のUnitを確認します。

      SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1006;
      

      クエリ結果は次のとおりです:

      +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      | UNIT_ID | TENANT_ID | STATUS | RESOURCE_POOL_ID | UNIT_GROUP_ID | CREATE_TIME                | MODIFY_TIME                | ZONE  | SVR_IP         | SVR_PORT | MIGRATE_FROM_SVR_IP | MIGRATE_FROM_SVR_PORT | MANUAL_MIGRATE | UNIT_CONFIG_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS            | MIN_IOPS            | IOPS_WEIGHT |
      +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      |    1017 |      1006 | ACTIVE |             1003 |          1007 | 2023-09-25 17:06:38.571540 | 2023-09-25 17:06:51.030929 | zone1 | xxx.xx.xxx.198 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1019 |      1006 | ACTIVE |             1003 |          1007 | 2023-09-25 17:06:38.575723 | 2023-09-25 17:06:51.030929 | zone2 | xxx.xx.xxx.196 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1021 |      1006 | ACTIVE |             1003 |          1007 | 2023-09-25 17:06:38.581002 | 2023-09-26 09:39:59.321198 | zone3 | xxx.xx.xxx.204 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1028 |      1006 | ACTIVE |             1003 |          1010 | 2023-09-26 09:57:45.029620 | 2023-09-26 09:57:45.029620 | zone1 | xxx.xx.xxx.194 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1029 |      1006 | ACTIVE |             1003 |          1010 | 2023-09-26 09:57:45.031734 | 2023-09-26 09:57:45.031734 | zone2 | xxx.xx.xxx.192 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1030 |      1006 | ACTIVE |             1003 |          1010 | 2023-09-26 09:57:45.033851 | 2023-09-26 09:57:45.033851 | zone3 | xxx.xx.xxx.197 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      6 rows in set
      

    上記の例により、テナントmysql001のUnit Numberを1から2に変更しました。変更前は、テナントが各ゾーンに1つのUnitを有していました。変更後は、テナントが各ゾーンに2つのUnitを有するようになったため、テナントの拡張が実現されました。

    Unit Numberを減らす

    ここでは、テナントmysql001のUnit Numberを減らす操作方法を例に説明します。

    1. rootユーザーを使用して、クラスタのsysテナントにログインします。

      obclient -h172.xxx.xxx.xxx -P2883 -uroot@sys#obdemo -pxxxx -A
      
    2. oceanbaseデータベースに移動します。

      use oceanbase;
      
    3. テナントmysql001の情報を確認し、TENANT_IDを取得します。

      SELECT * FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'mysql001';
      

      クエリ結果は次のとおりです:

      +-----------+-------------+-------------+----------------------------+----------------------------+-------------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+----------+------------+-----------+
      | TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME                | MODIFY_TIME                | PRIMARY_ZONE      | LOCALITY                                    | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED | TENANT_ROLE | SWITCHOVER_STATUS | SWITCHOVER_EPOCH | SYNC_SCN            | REPLAYABLE_SCN      | READABLE_SCN        | RECOVERY_UNTIL_SCN  | LOG_MODE     | ARBITRATION_SERVICE_STATUS | UNIT_NUM | COMPATIBLE | MAX_LS_ID |
      +-----------+-------------+-------------+----------------------------+----------------------------+-------------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+----------+------------+-----------+
      |      1006 | mysql001    | USER        | 2023-09-25 17:06:51.025654 | 2023-09-25 17:41:44.412137 | zone1;zone2,zone3 | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 | 1695636323100528993 | 1695636323100528993 | 1695636323100528993 | 4611686018427387903 | NOARCHIVELOG | DISABLED                   |        2 | 4.2.1.0    |      1005 |
      +-----------+-------------+-------------+----------------------------+----------------------------+-------------------+---------------------------------------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+----------+------------+-----------+
      1 row in set
      

      クエリ結果によると、テナントのTENANT_IDは1006で、UNIT_NUMの値は2です。これは、このテナントのUnit Numberが2であることを示しています。

    4. テナントmysql001が所有するUnitを確認します。

      SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1006;
      

      クエリ結果は次のとおりです:

      +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      | UNIT_ID | TENANT_ID | STATUS | RESOURCE_POOL_ID | UNIT_GROUP_ID | CREATE_TIME                | MODIFY_TIME                | ZONE  | SVR_IP         | SVR_PORT | MIGRATE_FROM_SVR_IP | MIGRATE_FROM_SVR_PORT | MANUAL_MIGRATE | UNIT_CONFIG_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS            | MIN_IOPS            | IOPS_WEIGHT |
      +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      |    1016 |      1006 | ACTIVE |             1003 |          1006 | 2023-09-25 17:06:38.569419 | 2023-09-25 18:01:30.069547 | zone1 | xxx.xx.xxx.194 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1017 |      1006 | ACTIVE |             1003 |          1007 | 2023-09-25 17:06:38.571540 | 2023-09-25 17:06:51.030929 | zone1 | xxx.xx.xxx.198 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1018 |      1006 | ACTIVE |             1003 |          1006 | 2023-09-25 17:06:38.573614 | 2023-09-25 18:01:30.070603 | zone2 | xxx.xx.xxx.192 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1019 |      1006 | ACTIVE |             1003 |          1007 | 2023-09-25 17:06:38.575723 | 2023-09-25 17:06:51.030929 | zone2 | xxx.xx.xxx.196 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1020 |      1006 | ACTIVE |             1003 |          1006 | 2023-09-25 17:06:38.579946 | 2023-09-25 18:01:30.070603 | zone3 | xxx.xx.xxx.204 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1021 |      1006 | ACTIVE |             1003 |          1007 | 2023-09-25 17:06:38.581002 | 2023-09-25 17:06:51.031986 | zone3 | xxx.xx.xxx.197 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      +---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      6 rows in set
      

      クエリ結果によると、テナントmysql001の各ゾーンには2つのUnitがあります。そのうち、UNIT_IDが1016、1018、1020のUnitは同じUnit Groupに属し、そのUNIT_GROUP_IDは1006です。UNIT_IDが1017、1019、1021のUnitは別のUnit Groupに属し、そのUNIT_GROUP_IDは1007です。

    5. テナントmysql001のUNIT_NUMを1に変更します。

    • UNIT_NUMの数を減らすには、ランダムにUNIT_GROUPを削除します。

        ALTER RESOURCE TENANT mysql001 UNIT_NUM = 1;
      

      このステートメントを実行すると、各ゾーンの2つのUnitのシナリオにおいて、システムはランダムにUnit Groupを指定し、そのUnit Groupのデータを他のUnit Groupに再配布した後、そのUnit Groupを削除します。

    • UNIT_NUMの数を減らすには、指定されたUNIT_GROUPを削除します。

        ALTER RESOURCE TENANT mysql001 UNIT_NUM = 1 DELETE UNIT_GROUP =(1006);
      

      このステートメントを実行すると、各ゾーンの2つのUnitのシナリオにおいて、システムは指定されたUnit Groupのデータを他のUnit Groupに再配布した後、そのUnit Groupを削除します。

    1. Unit Numberを減らすタスクの実行状況を確認します。

      SELECT * FROM oceanbase.DBA_OB_TENANT_JOBS WHERE JOB_TYPE='ALTER_RESOURCE_TENANT_UNIT_NUM' AND TENANT_ID=1006;
      

      クエリ結果は次のとおりです:

      +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+---------------------------------------------+--------------------+----------------+-------------+
      | JOB_ID | JOB_TYPE                       | JOB_STATUS | RESULT_CODE | PROGRESS | START_TIME                 | MODIFY_TIME                | TENANT_ID | SQL_TEXT                                    | EXTRA_INFO         | RS_SVR_IP      | RS_SVR_PORT |
      +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+---------------------------------------------+--------------------+----------------+-------------+
      |      6 | ALTER_RESOURCE_TENANT_UNIT_NUM | SUCCESS    |           0 |      100 | 2023-09-25 18:01:30.069506 | 2023-09-25 18:01:45.068740 |      1006 | ALTER RESOURCE TENANT mysql001 UNIT_NUM = 2 | FROM: '1', TO: '2' | xxx.xx.xxx.196 |        2882 |
      |      7 | ALTER_RESOURCE_TENANT_UNIT_NUM | SUCCESS    |           0 |      100 | 2023-09-26 09:37:32.367076 | 2023-09-26 09:39:05.651200 |      1006 | ALTER RESOURCE TENANT mysql001 UNIT_NUM = 1 | FROM: '2', TO: '1' | xxx.xx.xxx.196 |        2882 |
      +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+---------------------------------------------+--------------------+----------------+-------------+
      2 rows in set
      

      クエリ結果から、以下のフィールドに基づいて対応するタスクレコードを見つけてください:

      • START_TIME:タスクの開始時間。
      • SQL_TEXT:タスクに対応するSQLステートメント。
      • EXTRA_INFO:変更前のUnit Numberと変更後のUnit Number。

      対応するタスクレコードにおいて、JOB_STATUSの値がSUCCESSの場合、Unit Numberを減らすタスクが正常に実行されたことを示します。

      ビューDBA_OB_TENANT_JOBSの詳細なフィールド説明については、DBA_OB_TENANT_JOBSを参照してください。

    2. テナントmysql001の変更後のUnitを確認します。

      SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1006;
      

      クエリ結果は次のとおりです:

      +---------+-----------+----------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      | UNIT_ID | TENANT_ID | STATUS   | RESOURCE_POOL_ID | UNIT_GROUP_ID | CREATE_TIME                | MODIFY_TIME                | ZONE  | SVR_IP         | SVR_PORT | MIGRATE_FROM_SVR_IP | MIGRATE_FROM_SVR_PORT | MANUAL_MIGRATE | UNIT_CONFIG_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS            | MIN_IOPS            | IOPS_WEIGHT |
      +---------+-----------+----------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      |    1017 |      1006 | ACTIVE   |             1003 |          1007 | 2023-09-25 17:06:38.571540 | 2023-09-25 17:06:51.030929 | zone1 | xxx.xx.xxx.198 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1019 |      1006 | ACTIVE   |             1003 |          1007 | 2023-09-25 17:06:38.575723 | 2023-09-25 17:06:51.030929 | zone2 | xxx.xx.xxx.196 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      |    1021 |      1006 | ACTIVE   |             1003 |          1007 | 2023-09-25 17:06:38.581002 | 2023-09-26 09:39:59.321198 | zone3 | xxx.xx.xxx.197 |     2882 | NULL                |                  NULL | NULL           |           1002 |       1 |       1 |  5368709120 |   16106127360 | 9223372036854775807 | 9223372036854775807 |           1 |
      +---------+-----------+----------+------------------+---------------+----------------------------+----------------------------+-------+----------------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+---------------------+---------------------+-------------+
      3 rows in set
      

    上記の例のように、テナント mysql001 のユニット数を 2 から 1 に変更します。変更前は、テナントが各ゾーンに 2 個のユニットを配置していました。変更後は、テナントが各ゾーンに 1 個のユニットを配置するようになり、テナントの縮小が実現されました。

    関連ドキュメント

    • テナントのスケールイン・スケールアウトの紹介

    前のトピック

    リソース仕様の調整によるテナントのスケーリング
    最後

    次のトピック

    Primary Zoneの調整によるテナントのスケーリング
    次
    このページの内容
    前提条件
    Unit Numberを増やす
    Unit Numberを減らす
    関連ドキュメント