Oracle12c R2注意事项: SCM0进程的CPU使用率高
本篇是12c版本中cpu high的第三种情况: scm0进程占用较高的cpu使用率。前两篇如下
Oracle12c R2注意事项: 大量crsctl.bin进程cpu使用率高,等待crs call completion
Oracle12c R2注意事项: 多个”/usr/bin/ssh -o StrictHostKeyChecking… /sbin/ifconfig -a”进程导到CPU使用高
(Distributed Lock Management )DLM Statistics Collection and Management从属(SCM0)后台进程负责收集和管理全局入队服务(GES)和全局缓存服务(GCS)的统计信息。如果在数据库中启用了DLM统计信息收集此进程(scm0)才会存在, 但是官方描述在12.2版本,默认即使收集了DLM statistics在12.2版本中的use these stats service based affinity and cache warmup功能也是禁用的,只是为了后续版本准备,所以在禁用该进程不会影响12C r2版本。
原因是bug 24590018 – RAC PERF: SCM0 PROCESS USING 100% CPU, FG’S USING ~80% SYS CPU POSTING SCM0
要解决此问题,必须停用DLM统计信息收集,或者手动kill scm0进程并此进程会自动启动。
禁用DLM统计信息收集方法:
SQL> alter system set "_dlm_stats_collect" = 0 scope = spfile sid = '*';
注意_dlm_stats_collect参数更改需要重新启动数据库。
另一种是确定相应scm0进程的进程id,并用kill -9关闭它。关闭后,此进程将自动重启。
[root@anbob01 ~]# ps -ef|grep scm oracle 11762 1 0 May22 ? 00:02:28 ora_scm0_ANBOB1 [root@anbob01 ~]# kill -9 11762
建议在安装12C R2时就配置如下参数:
alter system set “_dlm_stats_collect” = 0 scope = spfile sid = ‘*’;
对不起,这篇文章暂时关闭评论。