RAC DG Broker ora-16843 ora-16839错误

新搭的一套ADG,在启用配置后,查询状态报以下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
DGMGRL> show configuration
Configuration - ADG_ZT

Protection Mode: MaxAvailability
Members:
cdb01 - Primary database
cdb02 - Physical standby database
ztdb - Physical standby database
Error: ORA-16843: errors discovered in diagnostic repository

DGMGRL> show database ztdb

Database - ztdb

Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 0 seconds ago)
Apply Lag: 0 seconds (computed 0 seconds ago)
Average Apply Rate: 29.00 KByte/s
Real Time Query: ON
Instance(s):
ztdb1

Database Error(s):
ORA-16839: one or more user data files are missing

Database Status:
ERROR

一度怀疑restore的时候部分文件丢失了,对比主备库两边的数据文件,并没有异常,备库查询恢复/还原错误,也是正常的。

1
2
3
4
RMAN> report schema;
RMAN> list failure;
Database Role: PHYSICAL STANDBY
no failures found that match specification

MOS上有一个bug,怀疑是这个bug引起的:
Bug 21495155 - data guard broker configuration shows ORA-16843 in RAC (Doc ID 21495155.8)

Workaround:
删除ADR下面的HM_FINDING.ams文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[[email protected] diag]$ find ./ -name "metadata"
./rdbms/ztdb01/ztdb011/metadata
[[email protected] diag]$ cd ./rdbms/ztdb01/ztdb011/metadata
[[email protected] metadata]$ mv HM_FINDING.ams HM_FINDING.ams.old
DGMGRL> show configuration

Configuration - ADG_ZT

Protection Mode: MaxAvailability
Members:
cdb01 - Primary database
cdb02 - Physical standby database
ztdb01 - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS (status updated 56 seconds ago)

[oracle@ztdb metadata]$ ls -ltr HM_FIND*
-rw-r----- 1 oracle oinstall 475136 9月 7 16:26 HM_FINDING.ams.old
-rw-r----- 1 oracle oinstall 65536 9月 7 17:15 HM_FINDING.ams

EOF

等待事件enq:TM contention 12c PDB级别可修改参数