问题
原因
“ORA-20000:无法同时收集统计信息,权限不足”表示已启用“并发统计信息收集”选项,但由于权限不足而失败。执行DBMS_STATS.GATHER_TABLE_STATS命令的用户没有执行“并发统计数据收集”所需的权限。
Oracle Database 11g版本2(11.2.0.2)引入了一种新的统计数据收集模式“并发统计数据收集”。当CONCURRENT设置为true时,如果在分区表上调用DBMS_STATS.GATHER_TABLE_STATS,Oracle将为表中的每个(子)分区创建单独的统计信息收集作业。除了收集统计数据所需的常规权限之外,用户还需要一些额外的权限。
方案
执行以下选项之一,然后重新执行统计信息收集
向用户授予以下权限,使其能够在并发模式下运行gather_stats
CREATE JOB
MANAGE SCHEDULER
MANAGE ANY QUEUE
使用以下命令禁用“并发统计信息收集”功能。
exec DBMS_STATS.SET_GLOBAL_PREFS(pname=>'CONCURRENT',pvalue=>'FALSE');