首页 » ORACLE [C]系列, ORACLE 9i-23c » Oracle12c R2注意事项: SCM0进程的CPU使用率高

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 = ‘*’;

打赏

, ,

对不起,这篇文章暂时关闭评论。