ORA-29820: the statistics type is not present ORACLE 报错 故障修复 远程处理
文档解释
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 ‘×tamp’;