How to start MRP process on Oracle 12c Active data guard

Mar 3, 2021

Share this post
issues-after-qlikview-version-upgrade-on-passive-node-of-production-servers

Introduction:

Starting form 12c Release 1 (12.1) USING CURRENT LOGFILE is deprecated and no longer required to start real-time apply. In this blog will list the commands to start/stop managed recovery process on 12cR1 and 12cR2 dataguard.

Description :

When the real-time apply feature is enabled, redo data can be directly applied on the standby database without the need of waiting for current standby redo log file to be archived.

To enable the real-time apply feature on physical standby database , issue the following sql statement, (Active Data guard option is licensed)

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Starting form 12c Release 1 (12.1) USING CURRENT LOGFILE is deprecated and no longer required to start real-time apply.

To stop the MRP, issue the following sql statement.

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Earlier on RAC environments, MRP process can be run only from one instance on standby site.

But starting from 12.2.0.1 Oracle database, using the MIRA ( Multi-Instance Redo Apply ) feature we can run MRP on specified number of instances or on all instances like,

From 12.2.0.1,

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE INSTANCES [ALL|integer];

To run MRP on all standby instances,

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION INSTANCES ALL;

To run MRP on specified number of instances,

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION INSTANCES 2;

How it works ?

Well, each apply instance on standby site will divide the threads of redo received from primary among the apply instances to improve the scalability of redo apply.

For example, 4 threads of redo from primary is divided by 2 threads for each apply instance on standby.

To cancel the MRP,

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

To check the status of the MRP,

SELECT STATUS FROM V$MANAGED_STANDBY WHERE PROCESS=’MRP0′;

Bottom Line:

 Managed recovery process (MRP) will maintain and apply the archive redo logs information to standby database.