客户反馈在18.30-19.00之间,数据库运行特别慢,19点后就恢复正常。根据客户提出的信息,查看对应时段的awr报告,发现在此时段内,对表XXX_XXXX_SCAN存在着大量的查询操作。同时,查看该表的统计信息时间:
通过统计信息时间以及数据量信息发现,这个分区表分布不均匀,且在反应慢的时段内进行了统计信息收集。查看awr报告,发现在18:30 -19:00 时,大量会话查询此分区表最后一个大分区,即max分区,所以造成大量会话阻塞,导致数据库查询慢。统计信息收集完,数据库查询恢复正常。
根据AWR报告,在该时段内还存在几个逻辑读较高的SQL查询,在问题发生时确实出现过执行计划的改变:
最后,已和客户建议在非业务时段或者业务负载低的时段进行表的统计信息收集,同时尽量不要在业务时段进行任何备份操作。