Description: In my database archive log file are deleted from the primary database after taken RMAN backup. In physical standby database, there is log gap which is already deleted from the primary database and MRP process is waiting for the log file.
Solution:
1. Find out the backup archive log file.
list backup of archivelog sequence 8760;
2. Transfer backup archive log file into Standby database.
scp
3. Restore archive log file using log sequence number.
restore archivelog from sequence 8760 until sequence 8760 thread=1;
Checking in Standby Database for find out the archive log file details.
SQL> SELECT PROCESS, PID, STATUS, CLIENT_PROCESS, CLIENT_PID, RESETLOG_ID,
THREAD#, SEQUENCE#, BLOCK#, BLOCKS, DELAY_MINS
FROM V$MANAGED_STANDBY;
PROCESS PID STATUS CLIENT_P CLIENT_PID RESETLOG_ID THREAD# SEQUENCE# BLOCK# BLOCKS DELAY_MINS
--------- ---------- ------------ -------- ------------- ----------- ---------- ---------- ---------- ---------- ----------
ARCH 5636392 CLOSING ARCH 5636392 928567359 2 9357 75776 317 0
ARCH 2097262 CLOSING ARCH 2097262 928567359 1 9461 552960 541 0
ARCH 8061076 CLOSING ARCH 8061076 928567359 2 9359 364544 1996 0
ARCH 4390984 CONNECTED ARCH 4390984 0 0 0 0 0 0
MRP0 8323150 WAIT_FOR_GAP N/A N/A 928567359 1 8760 0 0 0
RFS 7536982 IDLE ARCH 8257884 0 0 0 0 0 0
RFS 2818346 IDLE ARCH 10682474 0 0 0 0 0 0
RFS 6356994 IDLE LGWR 14876892 928567359 2 9360 461397 2 0
RFS 9175274 IDLE LGWR 8061206 928567359 1 9462 1506619 12 0
RFS 10289552 IDLE UNKNOWN 10223730 0 0 0 0 0 0
10 rows selected.
SQL> SELECT NAME
FROM V$ARCHIVED_LOG
WHERE THREAD# = 1
AND DEST_ID = 1
AND SEQUENCE# BETWEEN 8760 AND 8760; 2 3 4 5
no rows selected
Checking in primary database is there any archive log file exist or not if it does not then find the backup file and transfer into the standby database.
SQL> SELECT NAME, STANDBY_DEST, DELETED
FROM GV$ARCHIVED_LOG
WHERE THREAD# = 1
AND DEST_ID = 1
AND SEQUENCE# BETWEEN 8760 AND 8760; 2 3 4 5
NAME STA DEL
------------------------------------------------------------ --- ---
NO YES
NO YES
SQL>
Solution:
1. Find out the backup archive log file.
list backup of archivelog sequence 8760;
2. Transfer backup archive log file into Standby database.
scp
3. Restore archive log file using log sequence number.
restore archivelog from sequence 8760 until sequence 8760 thread=1;
Checking in Standby Database for find out the archive log file details.
SQL> SELECT PROCESS, PID, STATUS, CLIENT_PROCESS, CLIENT_PID, RESETLOG_ID,
THREAD#, SEQUENCE#, BLOCK#, BLOCKS, DELAY_MINS
FROM V$MANAGED_STANDBY;
PROCESS PID STATUS CLIENT_P CLIENT_PID RESETLOG_ID THREAD# SEQUENCE# BLOCK# BLOCKS DELAY_MINS
--------- ---------- ------------ -------- ------------- ----------- ---------- ---------- ---------- ---------- ----------
ARCH 5636392 CLOSING ARCH 5636392 928567359 2 9357 75776 317 0
ARCH 2097262 CLOSING ARCH 2097262 928567359 1 9461 552960 541 0
ARCH 8061076 CLOSING ARCH 8061076 928567359 2 9359 364544 1996 0
ARCH 4390984 CONNECTED ARCH 4390984 0 0 0 0 0 0
MRP0 8323150 WAIT_FOR_GAP N/A N/A 928567359 1 8760 0 0 0
RFS 7536982 IDLE ARCH 8257884 0 0 0 0 0 0
RFS 2818346 IDLE ARCH 10682474 0 0 0 0 0 0
RFS 6356994 IDLE LGWR 14876892 928567359 2 9360 461397 2 0
RFS 9175274 IDLE LGWR 8061206 928567359 1 9462 1506619 12 0
RFS 10289552 IDLE UNKNOWN 10223730 0 0 0 0 0 0
10 rows selected.
SQL> SELECT NAME
FROM V$ARCHIVED_LOG
WHERE THREAD# = 1
AND DEST_ID = 1
AND SEQUENCE# BETWEEN 8760 AND 8760; 2 3 4 5
no rows selected
Checking in primary database is there any archive log file exist or not if it does not then find the backup file and transfer into the standby database.
SQL> SELECT NAME, STANDBY_DEST, DELETED
FROM GV$ARCHIVED_LOG
WHERE THREAD# = 1
AND DEST_ID = 1
AND SEQUENCE# BETWEEN 8760 AND 8760; 2 3 4 5
NAME STA DEL
------------------------------------------------------------ --- ---
NO YES
NO YES
SQL>
Find out the archive log file backup location
bash-4.3$ rman target/
Recovery Manager: Release 11.2.0.4.0 - Production on Sun May 14 12:54:18 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ******* (DBID=******* )
RMAN> list backup of archivelog sequence 8760 thread 1;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
3308    3.22G      DISK        00:06:39     09-MAY-17
        BP Key: 3308   Status: AVAILABLE  Compressed: YES  Tag: ORCL_ARCHIVE
        Piece Name: /rmanbackup/RMAN_ARC_inc_******* _943495084_3496_1_d8s3p5tc_1_1.arch
  List of Archived Logs in backup set 3308
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    8760    12151347030306 08-MAY-17 12151347165919 08-MAY-17
BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
3323    13.44G     SBT_TAPE    00:05:57     09-MAY-17
        BP Key: 3323   Status: AVAILABLE  Compressed: NO  Tag: TAG20170509T051719
        Handle: dks3piuo_1_1   Media: 2851
  List of Archived Logs in backup set 3323
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    8760    12151347030306 08-MAY-17 12151347165919 08-MAY-17
RMAN> exit
Recovery Manager complete.
bash-4.3$
Transfer into standby database 
scp /rmanbackup/RMAN_ARC_inc_******* _943495084_3496_1_d8s3p5tc_1_1.arch oracle@****:/rman/RMAN_ARC_inc_******* _943495084_3496_1_d8s3p5tc_1_1.arch
Connect RMAN from Standby database and restore archive log file 
bash-4.3$ rman target/
Recovery Manager: Release 11.2.0.4.0 - Production on Sun May 14 13:36:45 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ***** (DBID=******* )
RMAN> catalog backuppiece '/rman/RMAN_ARC_inc_******* _943495084_3496_1_d8s3p5tc_1_1.arch';
cataloged backup piece
backup piece handle=/rman/RMAN_ARC_inc_******* _943495084_3496_1_d8s3p5tc_1_1.arch RECID=170 STAMP=943969336
RMAN> restore archivelog from sequence 8760 until sequence 8760 thread=1;
Starting restore at 14-MAY-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=6114 device type=DISK
channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=8760
channel ORA_DISK_1: reading from backup piece /rman/RMAN_ARC_inc_******* _943495084_3496_1_d8s3p5tc_1_1.arch
channel ORA_DISK_1: piece handle=/rman/RMAN_ARC_inc_******* _943495084_3496_1_d8s3p5tc_1_1.arch tag=ORCL_ARCHIVE
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:08:05
Finished restore at 14-MAY-17
RMAN> exit
Recovery Manager complete.
Now Standby database will start applying the archive log file. If it is not started just stop and start recovery of the standby database.
Checking the applying start or not.
SQL> SELECT NAME
  FROM V$ARCHIVED_LOG
 WHERE THREAD# = 1
