Backup and Restore a Standby Database

 I have seen some I.T. managers that decide to backup only the Primary Database and not the Standby. The logic is “if the Storage or Server for the Standby go down, we can rebuild the database from the Primary”.   OR “we haven’t allocated storage  /  tape drive space at the Standby site”    OR  “our third-party backup tool does not know how to backup a Standby database and handle the warning about Archive Logs that is generated when it issues  a “PLUS ARCHIVELOG”   {see the warning below when I run the backup command)

Do they factor the time that is required to run Backup, Copy, Restore commands  OR run the Duplicate command to rebuild the Standby ?  All that while their Critical database is running without a Standby — without a D.R. site.

Given a moderately large Database, it can be faster to restore from a “local” Backup at the Standby then to copy / duplicate across the network.  Also, this method does NOT require rebuilding DataGuard Broker configuration.

Firstly, you CAN backup a Standby even while Recovery (i.e. Redo Apply) is running.  The only catch is the “PLUS ARCHIVELOG” clause in “BACKUP … DATABASE PLUS ARCHIVELOG” returns a minor error because a Standby cannot issue “ALTER SYSTEM ARCHIVE LOG CURRENT” (or “ALTER SYSTEM SWITCH LOGFILE”)

Here’s my Backup command at the Standby (while Redo Apply — i.e. Media Recovery — is running) without issuing a CANCEL RECOVERY.

RMAN> backup as compressed backupset 2> database 3> format '/tmp/STDBY_Backup/DB_DataFiles_%U.bak' 4> plus archivelog 5> format '/tmp/STDBY_Backup/DB_ArchLogs_%U.bak'; .... .... RMAN> backup current controlfile 2> format '/tmp/STDBY_Backup/standby_controlfile.bak'; 

So, when I run the Backup, it starts of with  and also ends with :

RMAN-06820: warning: failed to archive current log at primary database cannot connect to remote database .... .... .... RMAN-06820: warning: failed to archive current log at primary database cannot connect to remote database using channel ORA_DISK_1 specification does not match any archived log in the repository backup cancelled because there are no files to backup  

because it cannot issue an “ALTER DATABASE ARCHIVE LOG COMMAND” — which can only be done at a Primary.  These warnings do not trouble me.

A LIST BACKUP command at the Standby *does* show Backups created locally (it will not show Backups at the Primary unless I connect to the same Recovery Catalog that is being used by the Primary)  ( I have excluded listing each ArchiveLog / Datafile from the output here)

RMAN> list backup; list backup; using target database control file instead of recovery catalog  List of Backup Sets ===================  BS Key  Size       Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 311     44.10M     DISK        00:00:02     01-MAY-25         BP Key: 311   Status: AVAILABLE  Compressed: YES  Tag: TAG20250501T074832         Piece Name: /tmp/STDBY_Backup/DB_ArchLogs_ad3objeg_333_1_1.bak    List of Archived Logs in backup set 311   Thrd Seq     Low SCN    Low Time  Next SCN   Next Time   ---- ------- ---------- --------- ---------- ---------   1    393     11126161   01-MAY-25 11126287   01-MAY-25   1    394     11126287   01-MAY-25 11127601   01-MAY-25 ... ...   2    338     11126158   01-MAY-25 11126290   01-MAY-25   2    339     11126290   01-MAY-25 11127596   01-MAY-25  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 312     Full    1.07G      DISK        00:00:57     01-MAY-25         BP Key: 312   Status: AVAILABLE  Compressed: YES  Tag: TAG20250501T074835         Piece Name: /tmp/STDBY_Backup/DB_DataFiles_ae3objej_334_1_1.bak   List of Datafiles in backup set 312   File LV Type Ckp SCN    Ckp Time  Abs Fuz SCN Sparse Name   ---- -- ---- ---------- --------- ----------- ------ ---- .... ....  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 313     Full    831.00M    DISK        00:00:43     01-MAY-25         BP Key: 313   Status: AVAILABLE  Compressed: YES  Tag: TAG20250501T074835         Piece Name: /tmp/STDBY_Backup/DB_DataFiles_af3objgk_335_1_1.bak   List of Datafiles in backup set 313   Container ID: 3, PDB Name: PDB1   File LV Type Ckp SCN    Ckp Time  Abs Fuz SCN Sparse Name   ---- -- ---- ---------- --------- ----------- ------ ---- .... ....  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 314     Full    807.77M    DISK        00:00:42     01-MAY-25         BP Key: 314   Status: AVAILABLE  Compressed: YES  Tag: TAG20250501T074835         Piece Name: /tmp/STDBY_Backup/DB_DataFiles_ag3obji1_336_1_1.bak   List of Datafiles in backup set 314   Container ID: 5, PDB Name: TSTPDB   File LV Type Ckp SCN    Ckp Time  Abs Fuz SCN Sparse Name   ---- -- ---- ---------- --------- ----------- ------ ---- .... ....  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 315     Full    807.75M    DISK        00:00:43     01-MAY-25         BP Key: 315   Status: AVAILABLE  Compressed: YES  Tag: TAG20250501T074835         Piece Name: /tmp/STDBY_Backup/DB_DataFiles_ah3objje_337_1_1.bak   List of Datafiles in backup set 315   Container ID: 2, PDB Name: PDB$  SEED   File LV Type Ckp SCN    Ckp Time  Abs Fuz SCN Sparse Name   ---- -- ---- ---------- --------- ----------- ------ ---- .... ....  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 317     Full    19.58M     DISK        00:00:01     01-MAY-25         BP Key: 317   Status: AVAILABLE  Compressed: NO  Tag: TAG20250501T075522         Piece Name: /tmp/STDBY_Backup/standby_controlfile.bak   Standby Control File Included: Ckp SCN: 11128626     Ckp time: 01-MAY-25  RMAN> 

