[oracle@primary01 ~]$ dgmgrl sys/password@primdb1
...
DGMGRL> show database standb;
Database - standb
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: OFF
Instance(s):
standb1 (apply instance)
standb2
Warning: ORA-16813: log apply service not running on apply instance standb1 recorded by the broker
Database Status:
WARNING
The error message told us that applying service is not running. Let's check the apply service by doing this:
[oracle@standby01 ~]$ sqlplus / as sysdba
...
SQL> select inst_id, process, status, thread#, sequence#, block#, blocks from gv$managed_standby where process in ('RFS','LNS','MRP0');
INST_ID PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
---------- --------- ------------ ---------- ---------- ---------- ----------
1 RFS IDLE 0 0 0 0
1 RFS IDLE 0 0 0 0
1 RFS IDLE 1 79 5798 2
1 RFS IDLE 0 0 0 0
1 RFS IDLE 0 0 0 0
1 RFS IDLE 0 0 0 0
1 RFS IDLE 0 0 0 0
1 RFS IDLE 2 75 3229 1
1 MRP0 APPLYING_LOG 2 75 3224 102400
9 rows selected.
You can see the MRP0 is still applying log in instance #1, which proves that the apply service is still alive and in a good shape.
One simple step can remove the error by enabling the standby database.
DGMGRL> enable database standb;
Enabled.
DGMGRL> show database standb;
Database - standb
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: OFF
Instance(s):
standb1 (apply instance)
standb2
Database Status:
SUCCESS
DGMGRL>
The broker is back to normal. If enabling database is not working, you can try to enable configuration instead.