跳到主要内容

UNLOCK_TABLE_STATS

UNLOCK_TABLE_STATS 过程用于解锁表级的统计信息。

语法

DBMS_STATS.UNLOCK_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
stattype VARCHAR2 DEFAULT 'ALL');

参数解释

参数解释
ownname用户名。如果用户名设置为 NULL,会默认使用当前登录用户名。
tabname表名称。
stattype加锁的类型。一般包括如下三种加锁类型:
  • 'ALL'
  • 'DATA'
  • 'CACHE'

使用说明

  • 要调用此过程,您必须是表的所有者。

  • 当一个表的统计信息被锁定时,所有依赖于该表的统计信息都会被锁定,包括表级统计信息、列级统计信息、直方图统计信息和所有依赖索引的统计信息。

  • 如果对象的统计信息被锁定,则执行 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