ORA-29820: the statistics type is not present

文档解释

ORA-29820: the statistics type is not present

Cause: The statistics type which is being associated with object(s) is not present.

Action: Ensure that the type which contains the statistics functions is present.

ORA-29820:该统计类型不存在

官方解释

ORA-29820 表明数据字典视图 ALL_TAB_STATISTICS 未记录多余记录,指定的统计类型不存在。

常见案例

1.在调用DBMS_STATS 包的gather_table_stats 函数时,指定的统计类型不存在

2.重点对ALL_TAB_STATISTICS 视图失败

一般处理方法及步骤

1.确定错误的原因。

2.如果分析表不存在,请创建分析表。

3.如果调用DBMS_STATS 的GATHER_TABLE_STATS 函数时出现ORA-29820错误,请在分析表中检查指定的统计类型是否存在。

(1).drop_stattab.sql。

(2).在执行drop_stattab.sql语句之前,必须停用启用分析表:

ALTER TABLE <table_name> MONITORING;

(3).在执行drop_stattab.sql 语句时,输入表名及时效性类型:

@drop_stattab table_name = ”;stattab_timetype = ”STALE;

(4).重建分析表:

EXEC DBMS_STATS.Create_stattab (stattab_name => ‘table_name’,stattab_timetype => ‘STALE’);

(5).现在可以重新收集统计信息:

EXEC DBMS_STATS.Gather_stattab (stattab_name => ‘table_name’,stattab_timetype => ‘STALE’);

(6).重新启用分析表:

ALTER TABLE <table_name> MONITORING USING TIMESTAMP ‘&timestamp’;

你可能感兴趣的