テーブルグループを作成した後、その情報を確認できます。これには、テーブルグループのプロパティ、テーブルグループ内のテーブル、テーブルグループの作成日時、およびテーブルグループ内のテーブルのLocation情報が含まれます。
テーブルグループのSHARDINGプロパティの確認
ビューによるテーブルグループ属性とテーブルのパーティション情報の確認
システムテナントとMySQLユーザーテナントは、それぞれビューCDB_OB_TABLEGROUPSとビューDBA_OB_TABLEGROUPSを使用して、テーブルグループ属性およびテーブルグループ内のテーブルのパーティション情報を確認できます。ステートメントは以下のとおりです。
システムテナント
obclient> SELECT * FROM oceanbase.CDB_OB_TABLEGROUPS WHERE tablegroup_name = 'tblgroup1';クエリ結果は次のとおりです:
+-----------+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+ | TENANT_ID | TABLEGROUP_NAME | PARTITIONING_TYPE | SUBPARTITIONING_TYPE | PARTITION_COUNT | DEF_SUBPARTITION_COUNT | PARTITIONING_KEY_COUNT | SUBPARTITIONING_KEY_COUNT | SHARDING | SCOPE | +-----------+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+ | 1002 | tblgroup1 | NONE | NONE | NULL | NULL | NULL | NULL | NONE | ZONE | +-----------+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+ 1 row in setMySQLユーザーテナント
obclient> SELECT * FROM oceanbase.DBA_OB_TABLEGROUPS WHERE tablegroup_name = 'tblgroup1';クエリ結果は次のとおりです:
+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+ | TABLEGROUP_NAME | PARTITIONING_TYPE | SUBPARTITIONING_TYPE | PARTITION_COUNT | DEF_SUBPARTITION_COUNT | PARTITIONING_KEY_COUNT | SUBPARTITIONING_KEY_COUNT | SHARDING | SCOPE | +-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+ | tblgroup1 | NONE | NONE | NULL | NULL | NULL | NULL | NONE | ZONE | +-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+ 1 row in set
クエリ結果の各フィールドの説明は以下のとおりです:
TENANT_ID:テーブルグループが属するテナント名。TABLEGROUP_NAME:テーブルグループ名。PARTITIONING_TYPE、SUBPARTITIONING_TYPE、PARTITION_COUNT、DEF_SUBPARTITION_COUNT、PARTITIONING_KEY_COUNT、SUBPARTITIONING_KEY_COUNT:V3.xバージョンでパーティション定義を持つテーブルグループの属性。現在のバージョンではNONEまたはNULLと表示されます。SHARDING:テーブルグループのSHARDINGプロパティ。SHARDINGプロパティがNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約されており、テーブルグループへのテーブルの追加に制限はありません。SHARDINGプロパティがPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。加入要件:テーブルグループに加入するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDINGプロパティがADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:テーブルグループに加入するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SCOPE:テーブルグループのSCOPEプロパティ。説明
V4.4.2バージョンでは、ビュー
CDB_OB_TABLEGROUPSとビューDBA_OB_TABLEGROUPSはV4.4.2 BP1バージョンからSCOPEフィールドが導入されました。
SHOW TABLEGROUPSステートメントによるテーブルグループ属性とテーブルが属するデータベースの確認
システムテナントとMySQLユーザーテナントは、SHOW TABLEGROUPS ステートメントを使用して、テーブルグループ内のテーブルが属するデータベースおよびテーブルグループの属性を確認できます。
obclient> SHOW TABLEGROUPS WHERE tablegroup_name = 'tblgroup2';
実行結果は次のとおりです:
+-----------------+------------+---------------+----------+--------+
| Tablegroup_name | Table_name | Database_name | Sharding | Scope |
+-----------------+------------+---------------+----------+--------+
| tblgroup2 | test_tbl3 | test_db | NONE | SERVER |
| tblgroup2 | test_tbl4 | test_db | NONE | SERVER |
+-----------------+------------+---------------+----------+--------+
2 rows in set
クエリ結果の各フィールドの説明は以下のとおりです:
Tablegroup_name:テーブルグループ名。Table_name:テーブルグループ内のテーブル名。Database_name:テーブルグループ内のテーブルが属するデータベース。Sharding:テーブルグループのSHARDING属性。SHARDING属性がNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約されており、テーブルグループへのテーブルの追加に制限はありません。SHARDING属性がPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。加入要件:テーブルグループに加入するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDING属性がADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:テーブルグループに加入するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
Scope:テーブルグループのSCOPE属性。説明
V4.4.2バージョンでは、
SHOW TABLEGROUPSステートメントの実行結果に、V4.4.2 BP1バージョンからScopeフィールドが導入されました。
テーブルグループ内のテーブルの確認
システムテナントとMySQLユーザーテナントは、それぞれビュー CDB_OB_TABLEGROUP_TABLES とビュー DBA_OB_TABLEGROUP_TABLES を使用して、テーブルグループ内に存在するテーブルとその所属データベースを確認できます。ステートメントは以下のとおりです。
システムテナント
obclient> SELECT * FROM oceanbase.CDB_OB_TABLEGROUP_TABLES WHERE tablegroup_name = 'tblgroup2';クエリ結果は次のとおりです:
+-----------+-----------------+---------+------------+----------+--------+ | TENANT_ID | TABLEGROUP_NAME | OWNER | TABLE_NAME | SHARDING | SCOPE | +-----------+-----------------+---------+------------+----------+--------+ | 1002 | tblgroup2 | test_db | test_tbl3 | NONE | SERVER | | 1002 | tblgroup2 | test_db | test_tbl4 | NONE | SERVER | +-----------+-----------------+---------+------------+----------+--------+ 2 rows in setMySQLユーザーテナント
obclient> SELECT * FROM oceanbase.DBA_OB_TABLEGROUP_TABLES WHERE tablegroup_name = 'tblgroup2';クエリ結果は次のとおりです:
+-----------------+---------+------------+----------+--------+ | TABLEGROUP_NAME | OWNER | TABLE_NAME | SHARDING | SCOPE | +-----------------+---------+------------+----------+--------+ | tblgroup2 | test_db | test_tbl3 | NONE | SERVER | | tblgroup2 | test_db | test_tbl4 | NONE | SERVER | +-----------------+---------+------------+----------+--------+ 2 rows in set
クエリ結果の各フィールドの説明は以下のとおりです:
TENANT_ID:テーブルグループが属するテナント名。TABLEGROUP_NAME:テーブルグループ名。OWNER:テーブルグループ内のテーブルが属するデータベース。TABLE_NAME:テーブルグループ内のテーブル名。SHARDING:テーブルグループのSHARDINGプロパティ。SHARDINGプロパティがNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約されており、テーブルグループへのテーブルの追加に制限はありません。SHARDINGプロパティがPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。加入要件:テーブルグループに加入するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDINGプロパティがADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:テーブルグループに加入するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SCOPE:テーブルグループのSCOPEプロパティ。説明
V4.4.2バージョンでは、ビュー
CDB_OB_TABLEGROUP_TABLESとビューDBA_OB_TABLEGROUP_TABLESにSCOPEフィールドが導入されました(V4.4.2 BP1バージョン以降)。
テーブルグループの作成日時の確認
システムテナントとMySQLユーザーテナントは、それぞれビューCDB_OBJECTSとビューDBA_OBJECTSを使用して、テーブルグループの作成日時や直近のDDL操作などの情報を確認できます。
システムテナント
SELECT OBJECT_NAME,CREATED, LAST_DDL_TIME FROM oceanbase.CDB_OBJECTS WHERE object_name = 'tblgroup2';クエリ例:
+-------------+---------------------+---------------------+ | OBJECT_NAME | CREATED | LAST_DDL_TIME | +-------------+---------------------+---------------------+ | tblgroup1 | 2023-06-27 14:58:53 | 2023-06-27 15:15:54 | | TBLGROUP1 | 2023-06-27 15:25:30 | 2023-06-27 15:25:30 | +-------------+---------------------+---------------------+ 2 rows in setMySQLユーザーテナント
SELECT OBJECT_NAME,CREATED, LAST_DDL_TIME FROM oceanbase.DBA_OBJECTS WHERE object_name = 'tblgroup1';クエリ例:
+-------------+---------------------+---------------------+ | OBJECT_NAME | CREATED | LAST_DDL_TIME | +-------------+---------------------+---------------------+ | tblgroup1 | 2023-06-27 14:58:53 | 2023-06-27 15:15:54 | +-------------+---------------------+---------------------+ 1 row in set
クエリ結果の一部のフィールドについて説明します。
OBJECT_NAME:オブジェクト名、すなわち現在クエリしているテーブルグループ名です。CREATED:テーブルグループの作成日時です。LAST_DDL_TIME:最後にDDL操作が実行された時間です。
テーブルグループ内のテーブルのLocation情報を確認する
システムテナントとMySQLユーザーテナントは、ビューDBA_OB_TABLE_LOCATIONSを使用して、テーブルグループ内のテーブルのLocation情報を確認できます。これには、テーブルの各パーティション(PARTITION_NAME)に対応するシャーデット(TABLET_ID)、シャーデット(TABLET_ID)とログストリーム(LS_ID)のマッピング関係、およびログストリームレプリカの位置情報などが含まれます。
SELECT * FROM oceanbase.DBA_OB_TABLE_LOCATIONS WHERE tablegroup_name = 'tblgroup1';
クエリ結果は次のとおりです:
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
| DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE | SVR_IP | SVR_PORT | ROLE | REPLICA_TYPE | DUPLICATE_SCOPE | OBJECT_ID | TABLEGROUP_NAME | TABLEGROUP_ID | SHARDING |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
| test | tbl3 | 500089 | USER TABLE | p0 | mp0 | NULL | NULL | 200055 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500092 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp0 | NULL | NULL | 200055 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500092 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp1 | NULL | NULL | 200056 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500093 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp1 | NULL | NULL | 200056 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500093 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp2 | NULL | NULL | 200057 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500094 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p0 | mp2 | NULL | NULL | 200057 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500094 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp3 | NULL | NULL | 200058 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500095 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp3 | NULL | NULL | 200058 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500095 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp4 | NULL | NULL | 200059 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500096 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp4 | NULL | NULL | 200059 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500096 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp5 | NULL | NULL | 200060 | 1001 | zone1 | xx.xx.xx.197 | 2882 | LEADER | FULL | NONE | 500097 | tblgroup1 | 500083 | ADAPTIVE |
| test | tbl3 | 500089 | USER TABLE | p1 | mp5 | NULL | NULL | 200060 | 1001 | zone2 | xx.xx.xx.194 | 2882 | FOLLOWER | FULL | NONE | 500097 | tblgroup1 | 500083 | ADAPTIVE |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
12 rows in set
クエリ結果の各フィールドの説明は以下のとおりです:
DATABASE_NAME:テーブルグループ内のテーブルが属するデータベース名。TABLE_NAME:テーブルグループ内のテーブル名。TABLE_ID:テーブルグループ内のテーブルID。TABLE_TYPE:テーブルグループ内のテーブルタイプ。USER TABLE:ユーザーテーブルSYSTEM TABLE:システムテーブル、システムが作成したテーブルINDEX:インデックステーブルLOB AUX TABLE:LOB補助テーブル、システムが作成したテーブルで、LOB列の実装を補助するために使用される
PARTITION_NAME:パーティション名。非パーティションテーブルの場合はデフォルトでNULL。SUBPARTITION_NAME:サブパーティション名。NULLはサブパーティションが存在しないことを示します。INDEX_NAME:インデックステーブルの場合はインデックステーブル名を表示し、それ以外の場合はNULLを表示します。DATA_TABLE_ID:インデックステーブルまたはLOB補助テーブルの場合は、それらが属するメインテーブルのIDを示します。それ以外の場合はNULLを表示します。TABLET_ID:パーティションに対応するシャーデットID。LS_ID:テーブルグループ内のテーブルが配置されているログストリーム。ZONE:レプリカが配置されているゾーン。SVR_IP:レプリカが配置されているOBServerノードのIPアドレス。SVR_PORT:レプリカが配置されているOBServerノードのポート番号。ROLE:ログストリームレプリカのロール。REPLICA_TYPE:ログストリームレプリカタイプ。FULL:フル機能レプリカREADONLY:読み取り専用レプリカCOLUMNSTORE:カラムストアレプリカ
OBJECT_ID:テーブルグループ内のテーブルが非パーティションテーブルの場合はそのIDを、パーティションテーブルの場合は各パーティションのIDを示します。TABLEGROUP_NAME:クエリ対象のテーブルグループ名。TABLEGROUP_ID:クエリ対象のテーブルグループID。SHARDING:テーブルグループのSHARDINGプロパティ。SHARDINGプロパティがNONEのテーブルグループでは、グループ内のすべてのテーブルのすべてのパーティションが単一のマシンに集約されており、グループへのテーブル追加に制限はありません。SHARDINGプロパティがPARTITIONのテーブルグループでは、グループ内の各テーブルのデータはパーティション単位で分散されます。パーティションテーブルがサブパーティションテーブルの場合、各パーティションのサブパーティションはまとめられます。加入要件:グループへの加入を希望するテーブルの対応するパーティションは、グループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDINGプロパティがADAPTIVEのテーブルグループでは、グループ内の各テーブルのデータは適応型方式で分散されます。つまり、グループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:グループへの加入を希望するテーブルの対応するパーティションとサブパーティションは、グループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SCOPE:テーブルグループのSCOPEプロパティ。説明
V4.4.2バージョンでは、ビュー
DBA_OB_TABLE_LOCATIONSはV4.4.2 BP1バージョンからSCOPEフィールドが導入されました。