本記事では、ビューを使用してテナントおよびリソースの関連情報を確認する方法について説明します。
テナントのリソース
データベースのリソースは、論理リソースと物理リソースの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 | トランザクション参加者。トランザクションが特定のログストリームのデータを変更すると、そのログストリームはトランザクションの参加者となり、参加者データ構造が生成されます。アクティブなトランザクションの参加者はアクティブ参加者と呼ばれ、1つのノード上でのアクティブ参加者数の上限は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行目のデータを例にすると、リソース仕様名(NAME)は 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行目のデータを例にすると、リソースプール名(NAME)は 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 列では、リソースプールのユニット数が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名(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レベルのバックグラウンドタスクのリアルタイムI/O統計情報の確認
sysテナントは GV$OB_FUNCTION_IO_STAT ビューを通じて、すべてのOBServerノード上のFunctionレベルのI/O統計情報をリアルタイムで確認できます。例:
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)のローカル読み取りの平均I/O(SIZE)サイズは0、実際のIOPS(REAL_IOPS)は0、実際に使用されている帯域幅(REAL_MBPS)は0MB/S、I/Oスケジューリングの平均消費時間(SCHEDULE_US)は20us、ディスクI/Oの平均実行時間(IO_DELAY_US)は142us、I/Oの総平均実行時間(TOTAL_US)は178usであることがわかります。
テナントの論理リソース使用状況と制限の確認
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
1行目の結果から、テナント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)を使用しており、一度に最大656個のTABLET(MAX_UTILIZATION)を同時に使用したことがあり、最大で100000個のTABLET(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に制限されます。