UNLOCK_TABLE_STATS
UNLOCK_TABLE_STATS 过程用于解锁表级的统计信息。
语法
DBMS_STATS.UNLOCK_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
stattype VARCHAR2 DEFAULT 'ALL');
参数解释
| 参数 | 解释 |
|---|---|
| ownname | 用户名。如果用户名设置为 NULL,会默认使用当前登录用户名。 |
| tabname | 表名称。 |
| stattype | 加锁的类型。一般包括如下三种加锁类型:
|
使用说明
-
要调用此过程,您必须是表的所有者。
-
当一个表的统计信息被锁定时,所有依赖于该表的统计信息都会被锁定,包括表级统计信息、列级统计信息、直方图统计信息和所有依赖索引的统计信息。
-
如果对象的统计信息被锁定,则执行
SET_*、DELETE_*、IMPORT_*、GATHER_*过程进行修改单个表、索引或列的统计信息时将引发错误。 -
UNLOCK_SCHEMA_STATS过程和UNLOCK_TABLE_STATS过程都不能解锁相应分区的统计信息。当您调用LOCK_TABLE_STATS过程时,它会在表级别设置锁定位置。此时,您无法收集有关分区和索引等依赖对象的统计信息。此外,如果表统计信息被锁定,依赖项也会被锁定,就不需要显式调用LOCK_PARTITION_STATS存储过程来锁定分区统计信息。
示例
解锁用户 test 下的表 t1 的表级统计信息。
CALL DBMS_STATS.UNLOCK_TABLE_STATS('test', 't1');
Query OK, 0 rows affected