ORA-20005 統(tǒng)計信息被鎖定
在手工更新統(tǒng)計信息時,報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表統(tǒng)計信息stattype_locked值,發(fā)現統(tǒng)計信息被鎖定
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
處理方案:將統(tǒng)計信息解鎖,然后在執(zhí)行更新
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為空代表統(tǒng)計信息未鎖定,為all表示表的統(tǒng)計信息被鎖
