📌 Scenario: Partial Standby DatabaseThere is no supported concept of a Partial Standby Database in Oracle. The term is used here solely to describe the scenario simulated below. The database size is approximately 465 TB, out of which one critical OLTP table alone occupies around 395 TB. Due to the massive size, continuous growth, and high concurrency, it is not feasible to effectively purge this table in the production database, even though daily purging activities are being performed regularly. To address the issues of excessive growth and high concurrency on this table, the customer has proposed an approach to create a partial standby database that would contain only the tablespaces associated with this large OLTP table. This partial standby database would be kept in sync with the production database until a defined cut-off time. Once the go-live decision is finalized, redo replication would be stopped by deferring the destination, and the partial standby database would then be activated. After activation, this database would function as a separate and isolated database, independent of the original production database. Post go-live, the production database will retain only active (current-date) data for the OLTP table. Historical data will be exported daily, removed from the production database through purge operations, and loaded into the activated database for long-term storage and reporting. ❓ Key Questions That Come to Mind ❓🔹 How can a Partial Standby Database be created? 🔹 Will the RFS (Remote File Server) process work in a Partial Standby Database? 🔹 Will the MRP (Managed Recovery Process) throw any errors during redo apply? 🔹 Can switchover or switchback operations be performed in a Partial Standby Database? 🔹 Is it possible to activate a Partial Standby Database? 🧩 High-Level Steps to Create a Partial Standby Database and steps to simulate the above approach 🧩 🔹 Take a partial database backup from the Production database (specific tablespaces or a full DB RMAN backup) 🔹 Restore only the required tablespaces on the standby side, including: ✅ SYSTEM ✅ SYSAUX ✅ UNDO ✅ Required OLTP table tablespaces ❌ Skip restoration of all remaining tablespaces 🔹 After restoration, offline drop non-required tablespace datafiles. 🔹 Enable redo log shipping between Production DB and the Partial Standby DB. 🔹 Start the MRP (Managed Recovery Process). 🟡 Go-Live Phase 🟡 🔸 During the planned downtime, defer log shipping between Production and Partial Standby DB. 🔸 Activate the Partial Standby Database. 🔸 Drop all non-required tablespaces, including: 🗑️ Contents 🗑️ Datafiles 🔸 Release the database for operations as an isolated standalone database. Let's start to create a Partial Standby Database and steps to simulate the above approach. Step 1: Let's check the existing tablespaces in production DB. On Current Primary(PR): SQL> select name,db_unique_name,open_mode,database_role,controlfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE CONTROL ---- ------------ ---------- ------------- ------- PR PR READ WRITE PRIMARY CURRENT SQL> select name from v$tablespace; NAME ------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS Let’s create two tablespaces: TBS_PART1 and TBS_PART2. For this scenario, we will assume that TBS_TEST1 is required, while TBS_TEST2 is not required. SQL> create tablespace TBS_PART1 datafile '+DATAC1' size 1g; Tablespace created. SQL> create tablespace TBS_PART2 datafile '+DATAC1' size 1g; Tablespace created. SQL> select name from v$tablespace; NAME ------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS TBS_PART1 TBS_PART2 7 rows selected. SQL> col name for a67 SQL> select file#,name,status from v$datafile order by 1; FILE# NAME STATUS ----- ---------------------------------------------- ------- 1 +DATAC1/PR/DATAFILE/system.15131.1224971801 SYSTEM 2 +DATAC1/PR/DATAFILE/sysaux.15127.1224971803 ONLINE 3 +DATAC1/PR/DATAFILE/undotbs1.15120.1224971803 ONLINE 4 +DATAC1/PR/DATAFILE/users.15135.1224971803 ONLINE 5 +DATAC1/PR/DATAFILE/tbs_part1.15134.1225047767 ONLINE 6 +DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777 ONLINE 6 rows selected. Let’s create a user TEST and grant UNLIMITED quota on the tablespaces TBS_PART1 and TBS_PART2. SQL> create user TEST identified by test123; User created. SQL> grant create session,connect to TEST; Grant succeeded. SQL> grant create table to TEST; Grant succeeded. SQL> alter user TEST quota unlimited on TBS_PART1; User altered. SQL> alter user TEST quota unlimited on TBS_PART2; User altered. Now, let’s create two tables, one in each tablespace, and insert some sample records into them.
This will help simulate required and non-required tablespace behavior for the scenario. SQL> conn TEST/test123 SQL> create table emp(id number(10)) tablespace TBS_PART1; Table created. SQL> insert into emp values(1); 1 row created. SQL> insert into emp values(2); 1 row created. SQL> insert into emp values(3); 1 row created. SQL> insert into emp values(4); 1 row created. SQL> insert into emp values(5); 1 row created. SQL> commit; Commit complete. SQL> select * from emp; ID ---------- 1 2 3 4 5 SQL> create table dept (name varchar2(20)) tablespace TBS_PART2; Table created. SQL> insert into dept values('CBS'); 1 row created. SQL> insert into dept values('UPI'); 1 row created. SQL> insert into dept values('INB'); 1 row created. SQL> insert into dept values('CRM'); 1 row created. SQL> insert into dept values('HRMS'); 1 row created. SQL> commit; Commit complete. SQL> select * from dept; NAME --------- CBS UPI INB CRM HRMS Switch 2-3 logs. SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. Step 2: Take a full DB RMAN backup from Production database. On Current Primary(PR): Step 3: Create standby controlfile in Production DB for a Partial Standby DB. SQL> alter database create standby controlfile as '/backup/stand.ctl'; Database altered. Step 4: Create a pfile for Partial Standby Database. [oracle@testdb02 ~]$ cd $ORACLE_HOME/dbs [oracle@testdb02 dbs]$ ls -ltr -rw-r--r-- 1 oracle oinstall 3079 Jun 18 2025 init.ora -rw-r----- 1 oracle oinstall 2048 Jan 1 13:28 orapwDR -rw-r--r-- 1 oracle oinstall 1325 Feb 11 22:14 initDR.ora $ cat initDR.ora *.audit_sys_operations=TRUE *.audit_trail='DB','EXTENDED' *.compatible='19.0.0' *.control_files='+DATAC1/DR/CONTROLFILE/current.15114.1224518753','+RECO2/DR/CONTROLFILE/current.335.1224518755' *.db_block_checking='FALSE' *.db_block_checksum='TYPICAL' *.db_block_size=8192 *.db_create_file_dest='+DATAC1' *.db_create_online_log_dest_1='+RECO1' *.db_create_online_log_dest_2='+RECO2' *.db_files=1000 *.db_name='PR' *.db_unique_name='DR' *.db_recovery_file_dest='+RECO1' *.db_recovery_file_dest_size=100G *.diagnostic_dest='/u01/app/oracle' *.gcs_server_processes=36 *.java_pool_size=320M *.job_queue_processes=0 *.large_pool_size=3G *.log_archive_dest_1='LOCATION=+RECO2' *.log_archive_format='arch%t_%r_%s.arc' *.nls_date_format='YYYYMMDD' *.nls_sort='norwegian' *.open_cursors=1000 *.optimizer_adaptive_plans=FALSE *.optimizer_dynamic_sampling=1 *.parallel_force_local=TRUE *.pga_aggregate_limit=0 *.pga_aggregate_target=5G *.processes=1500 *.query_rewrite_enabled='FALSE' *.remote_login_passwordfile='EXCLUSIVE' *.remote_os_authent=TRUE *.resource_manager_plan='DEFAULT_PLAN' *.session_cached_cursors=1000 *.sessions=2000 *.sga_max_size=50G *.sga_target=50G *.shared_pool_reserved_size=1G *.shared_pool_size=2G *.sql92_security=TRUE *.statistics_level='TYPICAL' *.undo_tablespace='UNDOTBS1' Step 5: Start the partial standby database in nomount stage. On Partial Standby(DR): [oracle@testdb02 dbs]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Thu Feb 12 19:31:53 2026 Version 19.26.0.0.0 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORACLE instance started. Total System Global Area 5.3624E+10 bytes Fixed Size 37352816 bytes Variable Size 1.0066E+10 bytes Database Buffers 4.2413E+10 bytes Redo Buffers 1107378176 bytes SQL> exit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.26.0.0.0 Let's restore the standby controlfile from backup and mount the database. On Partial Standby(DR): [oracle@testdb02 dbs]$ rman target / Recovery Manager: Release 19.0.0.0.0 - Production on Thu Feb 12 19:32:26 2026 Version 19.26.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. connected to target database: PR (not mounted) RMAN> restore standby controlfile from '/backup/stand.ctl'; restore standby controlfile from '/backup/stand.ctl'; Starting restore at 12-FEB-26 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=649 device type=DISK channel ORA_DISK_1: copied control file copy output file name=+DATAC1/DR/CONTROLFILE/current.15119.1225049553 Finished restore at 12-FEB-26 RMAN> alter database mount standby database; alter database mount standby database; released channel: ORA_DISK_1 Statement processed RMAN> list incarnation; list incarnation; List of Database Incarnations DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time ------- ------- -------- ---------------- --- ---------- ---------- 1 1 PR 2919488406 CURRENT 1 11-FEB-26 Step 6 : Restore database for creating a Partial Standby Database. There is no need to catalog the backup pieces, as the backup was taken first and the standby control file was created subsequently on the Primary database. On Partial Standby(DR): RMAN> list backup; list backup; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 6 Full 523.31M DISK 00:00:01 12-FEB-26 BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20260212T191258 Piece Name: /backup/FULL_DB_PR_064g9g9q_6_1_1 List of Datafiles in backup set 6 File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name ---- -- ---- ---------- --------- ----------- ------ ---- 1 Full 659434 12-FEB-26 NO +DATAC1/PR/DATAFILE/system.15131.1224971801 2 Full 659434 12-FEB-26 NO +DATAC1/PR/DATAFILE/sysaux.15127.1224971803 3 Full 659434 12-FEB-26 NO +DATAC1/PR/DATAFILE/undotbs1.15120.1224971803 4 Full 659434 12-FEB-26 NO +DATAC1/PR/DATAFILE/users.15135.1224971803 5 Full 659434 12-FEB-26 NO +DATAC1/PR/DATAFILE/tbs_part1.15134.1225047767 6 Full 659434 12-FEB-26 NO +DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777 BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 7 Full 10.86M DISK 00:00:01 12-FEB-26 BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20260212T191258 Piece Name: /backup/FULL_DB_PR_074g9g9t_7_1_1 SPFILE Included: Modification time: 11-FEB-26 SPFILE db_unique_name: PR Control File Included: Ckp SCN: 659435 Ckp time: 12-FEB-26 The RMAN script to restore entire database by skipping non-required tablespaces. RUN { SET NEWNAME FOR DATABASE TO '+DATAC1/DR/%b'; RESTORE DATABASE SKIP TABLESPACE TBS_TEST2; } Let’s start the RMAN restoration by skipping the non-required tablespaces. In this case, we are skipping the tablespace TBS_PART2, as it is not required. Alternatively, you may restore the entire database without skipping any tablespaces. On Partial Standby(DR): RMAN> RUN { SET NEWNAME FOR DATABASE TO '+DATAC1/DR/%b'; RESTORE DATABASE SKIP TABLESPACE TBS_PART2; }RUN { 2> SET NEWNAME FOR DATABASE TO '+DATAC1/DR/%b'; 3> RESTORE DATABASE SKIP TABLESPACE TBS_PART2; 4> } executing command: SET NEWNAME Starting restore at 12-FEB-26 Starting implicit crosscheck backup at 12-FEB-26 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=649 device type=DISK Crosschecked 2 objects Finished implicit crosscheck backup at 12-FEB-26 Starting implicit crosscheck copy at 12-FEB-26 using channel ORA_DISK_1 Crosschecked 2 objects Finished implicit crosscheck copy at 12-FEB-26 searching for all files in the recovery area cataloging files... no files cataloged using channel ORA_DISK_1 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 +DATAC1/DR/system.15131.1224971801 channel ORA_DISK_1: restoring datafile 00002 to +DATAC1/DR/sysaux.15127.1224971803 channel ORA_DISK_1: restoring datafile 00003 to +DATAC1/DR/undotbs1.15120.1224971803 channel ORA_DISK_1: restoring datafile 00004 to +DATAC1/DR/users.15135.1224971803 channel ORA_DISK_1: restoring datafile 00005 to +DATAC1/DR/tbs_part1.15134.1225047767 channel ORA_DISK_1: reading from backup piece /backup/FULL_DB_PR_064g9g9q_6_1_1 channel ORA_DISK_1: piece handle=/backup/FULL_DB_PR_064g9g9q_6_1_1 tag=TAG20260212T191258 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:03 Finished restore at 12-FEB-26 RMAN> RMAN> list incarnation; list incarnation; List of Database Incarnations DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time ------- ------- -------- ---------------- --- ---------- ---------- 1 1 PR 2919488406 CURRENT 1 11-FEB-26 Now, generate the tablespace report from RMAN. You will notice the data files entries associated with the PRIMARY DB_UNIQUE_NAME. Next, switch the datafiles to their new locations so that the control file is updated accordingly. On Partial Standby(DR): RMAN> report schema; report schema; RMAN-06139: warning: control file is not current for REPORT SCHEMA Report of database schema for database with db_unique_name DR List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 400 SYSTEM *** +DATAC1/PR/DATAFILE/system.15131.1224971801 2 400 SYSAUX *** +DATAC1/PR/DATAFILE/sysaux.15127.1224971803 3 200 UNDOTBS1 *** +DATAC1/PR/DATAFILE/undotbs1.15120.1224971803 4 100 USERS *** +DATAC1/PR/DATAFILE/users.15135.1224971803 5 1024 TBS_PART1 *** +DATAC1/PR/DATAFILE/tbs_part1.15134.1225047767 6 1024 TBS_PART2 *** +DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777 List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 50 TEMP 50 +DATAC1/PR/TEMPFILE/temp.15113.1224971803 Let’s attempt to switch the database to copy. However, this will not work because one of the tablespaces was skipped during the restore. Therefore, you must switch the individual datafiles or tablespaces one by one. On Partial Standby(DR): RMAN> switch database to copy; switch database to copy; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of switch to copy command at 02/12/2026 19:34:46 RMAN-06571: datafile 6 does not have recoverable copy RMAN> switch tablespace SYSTEM to copy; switch tablespace SYSTEM to copy; datafile 1 switched to datafile copy "+DATAC1/DR/DATAFILE/system.15129.1225049635" RMAN> switch tablespace SYSAUX to copy; switch tablespace SYSAUX to copy; datafile 2 switched to datafile copy "+DATAC1/DR/DATAFILE/sysaux.15122.1225049635" RMAN> switch tablespace UNDOTBS1 to copy; switch tablespace UNDOTBS1 to copy; datafile 3 switched to datafile copy "+DATAC1/DR/DATAFILE/undotbs1.15123.1225049635" RMAN> switch tablespace USERS to copy; switch tablespace USERS to copy; datafile 4 switched to datafile copy "+DATAC1/DR/DATAFILE/users.15124.1225049635" RMAN> switch tablespace TBS_PART1 to copy; switch tablespace TBS_PART1 to copy; datafile 5 switched to datafile copy "+DATAC1/DR/DATAFILE/tbs_part1.15112.1225049635" RMAN> switch tablespace TBS_PART2 to copy; switch tablespace TBS_PART2 to copy; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of switch to copy command at 02/12/2026 19:35:51 RMAN-06571: datafile 6 does not have recoverable copy The above error is expected because datafile 6 was skipped during the restoration process. Let’s generate a schema report and verify that the control file has been updated with the new datafile locations. Here, I am not switching the tempfile, as this is a testing environment. On Partial Standby(DR): RMAN> report schema; report schema; RMAN-06139: warning: control file is not current for REPORT SCHEMA Report of database schema for database with db_unique_name DR List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 400 SYSTEM *** +DATAC1/DR/DATAFILE/system.15129.1225049635 2 400 SYSAUX *** +DATAC1/DR/DATAFILE/sysaux.15122.1225049635 3 200 UNDOTBS1 *** +DATAC1/DR/DATAFILE/undotbs1.15123.1225049635 4 100 USERS *** +DATAC1/DR/DATAFILE/users.15124.1225049635 5 1024 TBS_PART1 *** +DATAC1/DR/DATAFILE/tbs_part1.15112.1225049635 6 1024 TBS_PART2 *** +DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777 List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 50 TEMP 50 +DATAC1/PR/TEMPFILE/temp.15113.1224971803 Let's check the names and locations of datafiles from DB. SQL> select name,db_unique_name,open_mode,database_role,log_mode,controlfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE LOG_MODE CONTROL ---- ------------ --------- ---------------- ---------- ------- PR DR MOUNTED PHYSICAL STANDBY ARCHIVELOG STANDBY SQL> col name for a57 SQL> select file#,name,status from v$datafile order by 1; FILE# NAME STATUS ----- ----------------------------------------------- ------- 1 +DATAC1/DR/DATAFILE/system.15129.1225049635 SYSTEM 2 +DATAC1/DR/DATAFILE/sysaux.15122.1225049635 ONLINE 3 +DATAC1/DR/DATAFILE/undotbs1.15123.1225049635 ONLINE 4 +DATAC1/DR/DATAFILE/users.15124.1225049635 ONLINE 5 +DATAC1/DR/DATAFILE/tbs_part1.15112.1225049635 ONLINE 6 +DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777 ONLINE 6 rows selected. Now, drop the tablespace TBS_PART2 using the OFFLINE DROP option. This will result in an error, as the database does not allow a tablespace to be dropped while in the MOUNT stage. The database must be opened in READ WRITE mode to perform this operation. SQL> drop tablespace TBS_PART2 including contents and datafiles; drop tablespace TBS_PART2 including contents and datafiles * ERROR at line 1: ORA-01109: database not open Now, drop datafile 6 instead of dropping the tablespace TBS_PART2. Once the datafile is dropped, it will be marked with the status RECOVER in the v$datafile view.On Partial Standby(DR): SQL> alter database datafile 6 offline drop; Database altered. SQL> select file#,name,status from v$datafile order by 1; FILE# NAME STATUS ----- ---------------------------------------------- ------- 1 +DATAC1/DR/DATAFILE/system.15129.1225049635 SYSTEM 2 +DATAC1/DR/DATAFILE/sysaux.15122.1225049635 ONLINE 3 +DATAC1/DR/DATAFILE/undotbs1.15123.1225049635 ONLINE 4 +DATAC1/DR/DATAFILE/users.15124.1225049635 ONLINE 5 +DATAC1/DR/DATAFILE/tbs_part1.15112.1225049635 ONLINE 6 +DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777 RECOVER 6 rows selected. Step 7 : Make the necessary configuration changes to set up a Partial Standby database. Add SRLs(Standby Redo Log Files) for Partial Standby Database. On Partial Standby(DR): SQL> alter database add standby logfile group 101('+RECO1') size 52428800; Database altered. SQL> alter database add standby logfile group 102('+RECO1') size 52428800; Database altered. SQL> alter database add standby logfile group 103('+RECO1') size 52428800; Database altered. SQL> col MEMBER for a67 SQL> select GROUP#,TYPE,MEMBER from v$logfile; GROUP# TYPE MEMBER ------ ------- ----------------------------------------------- 1 ONLINE +RECO1/PR/ONLINELOG/group_1.11868.1224971801 2 ONLINE +RECO2/PR/ONLINELOG/group_2.1381.1224971801 101 STANDBY +RECO1/DR/ONLINELOG/group_101.11892.1225050043 102 STANDBY +RECO1/DR/ONLINELOG/group_102.11881.1225050049 103 STANDBY +RECO1/DR/ONLINELOG/group_103.11878.1225050053 Since MRP has not yet been started, the Standby Redo Logs (SRLs) are not active. We will verify their status again after starting MRP. SQL> select GROUP#,THREAD#,SEQUENCE#,BYTES,USED,ARC,STATUS from v$standby_log; GROUP# THREAD# SEQUENCE# BYTES USED ARC STATUS ------ ------- ---------- -------- ---------- --- ---------- 101 0 0 52428800 0 YES UNASSIGNED 102 0 0 52428800 0 YES UNASSIGNED 103 0 0 52428800 0 YES UNASSIGNED Set the log shipping destination to enable log transport from the Primary database to the Partial Standby database. On current Primary (PR): SQL> select name,db_unique_name,open_mode,database_role,force_logging,log_mode,controlfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE LOG_MODE CONTROL ---- ------------ ---------- ------------- ---------- ------- PR PR READ WRITE PRIMARY ARCHIVELOG CURRENT SQL> alter system set log_archive_dest_2='service=DR lgwr async valid_for=(all_logfiles,all_roles) db_unique_name=DR'; System altered. SQL> alter system set log_archive_config='dg_config=(PR,DR)'; System altered. On Partial Standby(DR): SQL> select name,db_unique_name,open_mode,database_role,log_mode,controlfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE LOG_MODE CONTROL ---- ------------ ---------- ---------------- ---------- ------- PR PR MOUNTED PHYSICAL STANDBY ARCHIVELOG STANDBY SQL> alter system set log_archive_config='dg_config=(PR,DR)'; System altered. SQL> alter system set fal_server='PR'; System altered. Your Partial Standby database is now ready.Step 8 : Let’s start log shipping and verify the RFS process on the Partial Standby database. On Current Primary(PR): SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +RECO2 Oldest online log sequence 604 Next log sequence to archive 605 Current log sequence 605 SQL> alter system set log_archive_dest_state_2=defer; System altered. SQL> alter system set log_archive_dest_state_2=enable; System altered. SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. ....... SQL> alter system switch logfile; System altered. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +RECO2 Oldest online log sequence 610 Next log sequence to archive 611 Current log sequence 611 Let's check the Partial Standby DB alert log file. On Partial Standby(DR) Alert Log: 2026-02-12T19:46:45.768608+05:30 rfs (PID:110957): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is Foreground (PID:230873) 2026-02-12T19:46:49.380528+05:30 rfs (PID:111003): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is ASYNC (PID:308434) rfs (PID:111003): Re-archiving LNO:101 T-1.S-605 2026-02-12T19:46:49.417724+05:30 ARC3 (PID:376080): Archived Log entry 3 added for B-1224971798.T-1.S-605 LOS:0x00000000000a130d NXS:0x00000000000a16c8 NAB:2838 ID 0xae03d996 LAD:1 2026-02-12T19:46:49.438900+05:30 rfs (PID:111003): Selected LNO:101 for T-1.S-606 dbid 2919488406 branch 1224971798 2026-02-12T19:46:50.741417+05:30 ARC1 (PID:376076): Archived Log entry 4 added for B-1224971798.T-1.S-606 LOS:0x00000000000a16c8 NXS:0x00000000000a16d0 NAB:10 ID 0xae03d996 LAD:1 2026-02-12T19:46:50.857401+05:30 rfs (PID:111093): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is ASYNC (PID:326758) 2026-02-12T19:46:50.899499+05:30 rfs (PID:111093): Selected LNO:101 for T-1.S-607 dbid 2919488406 branch 1224971798 2026-02-12T19:46:52.851240+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-608 dbid 2919488406 branch 1224971798 2026-02-12T19:46:52.853042+05:30 ARC2 (PID:376078): Archived Log entry 5 added for B-1224971798.T-1.S-607 LOS:0x00000000000a16d0 NXS:0x00000000000a16da NAB:9 ID 0xae03d996 LAD:1 2026-02-12T19:47:12.165466+05:30 rfs (PID:111093): Selected LNO:101 for T-1.S-609 dbid 2919488406 branch 1224971798 2026-02-12T19:47:49.414664+05:30 ARC3 (PID:376080): Archived Log entry 6 added for B-1224971798.T-1.S-608 LOS:0x00000000000a16da NXS:0x00000000000a1754 NAB:63 ID 0xae03d996 LAD:1 2026-02-12T19:47:49.914142+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-610 dbid 2919488406 branch 1224971798 2026-02-12T19:47:49.927967+05:30 ARC0 (PID:376070): Archived Log entry 7 added for B-1224971798.T-1.S-609 LOS:0x00000000000a1754 NXS:0x00000000000a175a NAB:6 ID 0xae03d996 LAD:1 2026-02-12T19:47:52.426393+05:30 rfs (PID:111093): Selected LNO:101 for T-1.S-611 dbid 2919488406 branch 1224971798 2026-02-12T19:47:52.436838+05:30 ARC1 (PID:376076): Archived Log entry 8 added for B-1224971798.T-1.S-610 LOS:0x00000000000a175a NXS:0x00000000000a1764 NAB:8 ID 0xae03d996 LAD:1 You can see that the RFS process is functioning as expected, without any issues. Step 9 : Now, start the MRP process and check for any error messages on the Partial Standby database. On Partial Standby(DR): SQL> recover managed standby database disconnect from session; Media recovery complete. Let's check the Partial Standby DB alert log file. Partial Standby(DR) Alert Log: 2026-02-12T19:49:30.843247+05:30 ALTER DATABASE RECOVER managed standby database disconnect from session 2026-02-12T19:49:30.845105+05:30 Attempt to start background Managed Standby Recovery process (DR) Starting background process MRP0 2026-02-12T19:49:30.866638+05:30 MRP0 started with pid=111, OS id=139619 2026-02-12T19:49:30.867119+05:30 Background Managed Standby Recovery process started (DR) 2026-02-12T19:49:35.894103+05:30 Started logmerger process 2026-02-12T19:49:35.935986+05:30 PR00 (PID:139843): Managed Standby Recovery starting Real Time Apply 2026-02-12T19:49:35.975375+05:30 DBWPreopen slv 0 open list size=2 successful=0 DBWPreopen slv 1 open list size=1 successful=0 DBWPreopen slv 2 open list size=1 successful=0 DBWPreopen slv 3 open list size=1 successful=0 DBWPreopen total open count=6 shared=0 BG-shared=0 at t=1s 2026-02-12T19:49:37.464568+05:30 Only allocated 127 recovery slaves (requested 128) 2026-02-12T19:49:37.464621+05:30 Parallel Media Recovery started with 127 slaves 2026-02-12T19:49:37.516066+05:30 Stopping change tracking 2026-02-12T19:49:37.561287+05:30 TT02 (PID:140177): Waiting for all non-current ORLs to be archived 2026-02-12T19:49:37.561334+05:30 TT02 (PID:140177): All non-current ORLs have been archived TT02 (PID:140177): Clearing ORL LNO:1 +RECO1/PR/ONLINELOG/group_1.11868.1224971801 Clearing online log 1 of thread 1 sequence number 603 NOTE: Under CF enqueue, no dependency request for disk group RECO2 TT02 (PID:140177): Clearing ORL LNO:1 complete TT02 (PID:140177): Clearing ORL LNO:2 +RECO2/PR/ONLINELOG/group_2.1381.1224971801 Clearing online log 2 of thread 1 sequence number 602 2026-02-12T19:49:37.702991+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_603.9442.1225050293 2026-02-12T19:49:37.709246+05:30 ERROR: failed to establish dependency between database DR and diskgroup resource ora.RECO2.dg 2026-02-12T19:49:37.731000+05:30 TT02 (PID:140177): Clearing ORL LNO:2 complete 2026-02-12T19:49:37.873897+05:30 Completed: ALTER DATABASE RECOVER managed standby database disconnect from session 2026-02-12T19:49:37.977225+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_604.456.1225050293 2026-02-12T19:49:38.069783+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_605.1373.1225050409 2026-02-12T19:49:38.166141+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_606.438.1225050411 2026-02-12T19:49:38.258843+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_607.9496.1225050413 2026-02-12T19:49:38.352523+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_608.1283.1225050469 2026-02-12T19:49:38.443143+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_609.814.1225050469 2026-02-12T19:49:38.533811+05:30 PR00 (PID:139843): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_610.496.1225050473 PR00 (PID:139843): Media Recovery Waiting for T-1.S-611 (in transit) 2026-02-12T19:49:38.626103+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 611 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_101.11892.1225050043 2026-02-12T19:49:38.756138+05:30 TT02 (PID:140177): Waiting for all non-current ORLs to be archived 2026-02-12T19:49:38.756193+05:30 TT02 (PID:140177): All non-current ORLs have been archived You can see that the MRP process is applying logs on the Partial Standby database without any issues. Let’s switch additional logs and observe the behavior. On Current Primary(PR): SQL> alter system switch logfile; System altered. ...... SQL> alter system switch logfile; System altered. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +RECO2 Oldest online log sequence 615 Next log sequence to archive 616 Current log sequence 616 Partial Standby(DR) Alert Log: 2026-02-12T19:50:25.700198+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-612 dbid 2919488406 branch 1224971798 2026-02-12T19:50:25.700435+05:30 ARC2 (PID:376078): Archived Log entry 9 added for B-1224971798.T-1.S-611 LOS:0x00000000000a1764 NXS:0x00000000000a18a2 NAB:160 ID 0xae03d996 LAD:1 2026-02-12T19:50:25.723012+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-612 (in transit) 2026-02-12T19:50:25.724892+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 612 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 2026-02-12T19:50:28.443992+05:30 rfs (PID:111093): Selected LNO:101 for T-1.S-613 dbid 2919488406 branch 1224971798 2026-02-12T19:50:28.446539+05:30 ARC0 (PID:376070): Archived Log entry 10 added for B-1224971798.T-1.S-612 LOS:0x00000000000a18a2 NXS:0x00000000000a18ac NAB:8 ID 0xae03d996 LAD:1 2026-02-12T19:50:28.518283+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-613 (in transit) 2026-02-12T19:50:28.519896+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 613 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_101.11892.1225050043 2026-02-12T19:50:28.555610+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-614 dbid 2919488406 branch 1224971798 2026-02-12T19:50:28.562496+05:30 ARC2 (PID:376078): Archived Log entry 11 added for B-1224971798.T-1.S-613 LOS:0x00000000000a18ac NXS:0x00000000000a18b2 NAB:7 ID 0xae03d996 LAD:1 2026-02-12T19:50:28.650419+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-614 (in transit) 2026-02-12T19:50:28.652085+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 614 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 2026-02-12T19:50:31.385108+05:30 rfs (PID:111093): Selected LNO:101 for T-1.S-615 dbid 2919488406 branch 1224971798 2026-02-12T19:50:31.387711+05:30 ARC0 (PID:376070): Archived Log entry 12 added for B-1224971798.T-1.S-614 LOS:0x00000000000a18b2 NXS:0x00000000000a18bc NAB:8 ID 0xae03d996 LAD:1 2026-02-12T19:50:31.458096+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-615 (in transit) 2026-02-12T19:50:31.459767+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 615 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_101.11892.1225050043 2026-02-12T19:50:32.297356+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-616 dbid 2919488406 branch 1224971798 2026-02-12T19:50:32.303140+05:30 ARC2 (PID:376078): Archived Log entry 13 added for B-1224971798.T-1.S-615 LOS:0x00000000000a18bc NXS:0x00000000000a18c2 NAB:5 ID 0xae03d996 LAD:1 2026-02-12T19:50:32.381659+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-616 (in transit) 2026-02-12T19:50:32.383379+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 616 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 ✅ Outcomes: ✔️ Based on the above simulation testing, configuring a Partial Standby database is feasible. ✔️ Both RFS and MRP processes are functioning as expected without any issues. ⚠️ However, this approach should be implemented strictly in alignment with the defined business requirements, as per the above scenario. 🔹 Can switchover or switchback operations be performed in a Partial Standby Database? Let's simulate this.Perform the Switchover by DB_UNIQUE_NAME technique. Please refer to the detailed post on this topic "Switchover in Oracle by db_unique_name using single command". On Partial Standby(DR): SQL> alter system set log_archive_dest_2='service=PR LGWR ASYNC valid_for=(all_logfiles,all_roles) db_unique_name=PR'; System altered. On Current Primary(PR): SQL> alter database switchover to DR; Database altered. Partial Standby(DR) Alert Log: 2026-02-12T19:50:25.700198+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-612 dbid 2919488406 branch 1224971798 2026-02-12T19:50:25.700435+05:30 ARC2 (PID:376078): Archived Log entry 9 added for B-1224971798.T-1.S-611 LOS:0x00000000000a1764 NXS:0x00000000000a18a2 NAB:160 ID 0xae03d996 LAD:1 2026-02-12T19:50:25.723012+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-612 (in transit) 2026-02-12T19:50:25.724892+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 612 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 2026-02-12T19:50:28.443992+05:30 rfs (PID:111093): Selected LNO:101 for T-1.S-613 dbid 2919488406 branch 1224971798 2026-02-12T19:50:28.446539+05:30 ARC0 (PID:376070): Archived Log entry 10 added for B-1224971798.T-1.S-612 LOS:0x00000000000a18a2 NXS:0x00000000000a18ac NAB:8 ID 0xae03d996 LAD:1 2026-02-12T19:50:28.518283+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-613 (in transit) 2026-02-12T19:50:28.519896+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 613 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_101.11892.1225050043 2026-02-12T19:50:28.555610+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-614 dbid 2919488406 branch 1224971798 2026-02-12T19:50:28.562496+05:30 ARC2 (PID:376078): Archived Log entry 11 added for B-1224971798.T-1.S-613 LOS:0x00000000000a18ac NXS:0x00000000000a18b2 NAB:7 ID 0xae03d996 LAD:1 2026-02-12T19:50:28.650419+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-614 (in transit) 2026-02-12T19:50:28.652085+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 614 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 2026-02-12T19:50:31.385108+05:30 rfs (PID:111093): Selected LNO:101 for T-1.S-615 dbid 2919488406 branch 1224971798 2026-02-12T19:50:31.387711+05:30 ARC0 (PID:376070): Archived Log entry 12 added for B-1224971798.T-1.S-614 LOS:0x00000000000a18b2 NXS:0x00000000000a18bc NAB:8 ID 0xae03d996 LAD:1 2026-02-12T19:50:31.458096+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-615 (in transit) 2026-02-12T19:50:31.459767+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 615 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_101.11892.1225050043 2026-02-12T19:50:32.297356+05:30 rfs (PID:111093): Selected LNO:102 for T-1.S-616 dbid 2919488406 branch 1224971798 2026-02-12T19:50:32.303140+05:30 ARC2 (PID:376078): Archived Log entry 13 added for B-1224971798.T-1.S-615 LOS:0x00000000000a18bc NXS:0x00000000000a18c2 NAB:5 ID 0xae03d996 LAD:1 2026-02-12T19:50:32.381659+05:30 PR00 (PID:139843): Media Recovery Waiting for T-1.S-616 (in transit) 2026-02-12T19:50:32.383379+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 616 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 2026-02-12T19:51:43.383545+05:30 .... (PID:24455): Using STANDBY_ARCHIVE_DEST parameter default value as +RECO2 [krsd.c:18413] 2026-02-12T19:51:43.383734+05:30 ALTER SYSTEM SET log_archive_dest_2='service=PR LGWR ASYNC valid_for=(all_logfiles,all_roles) db_unique_name=PR' SCOPE=MEMORY; 2026-02-12T19:51:43.509002+05:30 Errors in file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_tt03_158525.trc: ORA-16009: invalid redo transport destination 2026-02-12T19:51:43.509043+05:30 TT03 (PID:158525): Error 16009 for LNO:102 to 'PR' 2026-02-12T19:51:43.531200+05:30 Errors in file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_tt03_158525.trc: ORA-16009: invalid redo transport destination 2026-02-12T19:51:43.531257+05:30 Errors in file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_tt03_158525.trc: ORA-16009: invalid redo transport destination 2026-02-12T19:52:04.422746+05:30 rfs (PID:159075): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is Foreground (PID:83588) 2026-02-12T19:52:04.535301+05:30 rfs (PID:159136): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is Foreground (PID:230873) 2026-02-12T19:52:05.554983+05:30 rfs (PID:159163): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is Foreground (PID:83588) 2026-02-12T19:52:05.616600+05:30 rfs (PID:159163): Selected LNO:102 for T-1.S-616 dbid 2919488406 branch 1224971798 2026-02-12T19:52:05.641999+05:30 ARC3 (PID:376080): Archived Log entry 14 added for B-1224971798.T-1.S-616 LOS:0x00000000000a18c2 NXS:0x00000000000ba036 NAB:149 ID 0xae03d996 LAD:1 2026-02-12T19:52:05.802563+05:30 PR00 (PID:139843): Resetting standby activation ID 2919487894 (0xae03d996) 2026-02-12T19:52:05.804138+05:30 Media Recovery End-Of-Redo indicator encountered 2026-02-12T19:52:05.804159+05:30 Media Recovery Continuing PR00 (PID:139843): Media Recovery Waiting for T-1.S-617 2026-02-12T19:52:06.726375+05:30 .... (PID:159202): The Time Management Interface (TMI) is being enabled for role transition .... (PID:159202): information. This will result in messages beingoutput to the alert log .... (PID:159202): file with the prefix 'TMI: '. This is being enabled to make the timing of .... (PID:159202): the various stages of the role transition available for diagnostic purposes. .... (PID:159202): This output will end when the role transition is complete. SWITCHOVER: received request 'ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY' from primary database. 2026-02-12T19:52:06.726527+05:30 ALTER DATABASE SWITCHOVER TO PRIMARY (DR) Maximum wait for role transition is 15 minutes. TMI: kcv_commit_to_so_to_primary wait for MRP to finish BEGIN 2026-02-12 19:52:06.726562 Switchover: Media recovery is still active rmi (PID:159202): Role Change: Canceling MRP - no more redo to apply 2026-02-12T19:52:06.746581+05:30 PR00 (PID:139843): MRP0: Background Media Recovery cancelled with status 16037 2026-02-12T19:52:06.746678+05:30 Errors in file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_pr00_139843.trc: ORA-16037: user requested cancel of managed recovery operation PR00 (PID:139843): Managed Standby Recovery not using Real Time Apply 2026-02-12T19:52:06.826392+05:30 Recovery interrupted! Stopping change tracking 2026-02-12T19:52:06.830308+05:30 Errors in file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_pr00_139843.trc: ORA-16037: user requested cancel of managed recovery operation 2026-02-12T19:52:07.944295+05:30 Background Media Recovery process shutdown (DR) 2026-02-12T19:52:07.953989+05:30 rmi (PID:159202): Role Change: Canceled MRP TMI: kcv_commit_to_so_to_primary wait for MRP to finish END 2026-02-12 19:52:07.954038 TMI: kcv_commit_to_so_to_primary Switchover from physical BEGIN 2026-02-12 19:52:07.954541 2026-02-12T19:52:07.982801+05:30 TT03 (PID:158525): Cannot find SRL for T-1.S-616 2026-02-12T19:52:08.002632+05:30 .... (PID:372130): Killing 3 processes (PIDS:159136,92121,92123) (all RFS) in order to disallow current and future RFS connections. Requested by OS process 372130 2026-02-12T19:52:08.002959+05:30 Process termination requested for pid 159136 [source = rdbms], [info = 2] [request issued by pid: 372130, uid: 1001] 2026-02-12T19:52:08.003010+05:30 Process termination requested for pid 92121 [source = rdbms], [info = 2] [request issued by pid: 372130, uid: 1001] 2026-02-12T19:52:08.003013+05:30 Process termination requested for pid 92123 [source = rdbms], [info = 2] [request issued by pid: 372130, uid: 1001] 2026-02-12T19:52:08.036948+05:30 Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_rmi_159202.trc 2026-02-12T19:52:08.095399+05:30 DBWPreopen slv 0 open list size=2 successful=0 DBWPreopen slv 1 open list size=1 successful=0 DBWPreopen slv 2 open list size=1 successful=0 DBWPreopen slv 3 open list size=1 successful=0 DBWPreopen total open count=6 shared=0 BG-shared=0 at t=1s 2026-02-12T19:52:08.100486+05:30 SwitchOver after complete recovery through change 761910 rmi (PID:159202): ORL pre-clearing operation disabled by switchover Online log +RECO1/DR/ONLINELOG/group_1.11890.1225050577: Thread 1 Group 1 was previously cleared Online log +RECO2/DR/ONLINELOG/group_1.712.1225050577: Thread 1 Group 1 was previously cleared Online log +RECO1/DR/ONLINELOG/group_2.11873.1225050577: Thread 1 Group 2 was previously cleared Online log +RECO2/DR/ONLINELOG/group_2.594.1225050577: Thread 1 Group 2 was previously cleared Standby became primary SCN: 761908 rmi (PID:159202): RT_PMODE: PHYSICAL mounting with mode MAXIMUM PERFORMANCE level NO PROTECTION rmi (PID:159202): RT: Role transition work is not done rmi (PID:159202): The Time Management Interface (TMI) is being enabled for role transition rmi (PID:159202): information. This will result in messages beingoutput to the alert log rmi (PID:159202): file with the prefix 'TMI: '. This is being enabled to make the timing of rmi (PID:159202): the various stages of the role transition available for diagnostic purposes. rmi (PID:159202): This output will end when the role transition is complete. rmi (PID:159202): Redo network throttle feature is disabled at mount time 2026-02-12T19:52:08.172514+05:30 rmi (PID:159202): DBROLE: Switchover to a PRIMARY at [kcvs.c:1172] Switchover: Complete - Database mounted as primary TMI: kcv_commit_to_so_to_primary Switchover from physical END 2026-02-12 19:52:08.175471 SWITCHOVER: completed request from primary database. 2026-02-12T19:52:50.006143+05:30 ARC0 (PID:376070): Becoming the 'no SRL' ARCH On Partial Standby(DR): SQL> alter database open; Database altered. Partial Standby(DR) Alert Log: 2026-02-12T19:54:57.447600+05:30 alter database open ...... 2026-02-12T19:54:58.240416+05:30 CJQ0 started with pid=170, OS id=188641 , bound to OS numa node 1 Completed: alter database open 2026-02-12T19:55:07.201849+05:30 Errors in file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_mz06_191421.trc: ORA-01110: data file 6: '+DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777' Checker run found 2 new persistent data failures 2026-02-12T19:55:07.776285+05:30 SQL> select name,db_unique_name,open_mode,database_role,log_mode,controlfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE LOG_MODE CONTROL ---- ------------ ---------- ------------- ---------- ------- PR DR READ WRITE PRIMARY ARCHIVELOG CURRENT You can see that the switchover operation was completed successfully without any issues. However, from a technical standpoint, this is not a valid production scenario, as the Primary database contains more tablespaces while the Partial Standby database contains fewer tablespaces. This simulation was performed purely for understanding and testing purposes. It should not be considered a recommended or valid business requirement in a real-time production environment. Following the completion of the switchover operation, we will now validate the previously created tables (emp and dept) and verify their existence in the Partial Standby database after role transition. On Partial Standby(Current Primary): SQL> conn TEST/test123 Connected. SQL> select * from emp; ID ---------- 1 2 3 4 5 SQL> select * from dept; select * from dept * ERROR at line 1: ORA-00376: file 6 cannot be read at this time ORA-01110: data file 6: '+DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777' The above error is expected, as the corresponding datafile was skipped during restoration and subsequently taken offline and dropped. Now, what happens when you switch back to the original Primary database? Will the skipped tablespace data be accessible? Will the switchover generate any error messages? On Current Standby (PR): [oracle@testdb01 ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Thu Feb 12 19:57:02 2026 Version 19.26.0.0.0 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORACLE instance started. Total System Global Area 5.3624E+10 bytes Fixed Size 37352816 bytes Variable Size 1.1006E+10 bytes Database Buffers 4.1473E+10 bytes Redo Buffers 1107378176 bytes SQL> alter database mount; Database altered. SQL> select name,db_unique_name,open_mode,database_role,controlfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE CONTROL ---- ------------ --------- ---------------- ------- PR PR MOUNTED PHYSICAL STANDBY STANDBY SQL> alter system set fal_server='DR'; System altered. SQL> alter database add standby logfile group 101('+RECO1') size 52428800; Database altered. SQL> alter database add standby logfile group 102('+RECO1') size 52428800; Database altered. SQL> alter database add standby logfile group 103('+RECO1') size 52428800; Database altered. SQL> select GROUP#,THREAD#,SEQUENCE#,USED,ARCHIVED,STATUS from v$standby_log; GROUP# THREAD# SEQUENCE# USED ARC STATUS ------ ------- ---------- ---------- --- ---------- 101 0 0 0 YES UNASSIGNED 102 0 0 0 YES UNASSIGNED 103 0 0 0 YES UNASSIGNED On Partial Standby(Current Primary): SQL> alter system set log_archive_dest_state_2=defer; System altered. SQL> alter system set log_archive_dest_state_2=enable; System altered. SQL> alter system switch logfile; System altered. ...... SQL> alter system switch logfile; System altered. Let’s start the MRP process and check the current Standby database alert log for any ORA- error messages. On Current Standby (PR): SQL> recover managed standby database disconnect from session; Media recovery complete. Current Standby DB Alert Log File: 2026-02-12T19:58:24.565314+05:30 ALTER SYSTEM SET fal_server='DR' SCOPE=BOTH; 2026-02-12T19:58:35.361087+05:30 rfs (PID:109193): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is Foreground (PID:376072) 2026-02-12T19:58:35.361101+05:30 rfs (PID:109195): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is ASYNC (PID:188620) 2026-02-12T19:58:35.366757+05:30 rfs (PID:109195): Enable RFS client [krsr.c:5795] rfs (PID:109195): Disable RFS client [kcrlc.c:1531] rfs (PID:109195): No SRLs created 2026-02-12T19:58:35.413675+05:30 rfs (PID:109195): Opened log for T-1.S-623 dbid 2919488406 branch 1224971798 2026-02-12T19:58:35.477132+05:30 rfs (PID:109203): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is FAL (PID:376080) 2026-02-12T19:58:35.488411+05:30 rfs (PID:109201): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is FAL (PID:376076) 2026-02-12T19:58:35.489827+05:30 rfs (PID:109205): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is FAL (PID:376078) 2026-02-12T19:58:35.574672+05:30 rfs (PID:109203): Opened log for T-1.S-619 dbid 2919488406 branch 1224971798 2026-02-12T19:58:35.592363+05:30 rfs (PID:109201): Opened log for T-1.S-617 dbid 2919488406 branch 1224971798 2026-02-12T19:58:35.592572+05:30 rfs (PID:109205): Opened log for T-1.S-618 dbid 2919488406 branch 1224971798 2026-02-12T19:58:35.600864+05:30 rfs (PID:109201): Archived Log entry 314 added for B-1224971798.T-1.S-617 LOS:0x00000000000ba036 NXS:0x00000000000ba039 NAB:2 ID 0xae04625d LAD:1 2026-02-12T19:58:35.622355+05:30 rfs (PID:109203): Archived Log entry 315 added for B-1224971798.T-1.S-619 LOS:0x00000000000ba13a NXS:0x00000000000ba15a NAB:4273 ID 0xae04625d LAD:1 2026-02-12T19:58:35.629032+05:30 rfs (PID:109205): Archived Log entry 316 added for B-1224971798.T-1.S-618 LOS:0x00000000000ba039 NXS:0x00000000000ba13a NAB:4251 ID 0xae04625d LAD:1 2026-02-12T19:58:35.639805+05:30 rfs (PID:109203): Opened log for T-1.S-621 dbid 2919488406 branch 1224971798 2026-02-12T19:58:35.640148+05:30 rfs (PID:109205): Opened log for T-1.S-622 dbid 2919488406 branch 1224971798 2026-02-12T19:58:35.647314+05:30 rfs (PID:109203): Archived Log entry 317 added for B-1224971798.T-1.S-621 LOS:0x00000000000ba18a NXS:0x00000000000ba1a0 NAB:4266 ID 0xae04625d LAD:1 2026-02-12T19:58:35.649165+05:30 rfs (PID:109205): Archived Log entry 318 added for B-1224971798.T-1.S-622 LOS:0x00000000000ba1a0 NXS:0x00000000000ba2f1 NAB:4290 ID 0xae04625d LAD:1 2026-02-12T19:58:35.653868+05:30 rfs (PID:109201): Opened log for T-1.S-620 dbid 2919488406 branch 1224971798 2026-02-12T19:58:35.662648+05:30 rfs (PID:109201): Archived Log entry 319 added for B-1224971798.T-1.S-620 LOS:0x00000000000ba15a NXS:0x00000000000ba18a NAB:9841 ID 0xae04625d LAD:1 2026-02-12T19:58:41.898182+05:30 rfs (PID:109195): Archived Log entry 320 added for B-1224971798.T-1.S-623 LOS:0x00000000000ba2f1 NXS:0x00000000000ba57b NAB:479 ID 0xae04625d LAD:1 2026-02-12T19:58:42.045030+05:30 rfs (PID:109394): krsr_rfs_atc: Identified database type as 'PHYSICAL': Client is ASYNC (PID:188618) rfs (PID:109394): No SRLs created 2026-02-12T19:58:42.107988+05:30 rfs (PID:109394): Opened log for T-1.S-624 dbid 2919488406 branch 1224971798 2026-02-12T19:58:43.116150+05:30 rfs (PID:109394): Archived Log entry 321 added for B-1224971798.T-1.S-624 LOS:0x00000000000ba57b NXS:0x00000000000ba583 NAB:10 ID 0xae04625d LAD:1 rfs (PID:109394): No SRLs created 2026-02-12T19:58:43.144376+05:30 rfs (PID:109394): Opened log for T-1.S-625 dbid 2919488406 branch 1224971798 2026-02-12T19:58:43.601790+05:30 rfs (PID:109394): Archived Log entry 322 added for B-1224971798.T-1.S-625 LOS:0x00000000000ba583 NXS:0x00000000000ba58d NAB:7 ID 0xae04625d LAD:1 rfs (PID:109394): No SRLs created 2026-02-12T19:58:43.619116+05:30 rfs (PID:109394): Opened log for T-1.S-626 dbid 2919488406 branch 1224971798 ........ 2026-02-12T19:59:19.022923+05:30 alter database add standby logfile group 101('+RECO1') size 52428800 2026-02-12T19:59:19.024150+05:30 Expanded controlfile section 3 from 5 to 101 records The number of logical blocks in section 3 remains the same Completed: alter database add standby logfile group 101('+RECO1') size 52428800 2026-02-12T19:59:22.606021+05:30 alter database add standby logfile group 102('+RECO1') size 52428800 2026-02-12T19:59:22.606829+05:30 Expanded controlfile section 3 from 101 to 202 records The number of logical blocks in section 3 remains the same Completed: alter database add standby logfile group 102('+RECO1') size 52428800 2026-02-12T19:59:25.800620+05:30 alter database add standby logfile group 103('+RECO1') size 52428800 Completed: alter database add standby logfile group 103('+RECO1') size 52428800 2026-02-12T19:59:52.641897+05:30 rfs (PID:109394): Archived Log entry 323 added for B-1224971798.T-1.S-626 LOS:0x00000000000ba58d NXS:0x00000000000ba623 NAB:84 ID 0xae04625d LAD:1 2026-02-12T19:59:52.665325+05:30 rfs (PID:109394): Selected LNO:101 for T-1.S-627 dbid 2919488406 branch 1224971798 2026-02-12T19:59:52.755330+05:30 ERROR: failed to establish dependency between database PR and diskgroup resource ora.RECO1.dg 2026-02-12T19:59:53.988135+05:30 rfs (PID:109394): Selected LNO:102 for T-1.S-628 dbid 2919488406 branch 1224971798 2026-02-12T19:59:54.005691+05:30 ARC3 (PID:99472): Archived Log entry 324 added for B-1224971798.T-1.S-627 LOS:0x00000000000ba623 NXS:0x00000000000ba62a NAB:7 ID 0xae04625d LAD:1 2026-02-12T19:59:55.795638+05:30 rfs (PID:109394): Selected LNO:101 for T-1.S-629 dbid 2919488406 branch 1224971798 2026-02-12T19:59:55.809926+05:30 ARC0 (PID:99462): Archived Log entry 325 added for B-1224971798.T-1.S-628 LOS:0x00000000000ba62a NXS:0x00000000000ba632 NAB:7 ID 0xae04625d LAD:1 ....... 2026-02-12T20:00:16.930403+05:30 ALTER DATABASE RECOVER managed standby database disconnect from session 2026-02-12T20:00:16.932627+05:30 Attempt to start background Managed Standby Recovery process (PR) Starting background process MRP0 2026-02-12T20:00:16.955455+05:30 MRP0 started with pid=170, OS id=127265 2026-02-12T20:00:16.955926+05:30 Background Managed Standby Recovery process started (PR) 2026-02-12T20:00:21.984016+05:30 Started logmerger process 2026-02-12T20:00:22.028602+05:30 PR00 (PID:127477): Managed Standby Recovery starting Real Time Apply 2026-02-12T20:00:22.093568+05:30 DBWPreopen slv 0 open list size=2 successful=0 DBWPreopen slv 1 open list size=2 successful=0 DBWPreopen slv 2 open list size=1 successful=0 DBWPreopen slv 3 open list size=1 successful=0 DBWPreopen total open count=7 shared=0 BG-shared=0 at t=0s 2026-02-12T20:00:23.678540+05:30 Only allocated 127 recovery slaves (requested 128) 2026-02-12T20:00:23.678581+05:30 Parallel Media Recovery started with 127 slaves 2026-02-12T20:00:23.735056+05:30 Stopping change tracking 2026-02-12T20:00:23.788160+05:30 TT04 (PID:128187): Waiting for all non-current ORLs to be archived 2026-02-12T20:00:23.788210+05:30 TT04 (PID:128187): All non-current ORLs have been archived 2026-02-12T20:00:23.824285+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_615.635.1225050633 2026-02-12T20:00:23.841409+05:30 TT04 (PID:128187): Clearing ORL LNO:1 +RECO1/PR/ONLINELOG/group_1.11868.1224971801 Clearing online log 1 of thread 1 sequence number 615 TT04 (PID:128187): Clearing ORL LNO:1 complete TT04 (PID:128187): Clearing ORL LNO:2 +RECO2/PR/ONLINELOG/group_2.1381.1224971801 Clearing online log 2 of thread 1 sequence number 616 TT04 (PID:128187): Clearing ORL LNO:2 complete 2026-02-12T20:00:23.962023+05:30 Completed: ALTER DATABASE RECOVER managed standby database disconnect from session 2026-02-12T20:00:24.111620+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_616.1605.1225051049 2026-02-12T20:00:24.309956+05:30 PR00 (PID:127477): Resetting standby activation ID 0 (0x0) 2026-02-12T20:00:24.313397+05:30 Media Recovery End-Of-Redo indicator encountered 2026-02-12T20:00:24.313433+05:30 Media Recovery Continuing 2026-02-12T20:00:24.384319+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_617.1581.1225051115 2026-02-12T20:00:24.470985+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_618.1577.1225051115 2026-02-12T20:00:24.782432+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_619.1584.1225051115 2026-02-12T20:00:24.875832+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_620.1533.1225051115 2026-02-12T20:00:24.924194+05:30 TT04 (PID:128187): Waiting for all non-current ORLs to be archived 2026-02-12T20:00:24.924258+05:30 TT04 (PID:128187): All non-current ORLs have been archived 2026-02-12T20:00:24.976051+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_621.1568.1225051115 2026-02-12T20:00:25.066894+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_622.1545.1225051115 2026-02-12T20:00:25.168550+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_623.1589.1225051115 2026-02-12T20:00:25.264616+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_624.1423.1225051123 2026-02-12T20:00:25.358741+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_625.1499.1225051123 2026-02-12T20:00:25.449273+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_626.1484.1225051123 2026-02-12T20:00:25.546240+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_627.1433.1225051193 2026-02-12T20:00:25.641438+05:30 PR00 (PID:127477): Media Recovery Log +RECO2/PR/ARCHIVELOG/2026_02_12/thread_1_seq_628.2277.1225051195 PR00 (PID:127477): Media Recovery Waiting for T-1.S-629 (in transit) 2026-02-12T20:00:25.733631+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 629 Reading mem 0 Mem# 0: +RECO1/PR/ONLINELOG/group_101.11889.1225051159 Let’s perform the switchback operation between the Partial Standby (currently acting as Primary) and the current Standby (PR) database, and observe the behavior. On Partial Standby(Current Primary): SQL> alter database switchover to PR verify; Database altered. SQL> alter database switchover to PR; Database altered. Partial Standby(Current Primary) Alert Log: 2026-02-12T20:23:05.321138+05:30 alter database switchover to PR verify 2026-02-12T20:23:05.435188+05:30 SWITCHOVER VERIFY: Send VERIFY request to switchover target PR SWITCHOVER VERIFY COMPLETE: READY FOR SWITCHOVER Completed: alter database switchover to PR verify 2026-02-12T20:23:26.750375+05:30 alter database switchover to PR 2026-02-12T20:23:26.750431+05:30 NET (PID:219964): The Time Management Interface (TMI) is being enabled for role transition NET (PID:219964): information. This will result in messages beingoutput to the alert log NET (PID:219964): file with the prefix 'TMI: '. This is being enabled to make the timing of NET (PID:219964): the various stages of the role transition available for diagnostic purposes. NET (PID:219964): This output will end when the role transition is complete. TMI: dbsdrv switchover to target BEGIN 2026-02-12 20:23:26.750601 NET (PID:219964): Starting switchover [Process ID: 219964] TMI: kcv_switchover_to_target convert to physical BEGIN 2026-02-12 20:23:26.857378 2026-02-12T20:23:26.857427+05:30 ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY [Process Id: 219964] (DR) NET (PID:219964): Waiting for target standby to receive all redo 2026-02-12T20:23:26.877140+05:30 NET (PID:219964): Waiting for all non-current ORLs to be archived 2026-02-12T20:23:26.877180+05:30 NET (PID:219964): All non-current ORLs have been archived 2026-02-12T20:23:26.877205+05:30 NET (PID:219964): Waiting for all FAL entries to be archived 2026-02-12T20:23:26.877231+05:30 NET (PID:219964): All FAL entries have been archived 2026-02-12T20:23:26.877260+05:30 NET (PID:219964): Waiting for LAD:2 to become synchronized 2026-02-12T20:23:27.878532+05:30 NET (PID:219964): Active, synchronized Physical Standby switchover target has been identified NET (PID:219964): Preventing updates and queries at the Primary NET (PID:219964): Generating and shipping final logs to target standby Switchover End-Of-Redo Log thread 1 sequence 632 has been fixed Switchover: Primary highest seen SCN set to 0x00000000000d3ac7 NET (PID:219964): Noswitch archival of T-1.S-632 NET (PID:219964): End-Of-Redo Branch archival of T-1.S-632 NET (PID:219964): LGWR is scheduled to archive to LAD:2 after log switch NET (PID:219964): Archiving is disabled due to current logfile archival Primary will check for some target standby to have received all redo NET (PID:219964): Waiting for target standby to apply all redo 2026-02-12T20:23:29.075751+05:30 Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_ora_219964.trc NET (PID:219964): Converting the primary database to a new standby database Clearing standby activation ID 2919522909 (0xae04625d) The primary database controlfile was created using the 'MAXLOGFILES 202' clause. There is space for up to 200 standby redo logfiles Use the following SQL commands on the standby database to create standby redo logfiles that match the primary database: ALTER DATABASE ADD STANDBY LOGFILE 'srl1.f' SIZE 52428800; ALTER DATABASE ADD STANDBY LOGFILE 'srl2.f' SIZE 52428800; ALTER DATABASE ADD STANDBY LOGFILE 'srl3.f' SIZE 52428800; Archivelog for thread 1 sequence 632 required for standby recovery Switchover: Primary controlfile converted to standby controlfile succesfully. 2026-02-12T20:23:29.084655+05:30 NET (PID:219964): DBROLE: Switchover to a PHYSICAL at [kcvs.c:4069] pending DB bounce Switchover: Complete - Database shutdown required TMI: kcv_switchover_to_target convert to physical END 2026-02-12 20:23:29.084686 NET (PID:219964): Sending request(convert to primary database) to switchover target PR 2026-02-12T20:23:35.891593+05:30 NET (PID:219964): Switchover complete. Database shutdown required 2026-02-12T20:23:35.892452+05:30 USER (ospid: 219964): terminating the instance 2026-02-12T20:23:35.892453+05:30 Process termination requested for pid 372380 [source = rdbms], [info = 0] [request issued by pid: 219964, uid: 1001] 2026-02-12T20:23:35.909226+05:30 Process termination requested for pid 372398 [source = rdbms], [info = 0] [request issued by pid: 219964, uid: 1001] 2026-02-12T20:23:35.916250+05:30 Process termination requested for pid 372450 [source = rdbms], [info = 0] [request issued by pid: 219964, uid: 1001 Current Standby (PR): SQL> select name,db_unique_name,open_mode,database_role,cotrolfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE CONTROL ---- ------------ --------- ------------- ------- PR PR MOUNTED PRIMARY CURRENT SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +RECO2 Oldest online log sequence 633 Next log sequence to archive 633 Current log sequence 633 SQL> alter database open; Database altered. SQL> select name,db_unique_name,open_mode,database_role,cotrolfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE CONTROL ----- ------------ ---------- ------------- ------- PR PR READ WRITE PRIMARY CURRENT Now, the PR database has resumed the Primary role, and the Partial Standby database is functioning as the Standby. Let us switch a few log files and closely observe the redo transport and apply behavior. SQL> alter system switch logfile; System altered. ..... SQL> alter system switch logfile; System altered. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +RECO2 Oldest online log sequence 645 Next log sequence to archive 646 Current log sequence 646 Let’s start the MRP process and verify whether any error messages are generated during redo apply. On Partial Standby(Current Standby): SQL> recover managed standby database disconnect from session; Media recovery complete. On Partial Standby(Current Standby) Alert Log: 2026-02-12T20:34:29.357390+05:30 ALTER DATABASE RECOVER managed standby database disconnect from session 2026-02-12T20:34:29.360442+05:30 Attempt to start background Managed Standby Recovery process (DR) Starting background process MRP0 2026-02-12T20:34:29.383672+05:30 MRP0 started with pid=171, OS id=153328 2026-02-12T20:34:29.384184+05:30 Background Managed Standby Recovery process started (DR) 2026-02-12T20:34:34.413180+05:30 Started logmerger process 2026-02-12T20:34:34.444170+05:30 PR00 (PID:153489): Managed Standby Recovery starting Real Time Apply 2026-02-12T20:34:34.489466+05:30 DBWPreopen slv 0 open list size=2 successful=0 DBWPreopen slv 1 open list size=1 successful=0 DBWPreopen slv 2 open list size=1 successful=0 DBWPreopen slv 3 open list size=1 successful=0 DBWPreopen total open count=6 shared=0 BG-shared=0 at t=0s 2026-02-12T20:34:35.908975+05:30 Only allocated 127 recovery slaves (requested 128) 2026-02-12T20:34:35.909044+05:30 Parallel Media Recovery started with 127 slaves 2026-02-12T20:34:35.960021+05:30 Stopping change tracking 2026-02-12T20:34:35.994083+05:30 TT02 (PID:153782): Waiting for all non-current ORLs to be archived 2026-02-12T20:34:35.994124+05:30 TT02 (PID:153782): All non-current ORLs have been archived TT02 (PID:153782): Clearing ORL LNO:1 +RECO1/DR/ONLINELOG/group_1.11890.1225050577 Clearing online log 1 of thread 1 sequence number 631 2026-02-12T20:34:36.059516+05:30 ERROR: failed to establish dependency between database DR and diskgroup resource ora.RECO2.dg 2026-02-12T20:34:36.092247+05:30 TT02 (PID:153782): Clearing ORL LNO:1 complete TT02 (PID:153782): Clearing ORL LNO:2 +RECO1/DR/ONLINELOG/group_2.11873.1225050577 Clearing online log 2 of thread 1 sequence number 632 2026-02-12T20:34:36.149676+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_631.2243.1225052543 2026-02-12T20:34:36.372789+05:30 TT02 (PID:153782): Clearing ORL LNO:2 complete 2026-02-12T20:34:36.390679+05:30 Completed: ALTER DATABASE RECOVER managed standby database disconnect from session 2026-02-12T20:34:36.419096+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_632.2211.1225052859 2026-02-12T20:34:36.596076+05:30 PR00 (PID:153489): Resetting standby activation ID 0 (0x0) 2026-02-12T20:34:36.597400+05:30 Media Recovery End-Of-Redo indicator encountered 2026-02-12T20:34:36.597419+05:30 Media Recovery Continuing 2026-02-12T20:34:36.663400+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_633.2531.1225053221 2026-02-12T20:34:36.747980+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_634.2535.1225053221 2026-02-12T20:34:37.051927+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_635.2539.1225053221 2026-02-12T20:34:37.142592+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_636.1875.1225053221 2026-02-12T20:34:37.233249+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_637.1865.1225053221 2026-02-12T20:34:37.323993+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_638.1855.1225053221 2026-02-12T20:34:37.399701+05:30 TT02 (PID:153782): Waiting for all non-current ORLs to be archived 2026-02-12T20:34:37.399757+05:30 TT02 (PID:153782): All non-current ORLs have been archived 2026-02-12T20:34:37.414510+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_639.1847.1225053221 2026-02-12T20:34:37.505309+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_640.1765.1225053221 2026-02-12T20:34:37.595968+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_641.1833.1225053221 2026-02-12T20:34:37.686796+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_642.1823.1225053221 2026-02-12T20:34:37.777464+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_643.1809.1225053225 2026-02-12T20:34:37.872620+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_644.2119.1225053225 2026-02-12T20:34:37.967531+05:30 PR00 (PID:153489): Media Recovery Log +RECO2/DR/ARCHIVELOG/2026_02_12/thread_1_seq_645.2099.1225053227 2026-02-12T20:34:38.059170+05:30 PR00 (PID:153489): Media Recovery Waiting for T-1.S-646 (in transit) 2026-02-12T20:34:38.060082+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 646 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 Let's query the EMP and DEPT tables again to verify their data availability after the role transition. On Current Primary(PR): SQL> conn TEST/test123 Connected. SQL> select * from emp; ID ---------- 1 2 3 4 5 SQL> select * from dept; NAME ------------ CBS UPI INB CRM HRMS You can see that the DEPT table exists, as its datafile is physically available on the PR database. Previously, an error occurred while accessing the DEPT table on the Partial Standby database after the switchover, because the corresponding datafile had been taken offline and dropped. ✅ Outcomes: ✔️ Based on the above simulation testing, it is evident that both switchover and switchback operations were possible without any errors. ⚠️ However, as noted earlier, this scenario does not represent a valid business requirement, since the Primary database contains more tablespaces while the Partial Standby has fewer tablespaces. 🔹Is it possible to activate a Partial Standby Database?Let’s perform simulation testing to verify and confirm its behavior.On Current Primary(PR): SQL> col name for a56 SQL> select file#,name,status from v$datafile order by 1; FILE# NAME STATUS ----- ---------------------------------------------- ------- 1 +DATAC1/PR/DATAFILE/system.15131.1224971801 SYSTEM 2 +DATAC1/PR/DATAFILE/sysaux.15127.1224971803 ONLINE 3 +DATAC1/PR/DATAFILE/undotbs1.15120.1224971803 ONLINE 4 +DATAC1/PR/DATAFILE/users.15135.1224971803 ONLINE 5 +DATAC1/PR/DATAFILE/tbs_part1.15134.1225047767 ONLINE 6 +DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777 ONLINE 6 rows selected. SQL> conn TEST/test123 Connected. Let’s insert some records into the EMP and DEPT tables and switch few logs. SQL> insert into emp values(111); 1 row created. SQL> insert into emp values(222); 1 row created. SQL> commit; Commit complete. SQL> select * from emp; ID ---------- 1 2 3 4 5 111 222 7 rows selected. SQL> insert into dept values('AAA'); 1 row created. SQL> insert into dept values('BBB'); 1 row created. SQL> commit; Commit complete. SQL> select * from dept; NAME ------ CBS UPI INB CRM HRMS AAA BBB 7 rows selected. SQL> alter system switch logfile; System altered. ..... SQL> alter system switch logfile; System altered. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +RECO2 Oldest online log sequence 648 Next log sequence to archive 649 Current log sequence 649 Partial Standby(Current Standby) Alert Log: 2026-02-12T20:38:11.489587+05:30 rfs (PID:144483): Selected LNO:101 for T-1.S-647 dbid 2919488406 branch 1224971798 2026-02-12T20:38:11.507312+05:30 ARC1 (PID:102563): Archived Log entry 60 added for B-1224971798.T-1.S-646 LOS:0x00000000000d3eb5 NXS:0x00000000000d4180 NAB:330 ID 0xae046022 LAD:1 2026-02-12T20:38:11.563276+05:30 PR00 (PID:153489): Media Recovery Waiting for T-1.S-647 (in transit) 2026-02-12T20:38:11.564266+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 647 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_101.11892.1225050043 2026-02-12T20:38:12.072512+05:30 rfs (PID:144483): Selected LNO:102 for T-1.S-648 dbid 2919488406 branch 1224971798 2026-02-12T20:38:12.079063+05:30 ARC3 (PID:102568): Archived Log entry 61 added for B-1224971798.T-1.S-647 LOS:0x00000000000d4180 NXS:0x00000000000d4186 NAB:7 ID 0xae046022 LAD:1 2026-02-12T20:38:12.148017+05:30 PR00 (PID:153489): Media Recovery Waiting for T-1.S-648 (in transit) 2026-02-12T20:38:12.148705+05:30 Recovery of Online Redo Log: Thread 1 Group 102 Seq 648 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_102.11881.1225050049 2026-02-12T20:38:14.392137+05:30 rfs (PID:144483): Selected LNO:101 for T-1.S-649 dbid 2919488406 branch 1224971798 2026-02-12T20:38:14.405886+05:30 ARC1 (PID:102563): Archived Log entry 62 added for B-1224971798.T-1.S-648 LOS:0x00000000000d4186 NXS:0x00000000000d4190 NAB:8 ID 0xae046022 LAD:1 2026-02-12T20:38:14.468723+05:30 PR00 (PID:153489): Media Recovery Waiting for T-1.S-649 (in transit) 2026-02-12T20:38:14.469315+05:30 Recovery of Online Redo Log: Thread 1 Group 101 Seq 649 Reading mem 0 Mem# 0: +RECO1/DR/ONLINELOG/group_101.11892.1225050043 Step 11 : Let's activate the Partial Standby database. SQL> alter database activate standby database; alter database activate standby database * ERROR at line 1: ORA-01153: an incompatible media recovery is active SQL> recover managed standby database cancel; Media recovery complete. SQL> alter database activate standby database; Database altered. Partial Standby(Current Standby) Alert Log: 2026-02-12T20:39:39.993285+05:30 alter database activate standby database 2026-02-12T20:39:39.993360+05:30 ALTER DATABASE ACTIVATE [PHYSICAL] STANDBY DATABASE [Process Id: 102569] (DR) 2026-02-12T20:39:40.008744+05:30 .... (PID:101829): Killing 5 processes (PIDS:144459,144483,144316,144318,144320) (all RFS) in order to disallow current and future RFS connections. Requested by OS process 101829 2026-02-12T20:39:40.008961+05:30 Process termination requested for pid 144483 [source = rdbms], [info = 2] [request issued by pid: 101829, uid: 1001] 2026-02-12T20:39:40.008978+05:30 Process termination requested for pid 144318 [source = rdbms], [info = 2] [request issued by pid: 101829, uid: 1001] 2026-02-12T20:39:40.008978+05:30 Process termination requested for pid 144459 [source = rdbms], [info = 2] [request issued by pid: 101829, uid: 1001] 2026-02-12T20:39:40.009016+05:30 Process termination requested for pid 144316 [source = rdbms], [info = 2] [request issued by pid: 101829, uid: 1001] 2026-02-12T20:39:40.009136+05:30 Process termination requested for pid 144320 [source = rdbms], [info = 2] [request issued by pid: 101829, uid: 1001] 2026-02-12T20:39:40.040377+05:30 .... (PID:102569): Begin: SRL archival .... (PID:102569): End: SRL archival 2026-02-12T20:39:40.100372+05:30 DBWPreopen slv 0 open list size=2 successful=0 DBWPreopen slv 1 open list size=1 successful=0 DBWPreopen slv 2 open list size=1 successful=0 DBWPreopen slv 3 open list size=1 successful=0 DBWPreopen total open count=6 shared=0 BG-shared=0 at t=0s 2026-02-12T20:39:40.110193+05:30 RESETLOGS after incomplete recovery UNTIL CHANGE 869060 time 02/12/2026 20:39:21 2026-02-12T20:39:40.137051+05:30 NET (PID:102569): Archived Log entry 63 added for B-1224971798.T-1.S-649 LOS:0x00000000000d4190 NXS:0x00000000000d42e8 NAB:260 ID 0xae046022 LAD:1 Resetting resetlogs activation ID 2919522338 (0xae046022) Online log +RECO1/DR/ONLINELOG/group_1.11890.1225050577: Thread 1 Group 1 was previously cleared Online log +RECO2/DR/ONLINELOG/group_1.712.1225050577: Thread 1 Group 1 was previously cleared Online log +RECO1/DR/ONLINELOG/group_2.11873.1225050577: Thread 1 Group 2 was previously cleared Online log +RECO2/DR/ONLINELOG/group_2.594.1225050577: Thread 1 Group 2 was previously cleared Standby became primary SCN: 869058 2026-02-12T20:39:40.175908+05:30 Setting recovery target incarnation to 2 2026-02-12T20:39:40.178288+05:30 NET (PID:102569): RT_PMODE: PHYSICAL mounting with mode MAXIMUM PERFORMANCE level NO PROTECTION NET (PID:102569): RT: Role transition work is not done NET (PID:102569): The Time Management Interface (TMI) is being enabled for role transition NET (PID:102569): information. This will result in messages beingoutput to the alert log NET (PID:102569): file with the prefix 'TMI: '. This is being enabled to make the timing of NET (PID:102569): the various stages of the role transition available for diagnostic purposes. NET (PID:102569): This output will end when the role transition is complete. NET (PID:102569): Redo network throttle feature is disabled at mount time 2026-02-12T20:39:40.217783+05:30 NET (PID:102569): DBROLE: Activated as a PRIMARY at [kcvs.c:1168] ACTIVATE STANDBY: Complete - Database mounted as primary Completed: alter database activate standby database Let’s open the Partial Standby database and verify the existence of table data after activation. On Partial Standby(Current Standby): SQL> alter database open; Database altered. On Partial Standby(Current Standby) Alert Log: 2026-02-12T20:39:59.910557+05:30 alter database open 2026-02-12T20:40:00.465540+05:30 CJQ0 started with pid=170, OS id=202468 , bound to OS numa node 1 Completed: alter database open 2026-02-12T20:40:08.326506+05:30 Errors in file /u01/app/oracle/diag/rdbms/dr/DR/trace/DR_mz04_205381.trc: ORA-01110: data file 6: '+DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777' SQL> select name,db_unique_name,open_mode,database_role,cotrolfile_type from v$database; NAME DB_UNIQUE_NA OPEN_MODE DATABASE_ROLE CONTROL ----- ------------ ---------- ------------- ------- PR DR READ WRITE PRIMARY CURRENT Open Let's check the table data existitence after activating partial standby db. SQL> conn TEST/test123 Connected. SQL> select * from emp; ID ---------- 1 2 3 4 5 111 222 7 rows selected. SQL> select * from dept; select * from dept * ERROR at line 1: ORA-00376: file 6 cannot be read at this time ORA-01110: data file 6: '+DATAC1/PR/DATAFILE/tbs_part2.15118.1225047777' ✅ Outcomes: ✔️ The ACTIVATE STANDBY command completed successfully. ✔️ The EMP table is accessible with newly inserted records. ⚠️ The DEPT table is not accessible, as its datafile was taken offline and dropped on the Partial Standby database — this is expected behavior. ⚠️ The database opened successfully, but an error was reported for datafile 6 — also expected. ✔️ It is clear that a Partial Standby database can be activated without major issues, with the understanding that skipped or dropped datafiles will not be accessible. Step 12: Isolate of Partial Standby Database after activation. Once the Partial Standby database is activated, it can function as an independent database, separate from the Primary database. Non-required tablespaces and objects can now be dropped while the database is in READ-WRITE mode. On Partial Standby(Activated Standby): SQL> select name from v$tablespace; NAME ------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS TBS_PART1 TBS_PART2 SQL> drop tablespace TBS_PART2 including contents and datafiles. Tablespace dropped. SQL> select name from v$tablespace; NAME ------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS TBS_PART1 🏁 Final Conclusion: 🔹 How can a Partial Standby Database be created? ✅ Successfully simulated above. 🔹 Will the RFS (Remote File Server) process work in a Partial Standby Database? ✅ Works as expected, validated in simulation. 🔹 Will the MRP (Managed Recovery Process) throw any errors during redo apply? ✅ Works as expected, validated in simulation. 🔹 Can switchover or switchback operations be performed in a Partial Standby Database? ✅ Can be performed, successfully demonstrated. 🔹 Is it possible to activate a Partial Standby Database? ✅ Possible and validated, with expected limitations for offline/dropped datafiles. 📝 Stay tuned for a detailed blog post on this case !!! |
Thanks for reading this post ! Please comment if you like this post ! Click FOLLOW to get future blog updates !

Thank you for visiting my blog ! Thanks for your comment !