So I can confirm that I have *local* backups (including ArchiveLogs present at the Standby and backed up before the Datafile backup begins).  The last ArchiveLog backed up at the Standby is SEQ#394 for Thread#1 and SEQ#339 for Thread#2

Meanwhile, the Standby has already applied subsequent ArchiveLogs as Recovery had not been cancelled.
Now I simulate loss / corruption of the filesystem holding the Standby datafiles and controlfiles and attempt a Restore (if the Standby Redo Logs are also lost, I must add them again later before I resume recovery).
I do a SHUTDOWN ABORT at the Standby if he instance seems to be running.  
(not shown here)
First I stop Redo Shipping from the Primary

DGMGRL> connect sys Password: Connected to "RACDB" Connected as SYSDBA. DGMGRL> EDIT DATABASE 'RACDB' SET STATE='TRANSPORT-OFF'; Succeeded. DGMGRL> 

Next I Restore the *standby* controlfile at my Standby server (note that I connect to “target” and specify “standby controlfile“).  Note : If my SPFILE or PFILE is not available at the Standby, I have to restore that as well before I  STARTUP NOMOUNT.

[oracle@stdby ~]$   rman target /  Recovery Manager: Release 19.0.0.0.0 - Production on Thu May 1 08:27:23 2025 Version 19.25.0.0.0  Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.  connected to target database (not started)  RMAN> startup nomount; startup nomount; Oracle instance started  Total System Global Area    2147480256 bytes  Fixed Size                     9179840 bytes Variable Size                486539264 bytes Database Buffers            1644167168 bytes Redo Buffers                   7593984 bytes   RMAN> restore standby controlfile from '/tmp/STDBY_Backup/standby_controlfile.bak'; restore standby controlfile from '/tmp/STDBY_Backup/standby_controlfile.bak'; Starting restore at 01-MAY-25 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=310 device type=DISK  channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/Standby_DB/oradata/control01.ctl output file name=/Standby_DB/FRA/control02.ctl Finished restore at 01-MAY-25   RMAN> 

I am now ready to CATALOG the Backups and RESTORE the Database

RMAN> alter database mount; alter database mount; released channel: ORA_DISK_1 Statement processed   RMAN> catalog start with '/tmp/STDBY_Backup'; catalog start with '/tmp/STDBY_Backup'; Starting implicit crosscheck backup at 01-MAY-25 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=11 device type=DISK Crosschecked 13 objects Finished implicit crosscheck backup at 01-MAY-25  Starting implicit crosscheck copy at 01-MAY-25 using channel ORA_DISK_1 Finished implicit crosscheck copy at 01-MAY-25  searching for all files in the recovery area cataloging files... no files cataloged  searching for all files that match the pattern /tmp/STDBY_Backup  List of Files Unknown to the Database ===================================== File Name: /tmp/STDBY_Backup/standby_controlfile.bak  Do you really want to catalog the above files (enter YES or NO)? YES cataloging files... cataloging done  List of Cataloged Files ======================= File Name: /tmp/STDBY_Backup/standby_controlfile.bak   RMAN> 

