テナントのスケーリングとは、テナントのサービス能力を向上または低下させるプロセスであり、計算能力とストレージ容量を含みます。単一ノードのサービス能力を向上させる方法と、サービスノードを追加する方法の両方で実現できます。本記事では、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を増やす操作方法を例に説明します。
rootユーザーを使用して、クラスタのsysテナントにログインします。obclient -h172.30.xxx.xxx -P2883 -uroot@sys#obdemo -pxxxx -Aoceanbaseデータベースに移動します。use oceanbase;テナント
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です。テナント
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に属しています。テナント
mysql001のUNIT_NUMを2に変更します。ALTER RESOURCE TENANT mysql001 UNIT_NUM = 2;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を参照してください。テナント
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を減らす操作方法を例に説明します。
rootユーザーを使用して、クラスタのsysテナントにログインします。obclient -h172.xxx.xxx.xxx -P2883 -uroot@sys#obdemo -pxxxx -Aoceanbaseデータベースに移動します。use oceanbase;テナント
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であることを示しています。テナント
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です。テナント
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を削除します。
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を参照してください。テナント
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 個のユニットを配置するようになり、テナントの縮小が実現されました。