EXPORT_INDEX_STATS プロシージャは、指定されたインデックスの統計情報を取得し、統計情報テーブルに格納するために使用されます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_STATS.EXPORT_INDEX_STATS (
ownname VARCHAR2,
indname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
stattab VARCHAR2,
statid VARCHAR2 DEFAULT NULL,
statown VARCHAR2 DEFAULT NULL),
tabname VARCHAR2 DEFAULT NULL;
パラメータ説明
パラメータ |
説明 |
|---|---|
| ownname | ユーザー名。ユーザー名をNULLに設定した場合、デフォルトで現在ログインしているユーザー名が使用されます。 |
| indname | インデックス名。 |
| partname | インデックスパーティションの名前です。インデックスがパーティション化されており、かつpartnameがNULLの場合、グローバルおよびパーティションインデックスの統計情報をエクスポートします。 |
| stattab | 統計情報を格納するユーザーテーブルのテーブル名を指定します。 |
| statown | 統計情報を格納するユーザーテーブルのユーザー名を指定します。 |
| tabname | テーブル名。 |
例外状況
エラーコード OBE-20000 は、オブジェクトが存在しないか、権限が不足していることを示します。
使用方法
このプロシージャを呼び出すには、テーブルの所有者でなければなりません。
SYSが所有するオブジェクトについては、テーブルの所有者またはSYSDBA権限が必要です。異なる文字セットを持つデータベース間での統計情報のエクスポートまたはインポートはサポートされていません。
例
ユーザー testUser01 の tbl1 テーブルの idx1 インデックスの統計情報を test_stat にエクスポートします。
obclient> CALL DBMS_STATS.EXPORT_INDEX_STATS('testUser01', 'idx1',stattab=>'test_stat', tabname=>'tbl1');
Query OK, 0 rows affected
説明
OceanBaseデータベースのOracleモードでは、インデックスは現在のユーザーにとって一意であるため、tabname を指定する必要はありません。しかし、MySQLモードでは、インデックスが現在のユーザーにとって一意ではないため、テーブル名を明示的に指定する必要があります。