DELETE_TABLE_STATS プロシージャは、テーブルレベルの統計情報を削除するために使用されます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_STATS.DELETE_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
cascade_parts BOOLEAN DEFAULT TRUE,
cascade_columns BOOLEAN DEFAULT TRUE,
no_invalidate BOOLEAN DEFAULT FALSE,
force BOOLEAN DEFAULT FALSE);
パラメータ説明
パラメータ |
説明 |
|---|---|
| ownname | ユーザー名。ユーザー名をNULLに設定した場合、デフォルトで現在ログインしているユーザー名が使用されます。 |
| tabname | この列が属するテーブル名。 |
| partname | 統計情報を取得するテーブルの(サブ)パーティション名。テーブルがパーティション化されており、かつpartnameがNULLの場合は、グローバルなテーブルレベルで統計情報を検索します。 |
| cascade_parts | パーティションレベルとサブパーティションレベルの統計情報を同時に削除するかどうか。デフォルトはTRUEです。 |
| cascade_columns | 列レベルの統計情報を同時に削除するかどうか。デフォルトはTRUEです。 |
| no_invalidate | 統計情報収集時にPlan Cacheをフラッシュするかどうか。TRUEに設定すると、統計情報収集時にPlan Cacheをフラッシュしません。 |
| force | ロック状態を無視して強制的に統計情報を収集するかどうか。デフォルトはFALSEです。TRUEに設定すると、統計情報がロックされていても収集されます。 |
例外状況
エラーコード |
説明 |
|---|---|
| OBE-20000 | 対象が存在しないか、権限が不足しています。 |
| OBE-20002 | ユーザー統計テーブルが破損しており、アップグレードが必要かもしれません。 |
| OBE-20005 | そのオブジェクトの統計情報がロックされています。 |
使用方法
このプロシージャを呼び出すには、テーブルの所有者である必要があります。SYS が所有するオブジェクトについては、テーブルの所有者または SYSDBA 権限が必要です。
例
ユーザー testUser01 のテーブル tbl1 のすべての統計情報を削除します。
obclient> CALL DBMS_STATS.DELETE_TABLE_STATS('testUser01', 'tbl1');
Query OK, 0 rows affected