ITPub博客

首页 > 数据库 > Oracle > dbms_stats.gather_table_stats 遭遇ORA-01422

dbms_stats.gather_table_stats 遭遇ORA-01422

原创 Oracle 作者:yingyifeng306 时间:2023-10-07 15:02:51 0 删除 编辑

SQL> exec dbms_stats.gather_table_stats(‘ZJUCRM2O’,'BI_SUBSCRB_BILL_DM_201111′,cascade =>true);

begin dbms_stats.gather_table_stats(‘ZJUCRM2O’,'BI_SUBSCRB_BILL_DM_201111′,cascade =>true); end;

ORA-01422: exact fetch returns more than requested number of rows  
ORA-06512: at "SYS.DBMS_STATS", line 15027    
ORA-06512: at "SYS.DBMS_STATS", line 15049    
ORA-06512: at line 1

解决:    
手工指定granularity的值即可,例如:    
exec dbms_stats.gather_table_stats(‘ZJUCRM2O’,'BI_SUBSCRB_BILL_DM_201111′,granularity =>’ALL’,cascade =>true);

—–    
对于分区表,需要注意一个参数granularity    
默认为AUTO,根据分区类型自动调整granularity    
granularity一般为ALL、PARITIONS、SUBPARTITION、GLOBAL    


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23732248/viewspace-2987149/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
ITpub论坛高可用版主,擅长研究Oracle 内部原理、新特性、高可用和性能调优等,多年来一直保持着对新事务旺盛的求知欲。热切关注 Oracle 和其它相关技术

注册时间:2011-10-12

  • 博文量
    291
  • 访问量
    1593063