In this case, the Standby Controlfile backup was taken *after* the Datafile and ArchiveLog backups, so this Controlfile is already “aware” of the backups (they are already included in the controlfile).  Neverthless, I can do some verification : ( I have excluded listing each ArchiveLog / Datafile from the output here)

RMAN> list backup ; list backup ;  List of Backup Sets ===================   BS Key  Size       Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 311     44.10M     DISK        00:00:02     01-MAY-25         BP Key: 311   Status: AVAILABLE  Compressed: YES  Tag: TAG20250501T074832         Piece Name: /tmp/STDBY_Backup/DB_ArchLogs_ad3objeg_333_1_1.bak  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 312     Full    1.07G      DISK        00:00:57     01-MAY-25  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 313     Full    831.00M    DISK        00:00:43     01-MAY-25  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 314     Full    807.77M    DISK        00:00:42     01-MAY-25  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 315     Full    807.75M    DISK        00:00:43     01-MAY-25  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 316     Full    19.61M     DISK        00:00:01     01-MAY-25  BS Key  Type LV Size       Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 317     Full    19.58M     DISK        00:00:01     01-MAY-25         BP Key: 317   Status: AVAILABLE  Compressed: NO  Tag: TAG20250501T075522         Piece Name: /tmp/STDBY_Backup/standby_controlfile.bak   Standby Control File Included: Ckp SCN: 11128626     Ckp time: 01-MAY-25   RMAN> 