AND DEST_ID = 1
AND SEQUENCE# BETWEEN 8760 AND 8760;  2    3    4    5
NAME
--------------------------------------------------------------------------------
+FRA/****/archivelog/2017_05_14/thread_1_seq_8760.2508.943969813
SQL>
SQL> SELECT PROCESS, PID, STATUS, CLIENT_PROCESS, CLIENT_PID, RESETLOG_ID,
 THREAD#, SEQUENCE#, BLOCK#, BLOCKS, DELAY_MINS
 FROM V$MANAGED_STANDBY;   2    3
PROCESS          PID STATUS       CLIENT_P CLIENT_PID                               RESETLOG_ID    THREAD#  SEQUENCE#     BLOCK#     BLOCKS DELAY_MINS
--------- ---------- ------------ -------- ---------------------------------------- ----------- ---------- ---------- ---------- ---------- ----------
ARCH         5636392 CLOSING      ARCH     5636392                                    928567359          2       9282     129024        828          0
ARCH         2097262 CLOSING      ARCH     2097262                                    928567359          1       9462    1767424       1537          0
ARCH         8061076 CLOSING      ARCH     8061076                                    928567359          2       9359     364544       1996          0
ARCH         4390984 CONNECTED    ARCH     4390984                                            0          0          0          0          0          0
MRP0         8323150 APPLYING_LOG N/A      N/A                                        928567359          1       8799      12876     944628          0
RFS          7536982 RECEIVING    UNKNOWN  8257884                                    928567359          1       8941      32769       2048          0
RFS         10355038 IDLE         ARCH     10682474                                           0          0          0          0          0          0
RFS          8454490 IDLE         LGWR     14876892                                   928567359          2       9362     442233          4          0
RFS          9175274 IDLE         LGWR     8061206                                    928567359          1       9463    1334595          5          0
RFS         10289552 IDLE         UNKNOWN  10223730                                           0          0          0          0          0          0
RFS          2818374 RECEIVING    ARCH     14877160                                           0          0          0          0          0          0
PROCESS          PID STATUS       CLIENT_P CLIENT_PID                               RESETLOG_ID    THREAD#  SEQUENCE#     BLOCK#     BLOCKS DELAY_MINS
--------- ---------- ------------ -------- ---------------------------------------- ----------- ---------- ---------- ---------- ---------- ----------
RFS          6095152 RECEIVING    UNKNOWN  29163686                                   928567359          2       9296     761858       2048          0
RFS          7733286 RECEIVING    UNKNOWN  10092786                                   928567359          1       8940      49153       2048          0
13 rows selected.
SQL>
No comments:
Post a Comment