IMPORT_TABLE_STATS プロシージャは、テーブルレベルの統計情報をインポートするために使用されます。
構文
DBMS_STATS.IMPORT_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
stattab VARCHAR2,
cascade BOOLEAN DEFAULT TRUE,
statown VARCHAR2 DEFAULT NULL,
no_invalidate BOOLEAN DEFAULT FALSE,
force BOOLEAN DEFAULT FALSE
);
パラメータ説明
パラメータ |
説明 |
|---|---|
| ownname | ユーザー名。ユーザー名が NULL に設定されている場合、デフォルトで現在ログインしているユーザー名が使用されます。 |
| tabname | テーブル名。 |
| partname | テーブルパーティション名。テーブルがパーティション化されており partname が NULL の場合、グローバルおよびパーティション列統計情報をインポートします。 |
| stattab | インポートするユーザー統計情報テーブルの名前を指定します。 |
| cascade | TRUE の場合、このテーブルの列とインデックスの統計情報もエクスポートします。 |
| statown | インポートするユーザー統計情報テーブルのユーザー名を指定します。 |
| no_invalidate | 統計情報収集時にPlan Cacheをフラッシュするかどうかを指定します。TRUE に設定すると、統計情報収集時にPlan Cacheをフラッシュしません。 |
| force | ロック状態を無視して強制的にインポートするかどうかを指定します。デフォルトは FALSE です。TRUE に設定すると、統計情報がロックされていてもインポートされます。 |
例外
エラーコード |
説明 |
|---|---|
| HY000 |
|
使用方法
このプロシージャを呼び出すには、テーブル所有者である必要があります。
SYSが所有するオブジェクトの場合、テーブル所有者またはSYSDBA権限が必要です。異なる文字セットを持つデータベース間での統計情報のエクスポートまたはインポートはサポートされていません。
例
ユーザー testUser02 の test_stat テーブルから、ユーザー testUser01 の tbl1 テーブルの統計情報をインポートします。
obclient> CALL DBMS_STATS.CREATE_STAT_TABLE('testUser02', 'test_stat');
Query OK, 0 rows affected
obclient> CALL DBMS_STATS.IMPORT_TABLE_STATS('testUser01', 'tbl1', stattab=>'test_stat', statown=>'testUser02');
Query OK, 0 rows affected