首页 > 代码库 > ORA-20005: object statistics are locked (stattype = ALL)

ORA-20005: object statistics are locked (stattype = ALL)

一次在使用dbms_stats包收集统计信息时遇到如题所示错误,查看dba_tables的last_analyzed字段发现很长时间未收集。

你可能有多个用户对象的统计信息被锁,因此可以使用如下SQL查看指定用户下所有统计信息被锁定的表:

select table_name, stattype_locked from dba_tab_statistics where owner = ‘<schema>‘ and stattype_locked is not null;

你可以使用如下语句解锁某个schema(即用户)的统计信息:

exec dbms_stats.unlock_schema_stats(‘<schema_name>‘);

例如:

exec dbms_stats.unlock_schema_stats(‘SCOTT‘);

你也可以用如下语句解锁单个表的统计信息:

exec DBMS_STATS.UNLOCK_TABLE_STATS(‘<schema-name>‘,‘<table-name>‘);

例如:

exec DBMS_STATS.UNLOCK_TABLE_STATS(‘SCOTT‘,‘EMP‘);

 

 

ORA-20005: object statistics are locked (stattype = ALL)