小编介绍
我是本际云服务器推荐网的小编小本本,今天要给大家分享一个简单的参数调整,就可以让数据库整体性能提升n倍的经验。

事件背景
某驻场客户一单机环境12.2.0.1数据库要进行补丁升级。登录服务器做变更前准备。登录服务器发现服务器异常卡顿,查看top发现负载并不是很高。抓取awr报告发现数据库top10等待延迟在几千毫秒,与客户沟通了解此类事件一直存在。
问题处理与分析
从logfileswitch(checkpointincomplete)等待事件可以了解到,在日志进行切换的时候,buffercache中的脏块还来不及写入到磁盘中,checkpoint未完成。只能等待buffercache中的脏数据写入到磁盘才能完成日志切换。了解到这里我们就需要进一步判断是什么原因导致的dbwr写延迟这么高。
通过上述的分析,定位到数据库的异步IO未开启,导致系统性能问题,这种解决方式很简单,altersystemsetfilesystem_options=setallscopt=spfile;setall参数相当于打开直接DirectI/O+AsyncI/O。然后重启实例就可以打开单实例数据库的异步IO与直接路径I/O。设置这个参数之后,就会直接跨过文件系统高速缓存直接从磁盘中读取数据。
数据库更新补丁后导致DBMS_AWR_REPORT_LAYOUT和DBMS_SWRF_REPORT_INTERNAL失效导致awr报告无法获取,因此进行对比,下面两张截图是我通过SQL手工抓取的同一时间点的top10,从下面两张截图看到logfileswitch(checkpointincomplete)等待事件已经不在top10。当然该数据库还存在SQL性能方面的问题。需要进一步进行调优,那也是后话了。
以上就是本际云服务器推荐网小编小本本的分享,希望对大家有所帮助。敬请关注我们的公众号“IT那活儿”获取更多精彩内容。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6179.html
