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后台进程,随着数据库实例的启动而启动。
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.
--DMON进程是服务端组件,它是用来负责监控broker配置的健康状况,确保每个数据库都有一份一致的配置。
当我们使用dgmgrl /这个客户端命令的时候,脑海里要一个一张图。
接下来我们做一个测试,看看这个DMON进程异常被KILL掉后会怎样。
[root@roidb01 ~]# ps -ef|grep dmon
root 1651 1547 0 21:02 pts/2 00:00:00 grep --color=auto dmon
oracle 27802 1 0 20:34 ? 00:00:00 ora_dmon_orcl
[root@roidb01 ~]# kill -9 27802
[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属于后者。