12c 關於DMON你應該知道的!


The Oracle Data Guard monitor process (DMON) is an Oracle background process that runs on every database instance that is managed by the broker. When you start the Oracle Data Guard broker, a DMON process is created.數據庫

--DMON是一個Oracle後臺進程,隨着數據庫實例的啓動而啓動。oracle

Whether you use Cloud Control or DGMGRL to manage a database, the DMON process is the server-side component that interacts with the local database and the DMON processes of the other databases to perform the requested function. The DMON process is also responsible for monitoring the health of the broker configuration and for ensuring that every database has a consistent description of the configuration.ide

--DMON進程是服務端組件,它是用來負責監控broker配置的健康情況,確保每一個數據庫都有一份一致的配置。測試


當咱們使用dgmgrl /這個客戶端命令的時候,腦海裏要一個一張圖。spa

blob.png

接下來咱們作一個測試,看看這個DMON進程異常被KILL掉後會怎樣。component

[root@roidb01 ~]# ps -ef|grep dmonorm

root      1651  1547  0 21:02 pts/2    00:00:00 grep --color=auto dmonserver

oracle   27802     1  0 20:34 ?        00:00:00 ora_dmon_orcl進程

[root@roidb01 ~]# kill -9 27802ip

[root@roidb01 ~]# 

[root@roidb01 ~]# ps -ef|grep dmon

root      1788  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

root      1799  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

root      1804  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

root      1809  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

root      1815  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

root      1822  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

root      1827  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

root      1895  1547  0 21:03 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

oracle    1934     1  0 21:03 ?        00:00:00 ora_dmon_orcl

root      2120  1547  0 21:04 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# ps -ef|grep dmon

oracle    1934     1  0 21:03 ?        00:00:00 ora_dmon_orcl

root      2128  1547  0 21:04 pts/2    00:00:00 grep --color=auto dmon

[root@roidb01 ~]# 


Oracle數據庫有幾大類進程,有的進程被KILL會致使實例重啓,有的會致使主機重啓,有的會自動拉起來,而且不會影響到應用,DMON屬於後者。