GATHER_STATS_JOB ORA-20000
前几天,数据库日志中出现ora-20000的错误,具体为:
ORA-20000: Unable to analyze TABLE "LC00019999"."TMP_ZWPZK4YSFEB0CF9F5A", insufficient privileges or does not exist
感觉很诧异,为啥分析这个表,并提示表不存在呢?
仔细分析之下得知,oracle10的GATHER_STATS_JOB,会定期调用过程dbms_stats.gather_database_stats_job_proc执行信息收集,它会检测哪些对象没有统计信息或者统计信息比较陈旧,将优先对这些对象进行分析。
而业务系统中(某某个厂商开发的垃圾系统),会根据需要创建一些类似TMP_ZWPZK4YSFEB0CF9F5A 这样的,业务而非oracle的临时表,并定期删除掉。
估计就是这些表创建了,oracle想分析了,结果,找不着了,所以,提示这个错误。