12.2 RAC veritabanlarındaki SCM0 prosesinin yüksek cpu tüketimi

28 May by Ahmet Duruöz

12.2 RAC veritabanlarındaki SCM0 prosesinin yüksek cpu tüketimi

DLM Statistics Collection and Management slave (SCM0) arka plan prosesi , global enqueue service (GES) ve global cache service (GCS) ile ilgili istatistiklerin toplanmasından ve yönetiminden sorumludur. Bir veritabanında DLM istatistik toplama işlemi etkinleştirilmiş ise bu proses çalışmaktadır.

Sorunun çözümü için ya DML istatistik toplama işlemi pasifleştirilmeli yada scm0 prosesi kapatılıp, otomatik olara kyeniden başlaması sağlanmalıdır.

DML istatistik toplama işlemini aşağıdaki gibi “_dlm_stats_collect” parametresinin değerini 0 (sıfır) yaparak kapatabilirsiniz.

SQL> alter system set "_dlm_stats_collect" = 0 scope = spfile sid = '*';

Parametrenin mevcut değerini aşağıdaki gibi görüntüleyebilirsiniz.

SQL> select * from (
select x.ksppinm param, y.ksppstvl value
from x$ksppi x , x$ksppcv y
where x.indx = y.indx
and x.ksppinm like '\_%' escape '\'
order by x.ksppinm
) where param ='_dlm_stats_collect'; 2 3 4 5 6 7

PARAM
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
_dlm_stats_collect
1

Parametre değişimi veritabanının yeniden başlatılmasını gerektirmektedir.

Diğer bir yok ise ilgili scm0 prosesinin proses id’sinin tespit edip kill -9 ile kapatmaktır. Proses, kapatıldıktan sonra otomatik olarak yeniden başlayacaktır.

[root@orcldb01 ~]# ps -ef|grep scm
oracle 112092 1 0 May22 ? 00:02:28 ora_scm0_ORCL1

Sonrasınra aşağıdaki gibi kapatılabilir. Otomatik olarak yeninden başlayacaktır.

[root@orcldb01 ~]# kill -9 112092

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir