一、知识点
1.强烈建议大家管理dataguard使用broker。
2.broker的日志要知道在哪里,会看日志是学习的第一步。
3.体系结构需要看官方文档。

二、测试过程

1.查看DMON进程
$ps -ef|grep dmon
oracle   16045     1  0 15:49 ?        00:00:00 ora_dmon_orcldg
oracle   16873 15880  0 15:52 pts/0    00:00:00 grep --color=auto dmon
2.kill DMON进程
$kill 16045
$
3.查看broker日志
$tail -f drc*.log
2017-12-18 15:49:36.224                      SQL [ALTER SYSTEM REGISTER] Executed successfully
12/18/2017 15:49:36
Broker Configuration:       "dg_config"
      Protection Mode:            Maximum Performance
      Fast-Start Failover (FSFO): Disabled, flags=0x0, version=0
      Primary Database:           orcl (0x01010000)
12/18/2017 15:49:40
orcldg version check successfully completed
Broker configuration file is current on orcldg, completing initialization
Creating process RSM0  --正常状态
12/18/2017 15:53:13
RSM0 terminating since Data Guard Broker Monitor Process (DMON) is not running
12/18/2017 15:53:39
No DMON process running, NetSlave exiting... --进程被KILL的日志
12/18/2017 15:53:53
PMON Deregistering service orcldg_DGB with listener(s)
2017-12-18 15:53:54.951                      PMON: >> Broker cleanup complete <<
2017-12-18 15:53:54.951                      Restart Data Guard Broker Process, DMON
2017-12-18 15:53:54.951                      PMON: Creating Data Guard Broker Monitor Process (DMON)
2017-12-18 15:53:57.147                      drcx: DMON is not yet available for PROBE.
2017-12-18 15:53:57.964                      >> Starting Data Guard Broker bootstrap <<  --自动重启dmon
2017-12-18 15:53:57.964                      Broker Configuration File Locations:
2017-12-18 15:53:57.964                            dg_broker_config_file1 = "+DATADG/orcldg/dr1.dat"   --配置文件路径
2017-12-18 15:53:57.964                            dg_broker_config_file2 = "+DATADG/orcldg/dr2.dat"   --配置文件路径
2017-12-18 15:53:57.964                      DMON: Attach state object
2017-12-18 15:53:57.964                      DMON: rfafoGetLocks reinitializing dubious PMYSHUT lock value block contents: sts=0, flags=0x0, spare1=0x0, spare2=0x0, cksm=0x0, rndm=0x0
2017-12-18 15:53:57.965                      DMON: Broker state reconciled, version = 0, state = 00000000
2017-12-18 15:53:57.965                      DMON: Broker State Initialized  --初始化
2017-12-18 15:53:57.965                            Version = 1
2017-12-18 15:53:57.965                            State = 00000000
2017-12-18 15:53:57.965                      DMON: Entered rfm_get_chief_lock() for CTL_BOOTSTRAP, reason 2
2017-12-18 15:53:57.965 7fffffff           0 DMON: Entered rfm_get_chief_lock() for CTL_BOOTSTRAP, reason 0
2017-12-18 15:53:58.980 7fffffff           0 DMON: start task execution: broker initialization
2017-12-18 15:53:58.980                      DMON: Boot configuration (0.0.0), loading from "+DATADG/orcldg/dr2.dat"
2017-12-18 15:53:58.996                      DMON Registering service orcldg_DGB with listener(s)
2017-12-18 15:53:58.996                      DMON: Executing SQL [ALTER SYSTEM REGISTER]
2017-12-18 15:53:58.996                      SQL [ALTER SYSTEM REGISTER] Executed successfully
12/18/2017 15:53:59
Broker Configuration:       "dg_config"
      Protection Mode:            Maximum Performance
      Fast-Start Failover (FSFO): Disabled, flags=0x0, version=0
      Primary Database:           orcl (0x01010000)
12/18/2017 15:54:02
orcldg version check successfully completed
Broker configuration file is current on orcldg, completing initialization
Creating process RSM0

整个进程自动重启的时间不超过1分钟,自动完成。