For good measure, I can also verify that this “database” is  a Standby  (only the controlfile is presently restored” is a *Standby Database* (that a database is a Primary or a Standby is information in the *Controlfile*, not in the Datafiles)

RMAN> exit exit  RMAN Client Diagnostic Trace file : /u01/app/oracle/diag/clients/user_oracle/host_4144547424_110/trace/ora_4560_140406053321216.trc  Recovery Manager complete. [oracle@stdby ~]$   sqlplus / as sysdba  SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 1 08:37:54 2025 Version 19.25.0.0.0  Copyright (c) 1982, 2024, Oracle.  All rights reserved.   Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.25.0.0.0  SQL> select open_mode, database_role from v$  database;  OPEN_MODE            DATABASE_ROLE -------------------- ---------------- MOUNTED              PHYSICAL STANDBY  SQL> 

I can return to RMAN and RESTORE the Database. (I still invoke RMAN to connect to “target”, not “auxiliary”

SQL> exit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.25.0.0.0 [oracle@stdby ~]$   rman target /  Recovery Manager: Release 19.0.0.0.0 - Production on Thu May 1 08:40:32 2025 Version 19.25.0.0.0  Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.  connected to target database: RACDB (DBID=1162136313, not open)  RMAN>  RMAN> restore database; restore database; Starting restore at 01-MAY-25 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=2 device type=DISK  channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00001 to /Standby_DB/oradata/STDBY/datafile/o1_mf_system_m33j9fqn_.dbf ... ... ... channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00005 to /Standby_DB/oradata/STDBY/14769E258FBB5FD8E0635A38A8C09D43/datafile/o1_mf_system_m33jb79n_.dbf channel ORA_DISK_1: restoring datafile 00006 to /Standby_DB/oradata/STDBY/14769E258FBB5FD8E0635A38A8C09D43/datafile/o1_mf_sysaux_m33jbbgz_.dbf channel ORA_DISK_1: restoring datafile 00008 to /Standby_DB/oradata/STDBY/14769E258FBB5FD8E0635A38A8C09D43/datafile/o1_mf_undotbs1_m33jbgrs_.dbf channel ORA_DISK_1: reading from backup piece /tmp/STDBY_Backup/DB_DataFiles_ah3objje_337_1_1.bak channel ORA_DISK_1: piece handle=/tmp/STDBY_Backup/DB_DataFiles_ah3objje_337_1_1.bak tag=TAG20250501T074835 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:45 Finished restore at 01-MAY-25   RMAN> 

Next, I restore the ArchiveLogs that I have in the local backup instead of having to wait for them to be shipped from the Primary during the Recover Phase

RMAN> restore archivelog from time "trunc(sysdate)"; restore archivelog from time "trunc(sysdate)"; Starting restore at 01-MAY-25 using channel ORA_DISK_1  channel ORA_DISK_1: starting archived log restore to default destination channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=391 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=392 channel ORA_DISK_1: restoring archived log archived log thread=2 sequence=336 channel ORA_DISK_1: restoring archived log archived log thread=2 sequence=337 channel ORA_DISK_1: restoring archived log archived log thread=2 sequence=338 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=393 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=394 channel ORA_DISK_1: restoring archived log archived log thread=2 sequence=339 channel ORA_DISK_1: reading from backup piece /tmp/STDBY_Backup/DB_ArchLogs_ad3objeg_333_1_1.bak channel ORA_DISK_1: piece handle=/tmp/STDBY_Backup/DB_ArchLogs_ad3objeg_333_1_1.bak tag=TAG20250501T074832 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:03 Finished restore at 01-MAY-25   RMAN> RMAN>  list archivelog all completed after "trunc(sysdate)";  list archivelog all completed after "trunc(sysdate)"; List of Archived Log Copies for database with db_unique_name STDBY =====================================================================  Key     Thrd Seq     S Low Time ------- ---- ------- - --------- 675     1    391     A 27-APR-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_391_n16fcchs_.arc  667     1    391     A 27-APR-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_391_n169cng5_.arc  682     1    392     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_392_n16fcbh7_.arc  670     1    392     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_392_n169fh7s_.arc  678     1    393     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_393_n16fcckd_.arc  671     1    393     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_393_n169g77l_.arc  677     1    394     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_394_n16fccjb_.arc  674     1    394     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_1_394_n169my72_.arc  680     2    336     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_336_n16fccnv_.arc  668     2    336     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_336_n169d0fm_.arc  681     2    337     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_337_n16fcbhy_.arc  669     2    337     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_337_n169fh6j_.arc  679     2    338     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_338_n16fccm6_.arc  672     2    338     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_338_n169g790_.arc  676     2    339     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_339_n16fcchw_.arc  673     2    339     A 01-MAY-25         Name: /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_339_n169mxfp_.arc    RMAN> 

(the output shows duplicate entries if either the ArchiveLogs were already present at the Standby OR the Restore was executed twice)

So, I also have the ArchiveLogs now. 
I add Standby Logs first (Add for each Thread in the Primary, and at the same size as Online Logs at the Primary)

RMAN> exit exit  sqlRMAN Client Diagnostic Trace file : /u01/app/oracle/diag/clients/user_oracle/host_4144547424_110/trace/ora_5380_139777366395392.trc  Recovery Manager complete. [oracle@stdby ~]$   sqlplus / as sysdba  SQL> select thread#, group# from v$  standby_log;     THREAD#     GROUP# ---------- ----------          1          5          2          6          0          7          1          8          1          9          1         10          2         11          2         12  8 rows selected.  SQL> alter database drop standby logfile group 5;  Database altered.  SQL> alter database drop standby logfile group 6;  Database altered.  SQL> alter database drop standby logfile group 7;  Database altered.  SQL> alter database drop standby logfile group 8; alter database drop standby logfile group 8 * ERROR at line 1: ORA-00313: open failed for members of log group 8 of thread 1 ORA-00312: online log 8 thread 1: '/Standby_DB/FRA/STDBY/onlinelog/o1_mf_8_mb6rdbos_.log' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7 ORA-00312: online log 8 thread 1: '/Standby_DB/oradata/STDBY/onlinelog/o1_mf_8_mb6rd9h8_.log' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7   SQL> alter database drop standby logfile group 9;  Database altered.  SQL> alter database drop standby logfile group 10;  Database altered.  SQL> alter database drop standby logfile group 11; alter database drop standby logfile group 11 * ERROR at line 1: ORA-00313: open failed for members of log group 11 of thread 2 ORA-00312: online log 11 thread 2: '/Standby_DB/FRA/STDBY/onlinelog/o1_mf_11_mb6rf8ob_.log' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7 ORA-00312: online log 11 thread 2: '/Standby_DB/oradata/STDBY/onlinelog/o1_mf_11_mb6rf7hs_.log' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7   SQL> alter database drop standby logfile group 12;  Database altered.  SQL> SQL> select thread#, group# from v$  standby_log;     THREAD#     GROUP# ---------- ----------          1          8          2         11  SQL> SQL> alter database clear logfile group 8;  Database altered.  SQL> alter database clear logfile group 11;  Database altered.  SQL> SQL> alter database drop standby logfile group 8;  Database altered.  SQL>  alter database drop standby logfile group 11;  Database altered.  SQL> select thread#, group# from v$  standby_log;  no rows selected  SQL> SQL> alter database add standby logfile thread 1 size 512M;  Database altered.  SQL> alter database add standby logfile thread 1 size 512M;  Database altered.  SQL> alter database add standby logfile thread 2 size 512M;  Database altered.  SQL> alter database add standby logfile thread 2 size 512M;  Database altered.  SQL> alter database add standby logfile thread 2 size 512M;  Database altered.  SQL> SQL> select thread#, group# from v$  standby_log order by 1,2;     THREAD#     GROUP# ---------- ----------          1          5          1          6          1          7          2          8          2          9          2         10  6 rows selected.  SQL> 

I have to clear and then drop and recreate one Standby Log of each Thread that were last being used just before all the files were lost — so the controlfile expected Group 8 and Group 11 to be present. These were the entries in the alert log for the last set of Recover commands before the storage was lost :

2025-05-01T08:10:41.554409+00:00 Recovery of Online Redo Log: Thread 2 Group 11 Seq 343 Reading mem 0   Mem# 0: /Standby_DB/oradata/STDBY/onlinelog/o1_mf_11_mb6rf7hs_.log   Mem# 1: /Standby_DB/FRA/STDBY/onlinelog/o1_mf_11_mb6rf8ob_.log 2025-05-01T08:10:41.557828+00:00 ARC1 (PID:1813): Archived Log entry 680 added for B-1164519547.T-1.S-397 LOS:0x0000000000a9f8a3 NXS:0x0000000000a9f8d2 NAB:12 ID 0x46c5be03 LAD:1 2025-05-01T08:10:41.563027+00:00  rfs (PID:1825): Selected LNO:8 for T-1.S-398 dbid 1162136313 branch 1164519547 2025-05-01T08:10:41.642227+00:00 PR00 (PID:1863): Media Recovery Waiting for T-1.S-398 (in transit) 2025-05-01T08:10:41.642508+00:00 Recovery of Online Redo Log: Thread 1 Group 8 Seq 398 Reading mem 0   Mem# 0: /Standby_DB/oradata/STDBY/onlinelog/o1_mf_8_mb6rd9h8_.log   Mem# 1: /Standby_DB/FRA/STDBY/onlinelog/o1_mf_8_mb6rdbos_.log 2025-05-01T08:14:02.648081+00:00 Shutting down ORACLE instance (abort) (OS id: 3584) 

Now I can begin Recovery of the Standby

SQL> alter database recover managed standby database using current logfile disconnect from session;  Database altered.  SQL> SQL> shutdown immediate; ORA-01109: database not open   Database dismounted. ORACLE instance shut down. SQL>  SQL> startup mount; ORACLE instance started.  Total System Global Area 2147480256 bytes Fixed Size                  9179840 bytes Variable Size             486539264 bytes Database Buffers         1644167168 bytes Redo Buffers                7593984 bytes Database mounted. SQL> alter database recover managed standby database using current logfile disconnect from session;  Database altered.  SQL> exit   

I resume Redo Shipping from the Primary

[oracle@srv1 ~]$   dgmgrl DGMGRL for Linux: Release 19.0.0.0.0 - Production on Thu May 1 09:11:56 2025 Version 19.25.0.0.0  Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.  Welcome to DGMGRL, type "help" for information. DGMGRL> connect sys Password: Connected to "RACDB" Connected as SYSDBA. DGMGRL> EDIT DATABASE 'RACDB' SET STATE='TRANSPORT-ON'; Succeeded. DGMGRL> DGMGRL> show configuration;  Configuration - racdb_dg    Protection Mode: MaxPerformance   Members:   racdb - Primary database     stdby - Physical standby database  Fast-Start Failover:  Disabled  Configuration Status: SUCCESS   (status updated 34 seconds ago)  DGMGRL> show configuration lag;  Configuration - racdb_dg    Protection Mode: MaxPerformance   Members:   racdb - Primary database     stdby - Physical standby database             Transport Lag:      0 seconds (computed 1 second ago)             Apply Lag:          0 seconds (computed 1 second ago)  Fast-Start Failover:  Disabled  Configuration Status: SUCCESS   (status updated 37 seconds ago)  DGMGRL> 

Note : I have to wait for a few seconds to a few minutes for the SHOW CONFIGURATION and SHOW CONFIGURATION LAG commands to return the correct information.  Initially, they may show that there are errors but once Primary and Standby are “talking to each other”, these errors would clear.

Now my Standby is syncing with the Primary

2025-05-01T09:19:30.530588+00:00 Recovery of Online Redo Log: Thread 2 Group 8 Seq 344 Reading mem 0   Mem# 0: /Standby_DB/oradata/STDBY/onlinelog/o1_mf_8_n16gb9wm_.log   Mem# 1: /Standby_DB/FRA/STDBY/onlinelog/o1_mf_8_n16gbb4m_.log 2025-05-01T09:19:30.611573+00:00  rfs (PID:7642): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is ASYNC (PID:11557) 2025-05-01T09:19:30.623795+00:00  rfs (PID:7642): Selected LNO:5 for T-1.S-399 dbid 1162136313 branch 1164519547 2025-05-01T09:19:30.631133+00:00 PR00 (PID:7486): Media Recovery Waiting for T-1.S-399 (in transit) 2025-05-01T09:19:30.631475+00:00 Recovery of Online Redo Log: Thread 1 Group 5 Seq 399 Reading mem 0   Mem# 0: /Standby_DB/oradata/STDBY/onlinelog/o1_mf_5_n16g90qv_.log   Mem# 1: /Standby_DB/FRA/STDBY/onlinelog/o1_mf_5_n16g910n_.log 2025-05-01T09:20:51.263052+00:00 ARC2 (PID:7470): Archived Log entry 691 added for B-1164519547.T-2.S-344 LOS:0x0000000000aa394b NXS:0x0000000000aa3b02 NAB:102 ID 0x46c5be03 LAD:1 2025-05-01T09:20:51.274060+00:00  rfs (PID:7640): Selected LNO:8 for T-2.S-345 dbid 1162136313 branch 1164519547 2025-05-01T09:20:51.285312+00:00 PR00 (PID:7486): Media Recovery Log /Standby_DB/FRA/STDBY/archivelog/2025_05_01/o1_mf_2_344_n16h7m85_.arc PR00 (PID:7486): Media Recovery Waiting for T-2.S-345 (in transit) 2025-05-01T09:20:51.387005+00:00 Recovery of Online Redo Log: Thread 2 Group 8 Seq 345 Reading mem 0   Mem# 0: /Standby_DB/oradata/STDBY/onlinelog/o1_mf_8_n16gb9wm_.log   Mem# 1: /Standby_DB/FRA/STDBY/onlinelog/o1_mf_8_n16gbb4m_.log 2025-05-01T09:20:51.433894+00:00 ARC0 (PID:7462): Archived Log entry 692 added for B-1164519547.T-1.S-399 LOS:0x0000000000aa394e NXS:0x0000000000aa3b06 NAB:265 ID 0x46c5be03 LAD:1 2025-05-01T09:20:51.445431+00:00  rfs (PID:7642): Selected LNO:5 for T-1.S-400 dbid 1162136313 branch 1164519547 2025-05-01T09:20:51.514317+00:00 PR00 (PID:7486): Media Recovery Waiting for T-1.S-400 (in transit) 2025-05-01T09:20:51.514664+00:00 Recovery of Online Redo Log: Thread 1 Group 5 Seq 400 Reading mem 0   Mem# 0: /Standby_DB/oradata/STDBY/onlinelog/o1_mf_5_n16g90qv_.log   Mem# 1: /Standby_DB/FRA/STDBY/onlinelog/o1_mf_5_n16g910n_.log   

I see that the SEQ# have already advanced to 399 and 345 for Thread 1 and 2 respectively.

Hemant’s Oracle DBA Blog

Author: admin

Leave a Reply

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