IMPORT_INDEX_STATS プロシージャは、ユーザー情報統計テーブルから指定されたインデックスの統計情報を取得し、それらを辞書に格納します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_STATS.IMPORT_INDEX_STATS (
ownname VARCHAR2,
indname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
stattab VARCHAR2,
statown VARCHAR2 DEFAULT NULL,
no_invalidate BOOLEAN DEFAULT FALSE,
force BOOLEAN DEFAULT FALSE,
tabname VARCHAR2 DEFAULT NULL);
パラメータ説明
パラメータ |
説明 |
|---|---|
| ownname | ユーザー名。ユーザー名をNULLに設定した場合、デフォルトで現在ログインしているユーザー名が使用されます。 |
| tabname | テーブル名。 |
| indname | インデックス名 |
| partname | パーティション名。テーブルがパーティション化されており、かつpartnameがNULLの場合、グローバルおよびパーティション列の統計情報をインポートします |
| stattab | インポートするユーザー統計情報テーブルの名前を指定します。 |
| statown | インポートするユーザー統計情報テーブルのユーザー名を指定します。 |
| no_invalidate | 統計情報収集時にPlan Cacheをフラッシュするかどうかを指定します。TRUEに設定すると、統計情報収集時にPlan Cacheをフラッシュしません。 |
| force | ロック状態を無視して強制的にインポートするかどうかを指定します。デフォルトはFALSEです。TRUEに設定すると、インデックス統計情報がロックされていてもインポートされます。 |
例外状況
エラーコード |
説明 |
|---|---|
| OBE-20000 | 対象が存在しないか、権限が不足しています。 |
| OBE-20001 | ユーザー情報統計テーブルの値が無効または一貫性がありません。 |
| OBE-20005 | このオブジェクトの統計情報がロックされています。 |
使用方法
異なる文字セットを持つデータベース間での統計情報のエクスポートまたはインポートはサポートされていません。
例
test_stat からユーザー testUser01 の tbl1 テーブルの idx1 インデックスの統計情報をインポートし、辞書に格納します。
obclient> CALL DBMS_STATS.IMPORT_INDEX_STATS('testUser01', 'idx1',stattab=>'test_stat', 'tbl1');
Query OK, 0 rows affected
説明
OceanBaseデータベースのOracleモードでは、インデックスは現在のユーザーに対して一意であるため、tabname を指定する必要はありません。しかし、MySQLモードでは、インデックスが現在のユーザーに対して一意ではないため、テーブル名を明示的に指定する必要があります。