dbms_stats.gather_table_stats 遭遇ORA-01422

来源:这里教程网 时间:2026-03-03 19:00:23 作者:

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    

相关推荐