联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
在一次给客户的rac poc测试中,发现大量reliable message等待,严重影响性能
数据库版本
11.2.0.4+最新psu(180116)
SYS@xffdb1>select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production Elapsed: 00:00:00.00 SYS@xffdb1>exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options [oracle@xifenfei01 ~]$ opatch lspatches 26609929;OCW Patch Set Update : 11.2.0.4.170814 (26609929) 26925576;Database Patch Set Update : 11.2.0.4.180116 (26925576) OPatch succeeded.
查询发现大量reliable message等待
SYS@xffdb1>@event INST_ID USERNAME EVENT COUNT(*) ---------------- ------------------------------ -------------------------------------------------- ---------------- 1 SOE reliable message 16 1 SOE gc current request 4 1 SOE gc cr request 5 1 SOE db file sequential read 17 1 SYS db file scattered read 1 2 SOE library cache: mutex X 2 2 SOE latch: ges resource hash list 2 2 SOE gc current request 1 2 SOE gc cr request 4 2 SOE db file sequential read 12 2 db file parallel write 1 2 SOE SQL*Net message to client 1 12 rows selected.
进一步查询发现大量Result Cache: Channel
SYS@xffdb1>SELECT CHANNEL, 2 SUM(wait_count) sum_wait_count 3 FROM GV$CHANNEL_WAITS 4 GROUP BY CHANNEL 5 ORDER BY SUM(wait_count) DESC; CHANNEL SUM_WAIT_COUNT ---------------------------------------------------------------- ---------------- Result Cache: Channel 379367698 RBR channel 128968 kxfp control signal channel 115091 MMON remote action broadcast channel 4646 obj broadcast channel 395 LCK0 ksbxic channel 17 parameters to cluster db instances - broadcast channel 4 service operations - broadcast channel 3 kill job broadcast - broadcast channel 2
查看result_cache_max_size参数
SYS@xffdb1>show parameter result_cache_max_size; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ result_cache_max_size big integer 335552K
调整result_cache_max_size参数
SYS@xffdb1>alter system set result_cache_max_size=0; System altered. SYS@xffdb1>show parameter result_cache_max_size; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ result_cache_max_size big integer 0
重启数据库,再次测试,发现相关等待消失,系统也更加稳定
SYS@xffdb1>@event INST_ID USERNAME EVENT COUNT(*) ---------------- ------------------------------ -------------------------------------------------- ---------------- 1 SOE library cache: mutex X 1 1 SOE gc current request 3 1 DBSNMP gc cr request 1 1 SOE gc cr request 7 1 SOE db file sequential read 18 1 db file parallel write 1 2 SOE library cache: mutex X 2 2 SOE latch free 1 2 SOE gc current request 4 2 SOE gc cr request 4 2 SOE db file sequential read 12 2 db file parallel write 3 12 rows selected.
参考:Very High Waits for ‘reliable message’ After Upgrade to 11.2.0.4 When Using Result Cache (Doc ID 1951729.1)