AWR报告分析到了要结束的篇章了,未改动任何代码和SQL的情况下,调优花了将近一周的时间,前台感知上快了几十倍,后台各项数据库指标也提升了几十倍,文中附了调优前后的对比效果。
总的来说数据库优化包含了方方面面的优化,硬件网络的诊断、操作系统和数据库参数的设置、数据库等待事件的诊断、SQL优化等待,但数据库优化的关键因素在于应用设计和索引的使用,而应用设计的意思是数据库范式的设计理念,数据库设计的优化意识,而这恰恰是大多数开发人员所缺乏的,开发人员追求的更多的是开发成果的交付。同时要对索引有个正确的认知,索引是把双刃剑,可以提升效率也可以使系统瘫痪。
Oracle数据库是个庞大的体系,Oracle体系架构已经发展了将近40年了,并且还在不断往区块链、人工智能、数据挖掘、数据仓库、BI工具等方向延伸。但其核心一直未发生根本性变化。
关于AWR报告本人也只是浅尝辄止,不懂的东西太多了,只是结合某次优化的经历,顺便把之前未懂的、是懂非懂的部分重新体系化一下,部分来源于网上的摘录,部分来自自己的看法。
关于Report Summary,DB的损耗,物理读、逻辑读写、块变化数量、硬解析的指标都有所下降,换言之,性能就提升了。
关于Top 10 Foreground Events by Total Wait Time中,db file scattered read和db file sequential read、direct path read and write都下降了很多。
关于Key Instance Activity Stats,其实部分指标和之前的重复度还是比较高的,也下降了数倍到数十倍。
关于Oracle的学习,经历了两周时间的总结暂时告以段落了,后续一段时间可能也不太会触碰Oracle,不懂的东西只能留给下一次的机缘了。