The LOCK_TABLE_STATS procedure is used to lock the statistics of a table.
Applicability
This topic applies only to OceanBase Database Enterprise Edition. OceanBase Database Community Edition does not support this.
Syntax
DBMS_STATS.LOCK_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
stattype VARCHAR2 DEFAULT 'ALL');
Parameters
| Parameter | Description |
|---|---|
| ownname | The username. If the username is set to NULL, the current login username will be used by default. |
| tabname | The table name. |
| stattype | The type of lock. The following three types are generally supported:
'ALL' type is supported in Oracle mode. |
Considerations
To call this procedure, you must be the owner of the table. For objects owned by
SYS, you must be the owner or have theSYSDBAprivilege to call this procedure.When the statistics of a table are locked, the statistics of all dependent objects, including table-level statistics, column-level statistics, histogram statistics, and statistics of all dependent indexes, are also locked.
If the statistics of an object are locked, an error will be returned when you execute the
SET_*,DELETE_*,IMPORT_*, orGATHER_*procedure to modify the statistics of a single table, index, or column.When you call the
EXPORT_*_STATSprocedure, the lock or unlock state is not exported with the table-level statistics.The
UNLOCK_SCHEMA_STATSandUNLOCK_TABLE_STATSprocedures cannot unlock the statistics of corresponding partitions. When you call theLOCK_TABLE_STATSprocedure, it sets the lock at the table level. At this point, you cannot collect statistics for dependent objects such as partitions and indexes. Additionally, if the table-level statistics are locked, their dependent items are also locked, so you do not need to explicitly call theLOCK_PARTITION_STATSprocedure to lock the partition statistics.
Examples
Lock the table-level statistics of table t1 under user testUser01.
obclient> CALL DBMS_STATS.LOCK_TABLE_STATS ('testUser01', 't1');
Query OK, 0 rows affected
