本記事では、ビューを使用してテナントおよびリソースの関連情報を確認する方法について説明します。
テナントのリソース
データベース内のリソースは、論理リソースと物理リソースの2つに大別されます。論理リソースとは、論理的概念に対応する実体であり、データ構造、スレッド、ロック、セッションなどが含まれます。物理リソースとは、CPU、ディスク、メモリなどのハードウェアリソースを指します。テナントが作成できる論理リソースの量は物理リソースによって制限され、1つの論理リソースは1つまたは複数の物理リソースの制約を受ける場合があります。
論理リソース
OceanBaseデータベースの論理リソースと関連説明は、次の表のとおりです。
リソース名 |
説明 |
|---|---|
| LS | ログストリーム。トランザクションの基本コミット単位であり、テナントが各ノード上で作成できるログストリームの数は、隠れた構成パラメータ(_max_ls_cnt_per_server)、テナントメモリ(MAX(8, (MEMORY_SIZE - 4G) / 200MB + 8))、およびログディスクサイズによって共同で決定されます。ここで:
|
| TABLET | データシャーディング。データ移行の基本単位であり、テナントが各ノード上で作成できるTabletの上限数は、構成パラメータとテナントメモリによって共同で決定されます。計算式は (MEMORY_SIZE/1GB) * _max_tablet_cnt_per_gb および (MEMORY_SIZE * _storage_meta_memory_limit_percentage) / 200MB * 20000 です。ここで:
|
| SESSION | セッション。テナントが各ノード上で作成できる接続数の上限は、隠れた構成パラメータ _resource_limit_max_session_num またはテナントメモリ (MEMORY_SIZE * 5%) / 100KB によって決定されます。ここで、テナントレベルの隠れた構成パラメータ _resource_limit_max_session_num は、ユーザーテナント内の一般ユーザーの最大同時接続数を制御します。値の範囲は [0,1000000] で、デフォルト値は 0 です。これは未設定を意味し、システム内部では (MEMORY_SIZE * 5%) / 100KB に従って最大接続数を計算します。_resource_limit_max_session_num の値が 0 より大きい場合は、隠れた構成パラメータで設定された値が優先されます。この構成パラメータの変更は即時に反映され、OBServerノードの再起動は不要です。 |
| THREAD | スレッド。各ノード上のスレッド数の上限は、隠れた構成パラメータ _ob_max_thread_num によって決定されます。クラスタレベルの隠れた構成パラメータ _ob_max_thread_num は、各ノードのスレッド数上限を設定します。値の範囲は [0,10000) で、デフォルト値は 0 です。これは上限を設定しないことを意味します。この構成パラメータは sys テナントのみが変更でき、変更後は即時に反映され、OBServerノードの再起動は不要です。 |
| TX_PARTICIPANT | トランザクション参加者。トランザクションが特定のログストリームのデータを変更すると、そのログストリームはトランザクションの参加者となり、参加者データ構造が生成されます。アクティブなトランザクションの参加者はアクティブ参加者と呼ばれ、ノード上のアクティブ参加者数の上限は 70W です。 |
物理リソース
OceanBaseデータベースの物理リソースと関連説明は、次の表のとおりです。
リソース名 |
説明 |
|---|---|
| DATA_DISK | データディスク。ユーザー業務データを格納するためのディスクで、現在すべてのテナントが共有します。 |
| CLOG_DISK | ログディスク。テナントのclogを格納するためのディスクです。 |
| CPU | CPU。テナントが使用可能な計算リソースです。 |
| MEMORY | メモリ。テナントが使用可能な総メモリです。 |
| MEMSTORE | 業務データメモリ。テナントが使用可能な業務データメモリです。 |
関連ビュー
OceanBaseデータベースは、テナントとリソース情報に関連するビューを提供しており、システムテナントoceanbaseデータベースでこれらのビューを通じて関連情報を照会できます。
DBA_OB_UNIT_CONFIGS:リソース構成ID、名前、リソース設定など、すべてのリソース仕様情報を表示します。DBA_OB_RESOURCE_POOLS:リソースプールID、名前、紐づけテナント、Zoneリストなど、すべてのリソースプール情報を表示します。DBA_OB_TENANTS:テナントID、名前、タイプ、リソースなど、すべてのテナントの設定情報を表示します。GV$OB_UNITS:ノードのUnit情報を表示します。ノードIP、ポート、リソース構成ID、テナントID、リソース設定などが含まれます。GV$OB_SERVERS:ノードのリソース割り当て情報を表示します。ノードIP、ポート、所属Zone、リソース使用状況などが含まれます。GV$OB_TENANT_RESOURCE_LIMIT:各Unit上のテナントの論理リソース使用量、上限値、有効な制限条件、ダウン後再起動時の最大使用量を表示します。GV$OB_TENANT_RESOURCE_LIMIT.Detail:テナントの論理リソースが受ける制限と、各制限の上限値を表示します。
すべてのリソース構成情報を表示する
DBA_OB_UNIT_CONFIGS ビューを使用すると、すべてのリソース構成情報を確認できます。例:
クエリ結果の2行目のデータを例にすると、リソース構成名(UNIT_CONFIG_ID)は config_mysql001_zone1_S1_okz、リソース構成ID(UNIT_CONFIG_ID)は1001、作成日時(CREATE_TIME)は 2022-12-20 18:04:31、CPU構成上限(MAX_CPU)は1.5C、メモリ構成(MEMORY_SIZE)は6G、ログディスク容量(LOG_DISK_SIZE)は18Gです。
obclient(root@sys)[oceanbase]> SELECT * FROM DBA_OB_UNIT_CONFIGS;
クエリ結果は次のとおりです:
+----------------+-------------------------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+---------------------+----------------------+
| UNIT_CONFIG_ID | NAME | CREATE_TIME | MODIFY_TIME | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | MAX_NET_BANDWIDTH | NET_BANDWIDTH_WEIGHT |
+----------------+-------------------------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+---------------------+----------------------+
| 1 | sys_unit_config | 2022-12-20 17:50:17.035504 | 2022-12-20 17:50:17.035504 | 1 | 1 | 14495514624 | 14495514624 | 10000 | 10000 | 1 | 9223372036854775807 | 4 |
| 1001 | config_mysql001_zone1_S1_okz | 2022-12-20 18:04:31.547715 | 2022-12-20 18:04:31.547715 | 1.5 | 1.5 | 6442450944 | 19327352832 | 15000 | 15000 | 1 | 9223372036854775807 | 2 |
| 1002 | config_mysql001_zone2_S1_pme | 2022-12-20 18:04:31.561335 | 2022-12-20 18:04:31.561335 | 1.5 | 1.5 | 6442450944 | 19327352832 | 15000 | 15000 | 1 | 9223372036854775807 | 2 |
| 1003 | config_mysql001_zone3_S1_jsu | 2022-12-20 18:04:31.564510 | 2022-12-20 18:04:31.564510 | 1.5 | 1.5 | 6442450944 | 19327352832 | 15000 | 15000 | 1 | 9223372036854775807 | 2 |
| 1013 | config_oracle001_zone3_S1_exu | 2022-12-26 18:28:37.969047 | 2022-12-26 18:28:37.969047 | 1.5 | 1.5 | 6442450944 | 19327352832 | 15000 | 15000 | 1 | 9223372036854775807 | 2 |
| 1014 | config_oracle001_zone2_S1_hli | 2022-12-26 18:28:37.972194 | 2022-12-26 18:28:37.972194 | 1.5 | 1.5 | 6442450944 | 19327352832 | 15000 | 15000 | 1 | 9223372036854775807 | 2 |
| 1015 | config_oracle001_zone1_S1_owy | 2022-12-26 18:28:37.976446 | 2022-12-26 18:28:37.976446 | 1.5 | 1.5 | 6442450944 | 19327352832 | 15000 | 15000 | 1 | 9223372036854775807 | 2 |
+----------------+-------------------------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+---------------------+----------------------+
7 rows in set
DBA_OB_UNIT_CONFIGS ビューのパラメータの詳細説明については、DBA_OB_UNIT_CONFIGSを参照してください。
すべてのリソースプール情報を表示する
DBA_OB_RESOURCE_POOLS ビューを使用すると、すべてのリソースプール情報を確認できます。例:
クエリ結果の2行目のデータを例にすると、リソースプール(RESOURCE_POOL_ID)の名前は pool_mysql001_zone3_jsu、リソースプールのID(RESOURCE_POOL_ID)は1001、所属するテナントID(TENANT_ID)は1002、使用するリソース構成ID(UNIT_CONFIG_ID)は1003、リソースプールのユニット数(UNIT_COUNT)は1、使用するゾーンリスト(ZONE_LIST)はzone3です。
obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;
クエリ結果は次のとおりです:
+------------------+--------------------------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+
| RESOURCE_POOL_ID | NAME | TENANT_ID | CREATE_TIME | MODIFY_TIME | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE |
+------------------+--------------------------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+
| 1 | sys_pool | 1 | 2022-12-20 17:50:17.038641 | 2022-12-20 17:50:17.045453 | 1 | 1 | zone1;zone2;zone3 | FULL |
| 1001 | pool_mysql001_zone3_jsu | 1002 | 2022-12-20 18:04:31.607227 | 2022-12-20 18:04:31.692836 | 1 | 1003 | zone3 | FULL |
| 1002 | pool_mysql001_zone1_okz | 1002 | 2022-12-20 18:04:31.617087 | 2022-12-20 18:04:31.691827 | 1 | 1001 | zone1 | FULL |
| 1003 | pool_mysql001_zone2_pme | 1002 | 2022-12-20 18:04:31.621327 | 2022-12-20 18:04:31.692836 | 1 | 1002 | zone2 | FULL |
| 1013 | pool_oracle001_zone3_exu | 1010 | 2022-12-26 18:28:37.979539 | 2022-12-26 18:28:38.059505 | 1 | 1013 | zone3 | FULL |
| 1014 | pool_oracle001_zone1_owy | 1010 | 2022-12-26 18:28:37.988964 | 2022-12-26 18:28:38.058440 | 1 | 1015 | zone1 | FULL |
| 1015 | pool_oracle001_zone2_hli | 1010 | 2022-12-26 18:28:37.994241 | 2022-12-26 18:28:38.059505 | 1 | 1014 | zone2 | FULL |
+------------------+--------------------------+-----------+----------------------------+----------------------------+------------+----------------+-------------------+--------------+
7 rows in set
DBA_OB_RESOURCE_POOLS ビューのパラメータの詳細説明については、DBA_OB_RESOURCE_POOLSを参照してください。
すべてのテナント情報の確認
DBA_OB_TENANTS ビューを使用すると、すべてのテナント情報を確認できます。例:
クエリ結果の3行目のデータを例にすると、テナント名(TENANT_NAME)はmysql001、テナントID(TENANT_ID)は1002、テナントタイプ(TENANT_TYPE)はユーザーテナント、テナント作成日時(CREATE_TIME)は 2025-12-29 15:44:48.704354、テナントの PRIMARY_ZONE(PRIMARY_ZONE)は zone1(高優先順位)と zone2、テナントレプリカの配置(LOCALITY)はzone1、zone2、zone3にあり、互換モード(COMPATIBILITY_MODE)はMySQLです。
obclient(root@sys)[oceanbase]> SELECT TENANT_ID, TENANT_NAME, TENANT_TYPE, CREATE_TIME, PRIMARY_ZONE, LOCALITY, COMPATIBILITY_MODE, STATUS FROM oceanbase.DBA_OB_TENANTS;
クエリ結果は次のとおりです。
+-----------+-------------+-------------+----------------------------+--------------+----------------------------------------------+--------------------+--------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME | PRIMARY_ZONE | LOCALITY | COMPATIBILITY_MODE | STATUS |
+-----------+-------------+-------------+----------------------------+--------------+----------------------------------------------+--------------------+--------+
| 1 | sys | SYS | 2025-12-29 15:43:42.930290 | RANDOM | FULL{1}@zone1 | MYSQL | NORMAL |
| 1001 | META$1002 | META | 2025-12-29 15:44:48.700796 | zone1;zone2 | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 | MYSQL | NORMAL |
| 1002 | mysql001 | USER | 2025-12-29 15:44:48.704354 | zone1;zone2 | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 | MYSQL | NORMAL |
| 1003 | META$1004 | META | 2025-12-29 15:50:35.033311 | zone1 | FULL{1}@zone1 | MYSQL | NORMAL |
| 1004 | oracle001 | USER | 2025-12-29 15:50:35.034367 | zone1 | FULL{1}@zone1 | ORACLE | NORMAL |
+-----------+-------------+-------------+----------------------------+--------------+----------------------------------------------+--------------------+--------+
5 rows in set
DBA_OB_TENANTS ビューのパラメータの詳細説明については、DBA_OB_TENANTSを参照してください。
テナントリソース構成の確認
以下のステートメントを使用して、複数のビューでテナントのリソース構成情報を検索します。
クエリ結果のmysql001テナントを例にすると、pool:conf列からはそのテナントの3つのリソースプール名と使用されているリソース仕様名を確認できます。unit_info列からは、リソースプールのUnit数が1、対応するCPU構成が1.5C、メモリ構成がすべて6Gであることがわかります。
obclient(root@sys)[oceanbase]>SELECT c.TENANT_ID, e.TENANT_NAME, concat(c.NAME, ': ', d.NAME) `pool:conf`,concat(c.UNIT_COUNT, ' unit: ', d.min_cpu, 'C/', ROUND(d.MEMORY_SIZE/1024/1024/1024,0), "G") unit_info
FROM DBA_OB_RESOURCE_POOLS c, DBA_OB_UNIT_CONFIGS d, DBA_OB_TENANTS e
WHERE c.UNIT_CONFIG_ID=d.UNIT_CONFIG_ID AND c.TENANT_ID=e.TENANT_ID AND c.TENANT_ID>1000
ORDER BY c.TENANT_ID;
実行結果は次のとおりです:
+-----------+-------------+---------------------------------------------------------+-----------------+
| TENANT_ID | TENANT_NAME | pool:conf | unit_info |
+-----------+-------------+---------------------------------------------------------+-----------------+
| 1002 | mysql001 | pool_mysql001_zone1_okz: config_mysql001_zone1_S1_okz | 1 unit: 1.5C/6G |
| 1002 | mysql001 | pool_mysql001_zone2_pme: config_mysql001_zone2_S1_pme | 1 unit: 1.5C/6G |
| 1002 | mysql001 | pool_mysql001_zone3_jsu: config_mysql001_zone3_S1_jsu | 1 unit: 1.5C/6G |
| 1010 | oracle001 | pool_oracle001_zone3_exu: config_oracle001_zone3_S1_exu | 1 unit: 1.5C/6G |
| 1010 | oracle001 | pool_oracle001_zone2_hli: config_oracle001_zone2_S1_hli | 1 unit: 1.5C/6G |
| 1010 | oracle001 | pool_oracle001_zone1_owy: config_oracle001_zone1_S1_owy | 1 unit: 1.5C/6G |
+-----------+-------------+---------------------------------------------------------+-----------------+
6 rows in set
テナントのリソースユニットのデプロイメント場所を確認する
以下のステートメントを使用して、現在作成されているテナントのリソースユニットが配置されているデバイスのIPアドレス情報を確認します。
クエリ結果では、各テナントに対応するIDとリソースが配置されているノードのIPアドレスが表示されます。
obclient(root@sys)[oceanbase]> SELECT a.TENANT_NAME,a.TENANT_ID,b.SVR_IP FROM DBA_OB_TENANTS a,GV$OB_UNITS b WHERE a.TENANT_ID=b.TENANT_ID;
クエリ結果は次のとおりです:
+-------------+-----------+----------------+
| TENANT_NAME | TENANT_ID | SVR_IP |
+-------------+-----------+----------------+
| sys | 1 | xx.xx.xx.237 |
| META$1002 | 1001 | xx.xx.xx.237 |
| mysql001 | 1002 | xx.xx.xx.237 |
| META$1010 | 1009 | xx.xx.xx.237 |
| oracle001 | 1010 | xx.xx.xx.237 |
| sys | 1 | xx.xx.xx.238 |
| META$1002 | 1001 | xx.xx.xx.238 |
| mysql001 | 1002 | xx.xx.xx.238 |
| META$1010 | 1009 | xx.xx.xx.238 |
| oracle001 | 1010 | xx.xx.xx.238 |
| sys | 1 | xx.xx.xx.218 |
| META$1002 | 1001 | xx.xx.xx.218 |
| mysql001 | 1002 | xx.xx.xx.218 |
| META$1010 | 1009 | xx.xx.xx.218 |
| oracle001 | 1010 | xx.xx.xx.218 |
+-------------+-----------+----------------+
15 rows in set
ノードのUnit情報を確認する
GV$OB_UNITS ビューを使用すると、すべてのノードのUnit情報を確認できます。例:
- クエリ結果の3行目を例にすると、ノードIP(SVR_IP)は
xx.xx.xx.218、サーバーポート番号(SVR_PORT)は2882、unit ID(UNIT_ID)は1001、テナントID(TENANT_ID)は1002、対応するZone名(ZONE)はzone3、CPUスペックの上限(MAX_CPU)は1.5C、メモリサイズ(MEMORY_SIZE)は5G、ログディスクサイズ(LOG_DISK_SIZE)は16G、ログディスク使用量(LOG_DISK_IN_USE)は1.07G、データディスク使用量(DATA_DISK_IN_USE)は572M、unit状態(STATUS)は正常です。 - SVR_IPがすべてxx.xx.xx.218の5行をまとめて見ると、このノードには5つのunitがあり、それぞれTENANT_IDが1、1001、1002、1009、1010のテナントに属していることを示します。
- TENANT_IDが1002の3行をまとめて見ると、このテナントが3つのノードにそれぞれ1つのunitを持っており、UNIT_IDは1001、1002、1003であることを示します。
obclient(root@sys)[oceanbase]> SELECT * FROM GV$OB_UNITS;
クエリ結果は次のとおりです:
+----------------+----------+---------+-----------+-------+-----------+----------------+---------+---------+-------------+----------+----------+-------------+---------------+-----------------+------------------+--------+----------------------------+--------------+
| SVR_IP | SVR_PORT | UNIT_ID | TENANT_ID | ZONE | ZONE_TYPE | REGION | MAX_CPU | MIN_CPU | MEMORY_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | LOG_DISK_SIZE | LOG_DISK_IN_USE | DATA_DISK_IN_USE | STATUS | CREATE_TIME | REPLICA_TYPE |
+----------------+----------+---------+-----------+-------+-----------+----------------+---------+---------+-------------+----------+----------+-------------+---------------+-----------------+------------------+--------+----------------------------+--------------+
| xx.xx.xx.218 | 2882 | 3 | 1 | zone3 | ReadWrite | default_region | 1 | 1 | 14495514624 | 10000 | 10000 | 1 | 14495514624 | 11566462821 | 6069157888 | NORMAL | 2022-12-20 17:49:25.705363 | FULL |
| xx.xx.xx.218 | 2882 | 1001 | 1001 | zone3 | ReadWrite | default_region | NULL | NULL | 1073741824 | NULL | NULL | NULL | 1932735283 | 1520602567 | 7325351936 | NORMAL | 2022-12-20 18:04:31.693819 | FULL |
| xx.xx.xx.218 | 2882 | 1001 | 1002 | zone3 | ReadWrite | default_region | 1.5 | 1.5 | 5368709120 | 15000 | 15000 | 1 | 17394617549 | 1154755905 | 599785472 | NORMAL | 2022-12-20 18:04:31.693819 | FULL |
| xx.xx.xx.218 | 2882 | 1013 | 1009 | zone3 | ReadWrite | default_region | NULL | NULL | 1073741824 | NULL | NULL | NULL | 1932735283 | 1495227415 | 5368709120 | NORMAL | 2022-12-26 18:28:38.060661 | FULL |
| xx.xx.xx.218 | 2882 | 1013 | 1010 | zone3 | ReadWrite | default_region | 1.5 | 1.5 | 5368709120 | 15000 | 15000 | 1 | 17394617549 | 3532346784 | 681574400 | NORMAL | 2022-12-26 18:28:38.060661 | FULL |
| xx.xx.xx.237 | 2882 | 1 | 1 | zone1 | ReadWrite | default_region | 1 | 1 | 14495514624 | 10000 | 10000 | 1 | 14495514624 | 11566525317 | 6071255040 | NORMAL | 2022-12-20 17:49:25.705315 | FULL |
| xx.xx.xx.237 | 2882 | 1002 | 1001 | zone1 | ReadWrite | default_region | NULL | NULL | 1073741824 | NULL | NULL | NULL | 1932735283 | 1520680069 | 7325351936 | NORMAL | 2022-12-20 18:04:31.692599 | FULL |
| xx.xx.xx.237 | 2882 | 1002 | 1002 | zone1 | ReadWrite | default_region | 1.5 | 1.5 | 5368709120 | 15000 | 15000 | 1 | 17394617549 | 4845753295 | 595591168 | NORMAL | 2022-12-20 18:04:31.692599 | FULL |
| xx.xx.xx.237 | 2882 | 1014 | 1009 | zone1 | ReadWrite | default_region | NULL | NULL | 1073741824 | NULL | NULL | NULL | 1932735283 | 1495304058 | 5391777792 | NORMAL | 2022-12-26 18:28:38.059317 | FULL |
| xx.xx.xx.237 | 2882 | 1014 | 1010 | zone1 | ReadWrite | default_region | 1.5 | 1.5 | 5368709120 | 15000 | 15000 | 1 | 17394617549 | 3532357328 | 681574400 | NORMAL | 2022-12-26 18:28:38.059317 | FULL |
| xx.xx.xx.238 | 2882 | 2 | 1 | zone2 | ReadWrite | default_region | 1 | 1 | 14495514624 | 10000 | 10000 | 1 | 14495514624 | 11566567057 | 5947523072 | NORMAL | 2022-12-20 17:49:25.705354 | FULL |
| xx.xx.xx.238 | 2882 | 1003 | 1001 | zone2 | ReadWrite | default_region | NULL | NULL | 1073741824 | NULL | NULL | NULL | 1932735283 | 1520720157 | 7337934848 | NORMAL | 2022-12-20 18:04:31.693277 | FULL |
| xx.xx.xx.238 | 2882 | 1003 | 1002 | zone2 | ReadWrite | default_region | 1.5 | 1.5 | 5368709120 | 15000 | 15000 | 1 | 17394617549 | 4845759221 | 591396864 | NORMAL | 2022-12-20 18:04:31.693277 | FULL |
| xx.xx.xx.238 | 2882 | 1015 | 1009 | zone2 | ReadWrite | default_region | NULL | NULL | 1073741824 | NULL | NULL | NULL | 1932735283 | 1495346552 | 5364514816 | NORMAL | 2022-12-26 18:28:38.060042 | FULL |
| xx.xx.xx.238 | 2882 | 1015 | 1010 | zone2 | ReadWrite | default_region | 1.5 | 1.5 | 5368709120 | 15000 | 15000 | 1 | 17394617549 | 3532362696 | 681574400 | NORMAL | 2022-12-26 18:28:38.060042 | FULL |
+----------------+----------+---------+-----------+-------+-----------+----------------+---------+---------+-------------+----------+----------+-------------+---------------+-----------------+------------------+--------+----------------------------+--------------+
15 rows in set
GV$OB_UNITS ビューのパラメータの詳細説明については、GV$OB_UNITSを参照してください。
ノードのリソース割り当て情報の確認
GV$OB_SERVERS ビューを使用すると、OBServerの情報を確認できます。例:
クエリ結果の最初の行データを例にすると、ノードIP(SVR_IP)は xx.xx.xx.238、サーバーポート番号(SVR_PORT)は2882、対応するゾーン名(zone)はzone2、SQLポート(SQL_PORT)は2881、observerプロセスが利用可能なCPU数(CPU_CAPACITY)は64C、observerプロセスが利用可能なメモリ(MEM_CAPACITY)は54G、割り当て済みメモリ(MEM_ASSIGNED)は27.5G、ログディスクの総容量(LOG_DISK_CAPACITY)は167.25G、割り当て済みログディスク容量(LOG_DISK_ASSIGNED)は55G、ログディスク使用量(LOG_DISK_IN_USE)は22G、データディスク容量(DATA_DISK_CAPACITY)は167.25G、データディスク使用量(DATA_DISK_IN_USE)は18.89Gです。
obclient(root@sys)[oceanbase]> SELECT * FROM GV$OB_SERVERS;
クエリ結果は次のとおりです:
+----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+----------------------------------+-----------------------------+
| SVR_IP | SVR_PORT | ZONE | SQL_PORT | CPU_CAPACITY | CPU_CAPACITY_MAX | CPU_ASSIGNED | CPU_ASSIGNED_MAX | MEM_CAPACITY | MEM_ASSIGNED | LOG_DISK_CAPACITY | LOG_DISK_ASSIGNED | LOG_DISK_IN_USE | DATA_DISK_CAPACITY | DATA_DISK_IN_USE | DATA_DISK_HEALTH_STATUS | MEMORY_LIMIT | DATA_DISK_ABNORMAL_TIME | SSL_CERT_EXPIRED_TIME | SS_DATA_DISK_OPERATION_SUGGESTED | SS_DATA_DISK_SIZE_SUGGESTED |
+----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+----------------------------------+-----------------------------+
| xx.xx.xx.238 | 2882 | zone2 | 2881 | 64 | 64 | 5 | 5 | 57982058496 | 29527900160 | 179583320064 | 59592671232 | 23622320128 | 179593805824 | 20283654144 | NORMAL | 68719476736 | NULL | NULL | NULL | NULL |
| xx.xx.xx.237 | 2882 | zone1 | 2881 | 64 | 64 | 5 | 5 | 32212254720 | 29527900160 | 179583320064 | 59592671232 | 23622320128 | 179593805824 | 20443037696 | NORMAL | 85899345920 | NULL | NULL | NULL | NULL |
| xx.xx.xx.218 | 2882 | zone3 | 2881 | 64 | 64 | 4 | 4 | 57982058496 | 27380416512 | 179583320064 | 53150220288 | 19528679424 | 179593805824 | 20044578816 | NORMAL | 68719476736 | NULL | NULL | NULL | NULL |
+----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+----------------------------------+-----------------------------+
3 rows in set
GV$OB_SERVERS ビューのパラメータの詳細説明については、GV$OB_SERVERSを参照してください。
テナントの各リソースグループのリアルタイムI/O統計情報を確認する
sysテナントはGV$OB_GROUP_IO_STATビューを通じて、すべてのOBServerノード上の各リソースグループのリアルタイムIOPSと帯域幅統計情報をリアルタイムで確認できます。例:
obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.GV$OB_GROUP_IO_STAT WHERE TENANT_ID=1002 LIMIT 5;
クエリ結果は次のとおりです:
+-----------+----------------+----------+----------+-------------------+-------+----------+----------+-----------+-----------+-------------------+---------------------------+--------------------+----------------------------+
| TENANT_ID | SVR_IP | SVR_PORT | GROUP_ID | GROUP_NAME | MODE | MIN_IOPS | MAX_IOPS | NORM_IOPS | REAL_IOPS | MAX_NET_BANDWIDTH | MAX_NET_BANDWIDTH_DISPLAY | REAL_NET_BANDWIDTH | REAL_NET_BANDWIDTH_DISPLAY |
+-----------+----------------+----------+----------+-------------------+-------+----------+----------+-----------+-----------+-------------------+---------------------------+--------------------+----------------------------+
| 1002 | 172.xx.xxx.198 | 2882 | 0 | OTHER_GROUP | READ | 307 | 20000 | 0 | 0 | 50000000 | 47.684MB/s | 0 | 0B/s |
| 1002 | 172.xx.xxx.198 | 2882 | 0 | OTHER_GROUP | WRITE | 307 | 20000 | 0 | 0 | 50000000 | 47.684MB/s | 0 | 0B/s |
| 1002 | 172.xx.xxx.198 | 2882 | 10000 | interactive_group | READ | 307 | 18000 | 0 | 0 | 50000000 | 47.684MB/s | 0 | 0B/s |
| 1002 | 172.xx.xxx.198 | 2882 | 10000 | interactive_group | WRITE | 307 | 18000 | 0 | 0 | 50000000 | 47.684MB/s | 0 | 0B/s |
| 1002 | 172.xx.xxx.198 | 2882 | 10001 | batch_group | READ | 409 | 16000 | 0 | 0 | 50000000 | 47.684MB/s | 0 | 0B/s |
+-----------+----------------+----------+----------+-------------------+-------+----------+----------+-----------+-----------+-------------------+---------------------------+--------------------+----------------------------+
5 rows in set
クエリ結果において、OTHER_GROUPはシステム組み込みのリソースグループであり、interactive_groupとbatch_groupはカスタムリソースグループです。リソース管理計画の内容を設定する際、リソースグループがバインドされていない場合、デフォルトでシステム組み込みのリソースグループOTHER_GROUPが使用されます。
3行目の結果から、テナント1002が172.xx.xxx.198ノード上のリソースグループinteractive_groupで読み取り操作の最小IOPSが307、最大IOPSが1800、現在の実際のIOPSが0であることがわかります。設定された最大ネットワーク帯域幅は47.684MB/s、現在のネットワーク帯域幅は0B/sです。
テナントのFunctionレベルのバックグラウンドタスクのリアルタイムIO統計情報を表示する
sysテナントはGV$OB_FUNCTION_IO_STATビューを使用して、すべてのOBServerノード上のFunctionレベルのIO統計情報をリアルタイムで確認できます。例:
obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.GV$OB_FUNCTION_IO_STAT WHERE TENANT_ID=1002 LIMIT 5;
クエリ結果は次のとおりです:
+----------------+----------+-----------+------------------+--------------+------+-----------+-----------+-------------+-------------+----------+
| SVR_IP | SVR_PORT | TENANT_ID | FUNCTION_NAME | MODE | SIZE | REAL_IOPS | REAL_MBPS | SCHEDULE_US | IO_DELAY_US | TOTAL_US |
+----------------+----------+-----------+------------------+--------------+------+-----------+-----------+-------------+-------------+----------+
| 172.xx.xxx.198 | 2882 | 1002 | DEFAULT_FUNCTION | LOCAL READ | 0 | 0 | 0 | 0 | 0 | 0 |
| 172.xx.xxx.198 | 2882 | 1002 | DEFAULT_FUNCTION | LOCAL WRITE | 4096 | 2 | 0 | 20 | 142 | 178 |
| 172.xx.xxx.198 | 2882 | 1002 | DEFAULT_FUNCTION | REMOTE READ | 0 | 0 | 0 | 20 | 142 | 178 |
| 172.xx.xxx.198 | 2882 | 1002 | DEFAULT_FUNCTION | REMOTE WRITE | 0 | 0 | 0 | 20 | 142 | 178 |
| 172.xx.xxx.198 | 2882 | 1002 | COMPACTION_HIGH | LOCAL READ | 0 | 0 | 0 | 20 | 142 | 178 |
+----------------+----------+-----------+------------------+--------------+------+-----------+-----------+-------------+-------------+----------+
5 rows in set
クエリ結果において、COMPACTION_HIGHは定義済みのMini MergeやDDL KV Mergeなどのタスクを指し、DEFAULT_FUNCTIONはこれら以外のすべてのバックグラウンドタスクを指します。
5行目の結果から、テナント1002が172.xx.xxx.198ノード上で実行したMini MergeやDDL KV Mergeなどのタスク(COMPACTION_HIGH)のローカル読み取りにおける平均IOサイズ(SIZE)は0、実際のIOPS(REAL_IOPS)は0、実際に使用された帯域幅(REAL_MBPS)は0MB/s、IOスケジューリングの平均消費時間(SCHEDULE_US)は20μs、ディスクIOの平均実行時間(IO_DELAY_US)は142μs、IOの総平均実行時間(TOTAL_US)は178μsであることがわかります。
テナントの論理リソース使用状況と制限の確認
sysテナントはGV$OB_TENANT_RESOURCE_LIMITビューを使用して、各Unitにおけるテナントの論理リソース使用状況を確認できます。例:
obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.GV$OB_TENANT_RESOURCE_LIMIT WHERE TENANT_ID=1004;
クエリ結果は次のとおりです:
+----------------+----------+-----------+-------+---------------+---------------------+-----------------+----------------+-------------+----------------------+
| SVR_IP | SVR_PORT | TENANT_ID | ZONE | RESOURCE_NAME | CURRENT_UTILIZATION | MAX_UTILIZATION | RESERVED_VALUE | LIMIT_VALUE | EFFECTIVE_LIMIT_TYPE |
+----------------+----------+-----------+-------+---------------+---------------------+-----------------+----------------+-------------+----------------------+
| 172.xx.xxx.xxx | 2882 | 1004 | zone1 | ls | 2 | 2 | 0 | 13 | memory |
| 172.xx.xxx.xxx | 2882 | 1004 | zone1 | tablet | 656 | 656 | 0 | 100000 | configuration |
+----------------+----------+-----------+-------+---------------+---------------------+-----------------+----------------+-------------+----------------------+
2 rows in set
最初の行の結果から、テナント1004は172.xx.xxx.xxx:2882ノード上で、現在2つのログストリーム(CURRENT_UTILIZATION)を使用しており、同時に存在したことのあるログストリームの最大数は2(MAX_UTILIZATION)で、作成可能なログストリームの最大数は13(LIMIT_VALUE)であることがわかります。この13個のログストリームの上限値は、テナントメモリ(memory)に基づいて計算されます。
2番目の行の結果から、テナント1004は172.xx.xxx.xxx:2882ノード上で、現在656個のTABLET(CURRENT_UTILIZATION)を使用しており、同時に存在したことのあるTABLETの最大数は656(MAX_UTILIZATION)で、作成可能なTABLETの最大数は100000(LIMIT_VALUE)であることがわかります。この100000個のTABLETの上限値は、テナントメモリ(configuration)に基づいて計算されます。
テナントが各ノード上で作成できる論理リソースは、さまざまな物理リソースやパラメータ値によって制限されるため、ビューGV$OB_TENANT_RESOURCE_LIMIT_DETAILを使用して、テナントの論理リソースが具体的にどのような制限を受けているか、および各制限の上限値を詳しく確認できます。
obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.GV$OB_TENANT_RESOURCE_LIMIT_DETAIL WHERE TENANT_ID=1004;
クエリ結果は次のとおりです:
+----------------+----------+-----------+---------------+---------------+---------------------+
| SVR_IP | SVR_PORT | TENANT_ID | RESOURCE_NAME | LIMIT_TYPE | LIMIT_VALUE |
+----------------+----------+-----------+---------------+---------------+---------------------+
| 172.xx.xxx.xxx | 2882 | 1004 | ls | configuration | 90 |
| 172.xx.xxx.xxx | 2882 | 1004 | ls | memstore | 9223372036854775807 |
| 172.xx.xxx.xxx | 2882 | 1004 | ls | memory | 13 |
| 172.xx.xxx.xxx | 2882 | 1004 | ls | data_disk | 9223372036854775807 |
| 172.xx.xxx.xxx | 2882 | 1004 | ls | clog_disk | 32 |
| 172.xx.xxx.xxx | 2882 | 1004 | ls | cpu | 9223372036854775807 |
| 172.xx.xxx.xxx | 2882 | 1004 | tablet | configuration | 100000 |
| 172.xx.xxx.xxx | 2882 | 1004 | tablet | memstore | 9223372036854775807 |
| 172.xx.xxx.xxx | 2882 | 1004 | tablet | memory | 102400 |
| 172.xx.xxx.xxx | 2882 | 1004 | tablet | data_disk | 9223372036854775807 |
| 172.xx.xxx.xxx | 2882 | 1004 | tablet | clog_disk | 9223372036854775807 |
| 172.xx.xxx.xxx | 2882 | 1004 | tablet | cpu | 9223372036854775807 |
+----------------+----------+-----------+---------------+---------------+---------------------+
12 rows in set
クエリ結果から、テナント1004が172.xx.xxx.xxx:2882ノード上でログストリームの作成数に制限を受ける要因は以下のとおりです(9223372036854775807は無制限を表します):
パラメータ(
configuration)により、作成可能な数は90に制限されます。テナントメモリ(
memory)により、作成可能な数は13に制限されます。ログディスク(
clog_disk)により、作成可能な数は32に制限されます。