テーブルグループを作成すると、その情報を確認できます。これには、テーブルグループの SHARDING 属性、テーブルグループ内のテーブル、テーブルグループの作成日時、およびテーブルグループ内のテーブルのロケーション情報が含まれます。
テーブルグループのSHARDINGプロパティの確認
ビューによるテーブルグループ属性とテーブルのパーティション情報の確認
Oracleユーザーテナントは、ビューDBA_OB_TABLEGROUPSを使用して、テーブルグループのSHARDINGプロパティおよびテーブルグループ内のテーブルのパーティション情報を確認できます。ステートメントは以下のとおりです。
obclient> 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 | SCOPE |
+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+
| TBLGROUP1 | NONE | NONE | NULL | NULL | NULL | NULL | NONE | ZONE |
+-----------------+-------------------+----------------------+-----------------+------------------------+------------------------+---------------------------+----------+-------+
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のテーブルグループでは、テーブルグループ内の各テーブルのデータは適応型方式で分散されます。つまり、テーブルグループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:テーブルグループに加入するテーブルの対応するパーティションとサブパーティションは、テーブルグループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SCOPE:テーブルグループのSCOPEプロパティ。説明
V4.4.2バージョンでは、ビュー
DBA_OB_TABLEGROUPSはV4.4.2 BP1バージョンからSCOPEフィールドが導入されました。
SHOW TABLEGROUPSステートメントによるテーブルグループ属性とテーブルが属するデータベースの確認
Oracleユーザーテナントは、SHOW TABLEGROUPSステートメントを使用して、テーブルグループ内のテーブルが属するデータベースおよびテーブルグループ属性を確認することもできます。
obclient> SHOW TABLEGROUPS WHERE tablegroup_name = 'TBLGROUP2';
クエリ結果は次のとおりです:
+-----------------+------------+---------------+----------+--------+
| TABLEGROUP_NAME | TABLE_NAME | DATABASE_NAME | SHARDING | SCOPE |
+-----------------+------------+---------------+----------+--------+
| TBLGROUP2 | TEST_TBL3 | TEST_USER001 | NONE | SERVER |
| TBLGROUP2 | TEST_TBL4 | TEST_USER001 | 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フィールドが追加されました。
テーブルグループ内のテーブルの確認
Oracleユーザーテナントは、ビュー DBA_OB_TABLEGROUP_TABLES を使用して、テーブルグループ内に存在するテーブルとそれらが属するデータベースを確認できます。ステートメントは以下のとおりです。
obclient> SELECT * FROM SYS.DBA_OB_TABLEGROUP_TABLES WHERE tablegroup_name = 'TBLGROUP2';
クエリ結果は次のとおりです:
+-----------------+--------------+------------+----------+--------+
| TABLEGROUP_NAME | OWNER | TABLE_NAME | SHARDING | SCOPE |
+-----------------+--------------+------------+----------+--------+
| TBLGROUP2 | TEST_USER001 | TEST_TBL3 | NONE | SERVER |
| TBLGROUP2 | TEST_USER001 | TEST_TBL4 | NONE | SERVER |
+-----------------+--------------+------------+----------+--------+
2 rows in set
クエリ結果の各フィールドの説明は以下のとおりです:
TABLEGROUP_NAME:テーブルグループ名。OWNER:テーブルグループ内のテーブルが属するデータベース。TABLE_NAME:テーブルグループ内のテーブル名。SHARDING:テーブルグループのSHARDINGプロパティ。SHARDINGプロパティがNONEのテーブルグループでは、グループ内のすべてのテーブルのすべてのパーティションが同一マシンに集約され、テーブルグループへの参加を制限する条件はありません。SHARDINGプロパティがPARTITIONのテーブルグループでは、グループ内の各テーブルのデータはパーティション単位で分散されます。サブパーティションテーブルの場合、パーティション内のすべてのサブパーティションがまとめられます。参加要件:テーブルグループに参加させるテーブルの対応するパーティションは、グループ内のすべてのテーブルのパーティション定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SHARDINGプロパティがADAPTIVEのテーブルグループでは、グループ内の各テーブルのデータは適応型方式で分散されます。つまり、グループ内のテーブルがパーティションテーブルの場合はパーティション単位で、サブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:表組に加入するテーブルの対応するパーティションとサブパーティションは、表組内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SCOPE:表組のSCOPEプロパティ。説明
V4.4.2バージョンでは、ビュー
DBA_OB_TABLEGROUP_TABLESはV4.4.2 BP1バージョンからSCOPEフィールドが導入されました。
表組の作成日時の確認
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操作の時間です。
テーブルグループ内のテーブルのLocation情報を確認する
Oracleユーザーテナントは、ビューDBA_OB_TABLE_LOCATIONSを使用して、テーブルグループ内のテーブルのLocation情報を確認できます。これには、テーブル内の各パーティション(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のテーブルグループでは、グループ内の各テーブルのデータは適応型方式で分散されます。つまり、グループ内のテーブルがパーティションテーブルの場合はパーティション単位で、パーティションテーブルがサブパーティションテーブルの場合は各パーティションのサブパーティション単位で分散されます。加入要件:グループへの加入を希望するテーブルの対応するパーティションとサブパーティションは、グループ内のすべてのテーブルのパーティションとサブパーティションの定義(パーティションタイプ、パーティション数、パーティション値を含む)と一致している必要があります。
SCOPE:テーブルグループのSCOPE属性。説明
V4.4.2バージョンでは、ビュー
DBA_OB_TABLE_LOCATIONSはV4.4.2 BP1バージョンからSCOPEフィールドが導入されました。