The RESTORE_TABLE_STATS procedure restores table-level historical statistics of the specified point in time.
Syntax
DBMS_STATS.RESTORE_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
as_of_timestamp TIMESTAMP WITH TIME ZONE,
restore_cluster_index BOOLEAN DEFAULT FALSE,
force BOOLEAN DEFAULT FALSE,
no_invalidate BOOLEAN DEFAULT FALSE);
Parameters
| Parameter | Description |
|---|---|
| ownname | The username. |
| tabname | The name of the table. |
| as_of_timestamp | The restoration time. |
| restore_cluster_index | Note: The current version does not support this parameter. |
| force | Specifies whether to restore statistics by force and ignore the lock. Default value: FALSE. |
| no_invalidate | Note: The current version does not support this parameter. |
Exceptions
| Error code | Description |
|---|---|
| ORA-20000 | The object does not exist, or you do not have the required privileges. |
| ORA-20001 | Values are invalid or inconsistent. |
| ORA-20006 | The historical statistics are unavailable and cannot be restored. |
Considerations
To call this procedure, you must be the owner of the table. If the object is in the sys tenant, you must be the owner of the table or have the SYSDBA privilege.
Examples
Restore the statistics of the tbl1 table of the testUser01 user to a specific point in time.
obclient> CALL DBMS_STATS.RESTORE_TABLE_STATS ('testUser01', 'tbl1','2022-12-06 22:00:01.007146');
Query OK, 0 rows affected