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モードではインデックスが現在のユーザーにとって一意ではないため、テーブル名を明示的に指定する必要があります。