テーブルグループを作成した後、その情報を確認することができます。これには、テーブルグループのSHARDINGプロパティ、テーブルグループ内のテーブル、テーブルグループの作成時間、およびテーブルグループ内のテーブルのLocation情報が含まれます。
テーブルグループのSHARDINGプロパティを確認する
ビューを使用してテーブルグループのプロパティとテーブルのパーティション情報を確認する
Oracleユーザーテナントは、ビューDBA_OB_TABLEGROUPSを使用して、テーブルグループのSHARDINGプロパティおよびテーブルグループ内のテーブルのパーティション情報を確認できます。ステートメントは以下のとおりです。
SELECT * FROM SYS.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 |
+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+
| TBLGROUP1 | NONE | NONE | NULL | NULL | NULL | NULL | NONE |
+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+
1 row in set
クエリ結果の各フィールドの説明は以下のとおりです:
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のテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式に基づいて分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で分散され、テーブルグループ内のテーブルがサブパーティションテーブルの場合は、各パーティション単位のサブパーティションごとに分散されます。追加要件:テーブルグループに追加するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義と一致している必要があります。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。
SHOW TABLEGROUPSステートメントを使用してテーブルグループのプロパティとテーブルが属するデータベースを確認する
Oracleユーザーテナントは、SHOW TABLEGROUPS ステートメントを使用して、テーブルグループ内のテーブルが属するデータベースおよびテーブルグループの SHARDING プロパティを確認することもできます。
SHOW TABLEGROUPS WHERE tablegroup_name = 'TBLGROUP1';
クエリ結果は次のとおりです:
+-----------------+------------+---------------+----------+
| TABLEGROUP_NAME | TABLE_NAME | DATABASE_NAME | SHARDING |
+-----------------+------------+---------------+----------+
| TBLGROUP1 | TBL1 | SYS | ADAPTIVE |
| TBLGROUP1 | TBL2 | SYS | ADAPTIVE |
+-----------------+------------+---------------+----------+
2 rows in set
クエリ結果の各フィールドの説明は以下のとおりです:
TABLEGROUP_NAME:テーブルグループ名。TABLE_NAME:テーブルグループ内のテーブル名。DATABASE_NAME:テーブルグループ内のテーブルが属するデータベース。SHARDING:テーブルグループのSHARDINGプロパティ。SHARDINGプロパティがNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約され、テーブルグループに追加されるテーブルに制限はありません。SHARDINGプロパティがPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。パーティションテーブルの場合、パーティション単位のすべてのサブパーティションが一緒に集約されます。追加要件:テーブルグループに追加するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義と一致していなければなりません。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。
SHARDINGプロパティがADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式に基づいて分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で分散され、テーブルグループ内のテーブルがサブパーティションテーブルの場合は各パーティション単位のサブパーティションごとに分散されます。追加要件:テーブルグループに追加するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義と一致していなければなりません。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。
テーブルグループ内のテーブルを確認する
Oracleユーザーテナントは、ビューDBA_OB_TABLEGROUP_TABLESを使用して、テーブルグループ内に存在するテーブルとそのデータベースを確認できます。ステートメントは以下のとおりです。
SELECT * FROM SYS.DBA_OB_TABLEGROUP_TABLES WHERE tablegroup_name = 'TBLGROUP1';
クエリ結果は次のとおりです:
+-----------------+-------+------------+----------+
| TABLEGROUP_NAME | OWNER | TABLE_NAME | SHARDING |
+-----------------+-------+------------+----------+
| TBLGROUP1 | SYS | TBL1 | NONE |
| TBLGROUP1 | SYS | TBL2 | NONE |
+-----------------+-------+------------+----------+
2 rows in set
クエリ結果の各フィールドの説明は以下のとおりです:
TABLEGROUP_NAME:テーブルグループ名。OWNER:テーブルグループ内のテーブルが属するデータベース。TABLE_NAME:テーブルグループ内のテーブル名。SHARDING:テーブルグループのSHARDINGプロパティ。SHARDINGプロパティがNONEのテーブルグループでは、テーブルグループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約され、テーブルグループへの追加に制限はありません。SHARDINGプロパティがPARTITIONのテーブルグループでは、テーブルグループ内の各テーブルのデータはパーティション単位で分散されます。パーティションテーブルの場合、パーティション単位のすべてのサブパーティションが一緒に集約されます。追加要件:テーブルグループに追加するテーブルの対応するパーティションは、テーブルグループ内のすべてのテーブルのパーティション定義と一致している必要があります。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。
SHARDINGプロパティがADAPTIVEのテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式に基づいて分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で分散され、テーブルグループ内のテーブルがサブパーティションテーブルの場合は各パーティション単位のサブパーティションごとに分散されます。追加要件:テーブルグループに追加するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義と一致している必要があります。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。
テーブルグループの作成時間を確認する
Oracleユーザーテナントは、DBA_OBJECTSビューを使用して、テーブルグループの作成時間や直近のDDL操作などの情報を確認できます。
SELECT OBJECT_NAME,CREATED, LAST_DDL_TIME FROM SYS.DBA_OBJECTS WHERE object_name = 'TBLGROUP1';
クエリ例は以下のとおりです:
+-------------+-----------+---------------+
| OBJECT_NAME | CREATED | LAST_DDL_TIME |
+-------------+-----------+---------------+
| TBLGROUP1 | 28-JUN-23 | 28-JUN-23 |
+-------------+-----------+---------------+
1 row in set
クエリ結果の一部のフィールドについて説明します:
OBJECT_NAME:オブジェクト名、つまり現在照会しているテーブルグループ名。CREATED:テーブルグループの作成時間。LAST_DDL_TIME:直近のDDL操作が実行された時間。
テーブルグループ内のテーブルのロケーション情報を確認する
Oracleユーザーテナントは、ビューDBA_OB_TABLE_LOCATIONSを使用して、テーブルグループ内のテーブルのロケーション情報を確認できます。これには、テーブル内の各パーティション(PARTITION_NAME)に対応するシャード(TABLET_ID)、シャード(TABLET_ID)とログストリーム(LS_ID)のマッピング関係、およびログストリームレプリカの位置情報などが含まれます。
SELECT * FROM SYS.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 |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
| SYS | TBL1 | 500190 | USER TABLE | NULL | NULL | NULL | NULL | 200121 | 1001 | zone1 | XX.XX.XX.197 | 2882 | LEADER | FULL | NONE | 500190 | TBLGROUP1 | 500189 | NONE |
| SYS | TBL1 | 500190 | USER TABLE | NULL | NULL | NULL | NULL | 200121 | 1001 | zone2 | XX.XX.XX.194 | 2882 | FOLLOWER | FULL | NONE | 500190 | TBLGROUP1 | 500189 | NONE |
| SYS | TBL2 | 500191 | USER TABLE | P0 | NULL | NULL | NULL | 200122 | 1001 | zone1 | XX.XX.XX.197 | 2882 | LEADER | FULL | NONE | 500192 | TBLGROUP1 | 500189 | NONE |
| SYS | TBL2 | 500191 | USER TABLE | P0 | NULL | NULL | NULL | 200122 | 1001 | zone2 | XX.XX.XX.194 | 2882 | FOLLOWER | FULL | NONE | 500192 | TBLGROUP1 | 500189 | NONE |
| SYS | TBL2 | 500191 | USER TABLE | P1 | NULL | NULL | NULL | 200123 | 1001 | zone1 | XX.XX.XX.197 | 2882 | LEADER | FULL | NONE | 500193 | TBLGROUP1 | 500189 | NONE |
| SYS | TBL2 | 500191 | USER TABLE | P1 | NULL | NULL | NULL | 200123 | 1001 | zone2 | XX.XX.XX.194 | 2882 | FOLLOWER | FULL | NONE | 500193 | TBLGROUP1 | 500189 | NONE |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+----------------+----------+----------+--------------+-----------------+-----------+-----------------+---------------+----------+
6 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のテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式に基づいて分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で分散され、サブパーティションテーブルの場合は各パーティション内のサブパーティション単位で分散されます。追加要件:テーブルグループに追加するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義と一致している必要があります。これには、パーティションタイプ、パーティション数、パーティション値が含まれます。