EXPORT_INDEX_STATS プロシージャは、指定されたインデックスの統計情報を照会し、統計情報テーブルに保存するために使用されます。
構文
DBMS_STATS.EXPORT_INDEX_STATS (
ownname VARCHAR2,
indname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
stattab VARCHAR2,
statown VARCHAR2 DEFAULT NULL),
tabname VARCHAR2 DEFAULT NULL;
パラメータの説明
| パラメータ | 説明 |
|---|---|
| ownname | ユーザー名。ユーザー名をNULLに設定した場合、現在ログインしているユーザー名がデフォルトで使用されます。 |
| indname | インデックス名。 |
| partname | インデックスパーティションの名前。インデックスがパーティション化されており、かつpartnameがNULLの場合、グローバルおよびパーティションインデックスの統計情報をエクスポートします。 |
| stattab | 統計情報を格納するユーザーテーブルのテーブル名を指定します。 |
| statown | 統計情報を格納するユーザーテーブルのユーザー名を指定します。 |
| tabname | テーブル名。 |
異常時
エラーコード HY000 は、そのオブジェクトが存在しないか、権限が不足していることを示します。
使用方法
このプロシージャを呼び出すには、テーブルの所有者である必要があります。
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モードでは、インデックスが現在のユーザーに対して一意ではないため、テーブル名を明示的に指定する必要があります。