ORA-20005 统计信息被锁定

本文讲述了在尝试使用DBMS_STATS收集SYS表TEST的统计信息时遇到ORA-20005错误,通过查询stattype_locked发现统计信息被锁定。解决方案包括解锁表统计并成功执行更新的过程。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

在手工更新统计信息时,报ORA-20005异常

SQL>exec dbms_stats.gather_table_stats('SYS','TEST');

BEGINdbms_stats.gather_table_stats('SYS','TEST'); END;

*

ERRORat line 1:

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

ORA-06512:at "SYS.DBMS_STATS", line 24281

ORA-06512:at "SYS.DBMS_STATS", line 24332

ORA-06512:at line 1

异常原因:查询test表统计信息stattype_locked值,发现统计信息被锁定

SQL> select owner,table_name,stattype_locked from dba_tab_statistics a where a.stattype_locked in ('ALL','DATA','CACHE') and table_name='TEST';

OWNER TABLE_NAME STATTYPE_L

--------------- ------------------------------ ----------

SYS TEST ALL

处理方案:将统计信息解锁,然后在执行更新

SQL>exec dbms_stats.unlock_table_stats(ownname => 'SYS',tabname => 'TEST');

PL/SQLprocedure successfully completed.

SQL>exec dbms_stats.gather_table_stats('SYS','TEST');

PL/SQL procedure successfully completed.
注:stattype_locked为空代表统计信息未锁定,为all表示表的统计信息被锁
 

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值