一、问题描述
1.查看broker日志发现报错
tail -f drcorcl.log
>> Starting Data Guard Broker bootstrap <<
Broker Configuration File Locations:
dg_broker_config_file1 = "+DATADG/orcl/dr1.dat"
dg_broker_config_file2 = "+DATADG/orcl/dr2.dat"
2017-12-02 17:08:50.847 DMON: Attach state object
2017-12-02 17:08:50.941 DMON: cannot open configuration file "+DATADG/orcl/dr2.dat", retrying
2017-12-02 17:08:51.952 DMON: cannot open configuration file "+DATADG/orcl/dr2.dat"
2017-12-02 17:08:51.954 ORA-17503: ksfdopn:2 Failed to open file +DATADG/orcl/dr2.dat
2017-12-02 17:08:51.954 ORA-15173: entry 'dr2.dat' does not exist in directory 'orcl'
2017-12-02 17:08:51.954 DMON: Error opening "+DATADG/orcl/dr2.dat", error = ORA-16572
2017-12-02 17:08:51.954 DMON: Establishing "+DATADG/orcl/dr1.dat" as the more current file
2017-12-02 17:08:51.958 DMON: rfafoGetLocks reinitializing dubious PMYSHUT lock value block contents: sts=0, flags=0x0, spare1=0x0, spare2=0x0, cksm=0x0, rndm=0x0
2017-12-02 17:08:51.958 DMON: Broker state reconciled, version = 0, state = 00000000
2017-12-02 17:08:51.958 DMON: Broker State Initialized
2017-12-02 17:08:51.958 Version = 1
2017-12-02 17:08:51.958 State = 00000000
2017-12-02 17:08:51.958 DMON: Entered rfm_get_chief_lock() for CTL_BOOTSTRAP, reason 2
2017-12-02 17:08:51.959 7fffffff 0 DMON: Entered rfm_get_chief_lock() for CTL_BOOTSTRAP, reason 0
2017-12-02 17:08:55.971 7fffffff 0 DMON: start task execution: broker initialization
2017-12-02 17:08:55.971 DMON: Boot configuration (0.0.0), loading from "+DATADG/orcl/dr1.dat"
2017-12-02 17:08:55.979 DMON Registering service orcl_DGB with listener(s)
2017-12-02 17:08:55.980 DMON: Executing SQL [ALTER SYSTEM REGISTER]
2017-12-02 17:08:55.980 SQL [ALTER SYSTEM REGISTER] Executed successfully
12/02/2017 17:08:55
Broker Configuration: "dg_config"
Protection Mode: Maximum Availability
Fast-Start Failover (FSFO): Disabled, flags=0x0, version=0
Primary Database: orcl (0x01010000)
2.查看broker是否正常
DGMGRL> show configuration;
Configuration - dg_config
Protection Mode: MaxAvailability
Members:
orcl - Primary database
orcldg - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS (status updated 57 seconds ago) --正常可用。
因为设置了两个broker文件,所以损坏了一个文件没所谓。
二、处理过程
1.停掉dmon进程
SQL> alter system set dg_broker_start=false;
System altered.
2.复制配置文件
<roidb01:+ASM:/home/grid>$asmcmd -p
lsASMCMD [+] >
DATADG/
ASMCMD [+] > cd datadg
ASMCMD [+datadg] > ls
ASM/
ORCL/
arcch/
arch/
orapwasm
ASMCMD [+datadg] > cd orcl
ASMCMD [+datadg/orcl] > ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
DATAGUARDCONFIG/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
dr1.dat
ASMCMD [+datadg/orcl] > cp dr1.dat dr2.dat
3.启动dmon
SQL> alter system set dg_broker_start=true;
System altered.
SQL> !ps -ef|grep dmon
oracle 31088 1 0 17:40 ? 00:00:00 ora_dmon_orcl
oracle 31120 25505 0 17:40 pts/0 00:00:00 /bin/bash -c ps -ef|grep dmon
oracle 31122 31120 0 17:40 pts/0 00:00:00 grep dmon
SQL>
4.查看broker日志
12/02/2017 17:38:05
Data Guard Broker shutting down
RSM0 successfully terminated
2017-12-02 17:38:08.711 >> DMON Process Shutdown <<
2017-12-02 17:38:09.710 Fore Deregistering service orcl_DGB with listener(s)
2017-12-02 17:38:09.711 Fore: Executing SQL [ALTER SYSTEM REGISTER]
2017-12-02 17:38:09.711 SQL [ALTER SYSTEM REGISTER] Executed successfully
2017-12-02 17:40:04.954 LGWR: Creating Data Guard Broker Monitor Process (DMON)
2017-12-02 17:40:07.977 >> Starting Data Guard Broker bootstrap <<
2017-12-02 17:40:07.977 Broker Configuration File Locations:
2017-12-02 17:40:07.977 dg_broker_config_file1 = "+DATADG/orcl/dr1.dat"
2017-12-02 17:40:07.977 dg_broker_config_file2 = "+DATADG/orcl/dr2.dat"
2017-12-02 17:40:07.977 DMON: Attach state object
2017-12-02 17:40:07.978 DMON: rfafoGetLocks reinitializing dubious PMYSHUT lock value block contents: sts=0, flags=0x0, spare1=0x0, spare2=0x0, cksm=0x0, rndm=0x0
2017-12-02 17:40:07.978 DMON: Broker state reconciled, version = 0, state = 00000000
2017-12-02 17:40:07.978 DMON: Broker State Initialized
2017-12-02 17:40:07.978 Version = 1
2017-12-02 17:40:07.978 State = 00000000
2017-12-02 17:40:07.978 DMON: Entered rfm_get_chief_lock() for CTL_BOOTSTRAP, reason 2
2017-12-02 17:40:07.978 7fffffff 0 DMON: Entered rfm_get_chief_lock() for CTL_BOOTSTRAP, reason 0
2017-12-02 17:40:11.012 7fffffff 0 DMON: start task execution: broker initialization
2017-12-02 17:40:11.013 DMON: Boot configuration (0.0.0), loading from "+DATADG/orcl/dr1.dat"
2017-12-02 17:40:11.027 DMON Registering service orcl_DGB with listener(s)
2017-12-02 17:40:11.027 DMON: Executing SQL [ALTER SYSTEM REGISTER]
2017-12-02 17:40:11.027 SQL [ALTER SYSTEM REGISTER] Executed successfully
12/02/2017 17:40:11
Broker Configuration: "dg_config"
Protection Mode: Maximum Availability
Fast-Start Failover (FSFO): Disabled, flags=0x0, version=0
Primary Database: orcl (0x01010000)
12/02/2017 17:40:15
Version Check Results:
Database orcldg returned ORA-00000
Creating process RSM0