【YOU学吧】记一次“怪异”的NC系统卡顿排查过程,原因竟然是……--第97期—作为一名NC技术支持高级工程师,经常会遇到各种系统疑难杂症。2020年一个平常的工作日,接到客户反映系统卡顿,很多操作耗时都比较长,通过nmc监控,线程耗时主要集中在数据库上。问题跟踪毫无疑问,首先是对数据库服务器资源使用情况进行监控,CPU、内存使用正常,没有达到峰值。监控磁盘IO情况,发现磁盘最长活动时间持续达到100%,说明系统磁盘io负载较高。生成卡顿时段awr报告1:可以看到2小时的awr报告DBTime达到7805mins,非常高。用户IO为主要等待时间,占比57%。进一步查看数据库参数配置:96G内存的数据库服务器,oracle最大内存只分配了6.7G,调整数据库内存参数altersystemsetmemory_max_target=66560Mscope=spfile;altersystemsetmemory_target=66560Mscope=spfile;altersystemsetsga_max_size=66560Mscope=spfile;调整后业务依然很慢,nmc监控仍然在数据库端,再次生成一个卡顿时段的awr报告:。可以看到1小时的awr报告DBTime达到2739mins,依然很高。等待事件不再是IO,而是latchfree。查看数据库上事件为latchfree的会话,发现闩锁ID为559。查看559对应的latchname,为ResultCache:RCLatch。解决方案通过Oracle官方支持网站mos查询问题,发现跟oracle12c新特性有关。可通过如下隐含参数解决:altersystemset"_optimizer_skip_scan_enabled"=FALSEscope=spfile;修改后系统正常。【本文作者】王子旭NC技术支持高级工程师