Skip to content
Home » Oracle Database » How to Resolve ORA-16813: log apply service not running on apply instance

How to Resolve ORA-16813: log apply service not running on apply instance

Sometimes, the data guard broker must be waked up to be functional well, ORA-16813 is one of the cases:
[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.

Leave a Reply

Your email address will not be published. Required fields are marked *