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属于后者。