{"id":4160,"date":"2025-06-08T02:40:00","date_gmt":"2025-06-08T02:40:00","guid":{"rendered":"https:\/\/w3buddy.com\/?post_type=cposts&#038;p=4160"},"modified":"2025-06-09T15:33:01","modified_gmt":"2025-06-09T15:33:01","slug":"start-stop-mrp-process-in-oracle-data-guard","status":"publish","type":"cposts","link":"https:\/\/w3buddy.com\/blog\/notes\/oracle-dba-d2d-tasks\/start-stop-mrp-process-in-oracle-data-guard\/","title":{"rendered":"Start &amp; Stop MRP Process in Oracle Data Guard"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">MRP applies redo logs on a physical standby to keep it synchronized with primary. Starting\/stopping MRP controls redo apply.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Verify Standby Role &amp; State<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><code>-- Confirm standby database role and state\nSELECT DATABASE_ROLE, OPEN_MODE FROM V$DATABASE;<\/code><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Expected output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DATABASE_ROLE     OPEN_MODE\n----------------  --------\nPHYSICAL STANDBY  MOUNTED<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Start MRP<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><code>-- Start managed recovery (redo apply) in background (recommended)\nALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;\n\n-- (Optional) Enable real-time apply in background\nALTER DATABASE RECOVER MANAGED STANDBY DATABASE REALTIME APPLY DISCONNECT;<\/code><\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> Use <code>DISCONNECT<\/code> to run MRP in background, freeing your session for other work.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Verify MRP Status<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><code>-- Check MRP process status\nSELECT PROCESS, STATUS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE 'MRP%';<\/code><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Expected status: <code>APPLYING_LOG<\/code> or <code>WAIT_FOR_LOG<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Stop MRP<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><code>-- Stop managed recovery process\nALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;<\/code><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Confirm MRP is Stopped<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><code>-- Confirm MRP stopped\nSELECT PROCESS, STATUS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE 'MRP%';<\/code><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Expected status: <code>CANCELLED<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Additional Monitoring<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><code>-- Detailed recovery process status\nSELECT PROCESS, STATUS, THREAD#, SEQUENCE# FROM V$MANAGED_STANDBY;\n\n-- View archived logs applied (DEST_ID usually 2)\nSELECT THREAD#, SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG WHERE DEST_ID = 2 ORDER BY SEQUENCE#;<\/code><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Data Guard Broker Monitoring (if used)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><code>DGMGRL> SHOW CONFIGURATION;\nDGMGRL> SHOW DATABASE '&lt;standby_db_name>';<\/code><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Notes<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MRP must run on a <strong>physical standby in MOUNT mode<\/strong>.<\/li>\n\n\n\n<li><code>DISCONNECT<\/code> runs MRP asynchronously, freeing the SQL session immediately. Without it, session remains connected until MRP is stopped.<\/li>\n\n\n\n<li>Real-time apply minimizes redo apply lag but is optional.<\/li>\n\n\n\n<li>Always monitor alert logs and Data Guard broker logs for issues.<\/li>\n\n\n\n<li>Stopping MRP pauses redo apply but does not affect data consistency.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>MRP applies redo logs on a physical standby to keep it synchronized with primary. Starting\/stopping MRP controls redo apply. 1. Verify Standby Role &amp; State Expected output: 2. Start MRP Note: Use DISCONNECT to run MRP in background, freeing your session for other work. 3. Verify MRP Status Expected status: APPLYING_LOG or WAIT_FOR_LOG 4. Stop [&hellip;]<\/p>\n","protected":false},"template":"","meta":{"googlesitekit_rrm_CAowu461DA:productID":""},"categories":[952,984],"class_list":["post-4160","cposts","type-cposts","status-publish","hentry","category-notes","category-oracle-dba-d2d-tasks"],"_links":{"self":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/cposts\/4160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/cposts"}],"about":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/types\/cposts"}],"wp:attachment":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/media?parent=4160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/categories?post=4160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}