RESTORE_TABLE_STATS プロシージャは、指定した時点のテーブルレベルの履歴統計情報を復元するために使用されます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_STATS.RESTORE_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
as_of_timestamp TIMESTAMP WITH TIME ZONE,
force BOOLEAN DEFAULT FALSE,
no_invalidate BOOLEAN DEFAULT FALSE);
パラメータ説明
パラメータ |
説明 |
|---|---|
| ownname | ユーザー名。ユーザー名をNULLに設定した場合、デフォルトで現在ログインしているユーザー名が使用されます。 |
| tabname | テーブル名。 |
| as_of_timestamp | 復元時刻を指定します。 |
| force | ロックを無視して強制的に復元します。デフォルトはFALSEです。 |
| no_invalidate | 統計情報収集時にPlan Cacheをフラッシュするかどうかを指定します。TRUEに設定すると、統計情報収集時にPlan Cacheをフラッシュしません。 |
例外状況
エラーコード |
説明 |
|---|---|
| OBE-20000 | 対象が存在しないか、権限が不足しています。 |
| OBE-20001 | 無効または一貫性のない値です。 |
| OBE-20006 | 統計情報を復元できません。統計履歴情報は利用できません。 |
使用方法
このプロシージャを呼び出すには、テーブルの所有者である必要があります。SYS が所有するオブジェクトについては、テーブルの所有者または SYSDBA 権限が必要です。
例
ユーザー testUser01 の下の tbl1 テーブルの指定した時点の統計情報を復元します。
obclient> CALL DBMS_STATS.RESTORE_TABLE_STATS ('testUser01', 'tbl1',TO_TIMESTAMP('2022-12-06 22:00:01.007146', 'YYYY-MM-DD HH24:MI:SS.FF'));
Query OK, 0 rows affected