DEV Community

Vahid Yousefzadeh
Vahid Yousefzadeh

Posted on

Automatic Standby PDB Instantiation and Standby Redo Log Creation in Oracle AI Database 26ai(23.26.2)

Oracle AI Database Release Update 23.26.2 introduces an important enhancement for Data Guard per Pluggable Database (PDB) environments. When a protected PDB is added through Data Guard Broker, Oracle automatically performs several tasks that previously required manual intervention.

Prior to Release Update 23.26.2, creating a standby PDB typically involved multiple manual steps, such as:

  • Copying datafiles to the standby CDB
  • Creating Standby Redo Logs (SRLs)
  • Verifying the standby configuration

Starting with 23.26.2, Data Guard Broker automates these operations, simplifying the deployment process and reducing the risk of configuration errors.

To demonstrate this enhancement, I created a standby PDB named AMOL on the standby database CDB2 using the following Broker command:

DGMGRL>  ADD PLUGGABLE DATABASE 'amol' AT cdb2 SOURCE is 'amol' AT cdb1 PDBFileNameConvert is "'/CDB1/','/CDB2/'";
Pluggable Database "AMOL" added
Enter fullscreen mode Exit fullscreen mode

Notice that no RMAN restore, manual file copy, or standby redo log creation commands are required.

The new PDB initially appears in the MOUNTED state.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 BABOL                          READ WRITE NO
         4 AMOL                           MOUNTED
Enter fullscreen mode Exit fullscreen mode

After opening the PDB,

SQL> alter pluggable database AMOL open;
Pluggable database altered.
Enter fullscreen mode Exit fullscreen mode

it becomes available in READ ONLY mode, which is the expected state for a physical standby PDB.

SQL>  show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 BABOL                          READ WRITE NO
         4 AMOL                           READ ONLY  NO
Enter fullscreen mode Exit fullscreen mode

Next, I switched to the AMOL container and verified that the datafiles had already been created.

SQL> alter session set container=amol;
Session altered.
SQL> select name from v$datafile;
NAME
-------------------------------------------------
/oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_system_o5cv72qp_.dbf
/oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_sysaux_o5cv71nb_.dbf
/oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_undotbs1_o5cv716w_.dbf
/oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_users_o5cv710h_.dbf
Enter fullscreen mode Exit fullscreen mode

This confirms that Oracle automatically copied the datafiles from the primary database during standby PDB instantiation.

Another enhancement introduced in Release Update 23.26.2 is the automatic creation of Standby Redo Logs.

SQL> select group# from v$standby_log;

    GROUP#
----------
         4
         5
         6
Enter fullscreen mode Exit fullscreen mode

No manual ALTER DATABASE ADD STANDBY LOGFILE commands were necessary.

Finally, I validated the standby PDB configuration.

DGMGRL>  VALIDATE PLUGGABLE DATABASE amol AT cdb2;

  Ready for Switchover:    YES

  Data Guard Role:         Physical Standby
  Apply State:             Running
  Standby Redo Log Files:  3
  Source:                  AMOL (con_id 3) at cdb1
Enter fullscreen mode Exit fullscreen mode

The validation confirms that redo apply is running successfully, the standby redo logs are configured correctly, and the standby PDB is ready for switchover.

The following alert log excerpt shows the internal operations performed automatically during standby PDB instantiation.

create pluggable database AMOL as standby from AMOL at cdb1 file_name_convert=('/CDB1/','/CDB2/')
2026-07-14T11:31:34.047911+03:30
AMOL(4):ALTER SYSTEM SET _dgpdb_file_name_convert='/CDB1/','/CDB2/' SCOPE=SPFILE PDB='AMOL';
2026-07-14T11:31:34.116071+03:30
****************************************************************
Pluggable Database AMOL with pdb id - 4 is created as UNUSABLE.
If any errors are encountered before the pdb is marked as NEW,
then the pdb must be dropped
local undo-1, localundoscn-0x0000000000000132
****************************************************************
Completed: create pluggable database AMOL as standby from AMOL at cdb1 file_name_convert=('/CDB1/','/CDB2/')
2026-07-14T11:31:34.533442+03:30
 rfs (PID:809423): krsr_rfs_atc: DBROLE:PRIMARY Client is ASYNC DB: (PID:240147) [krsr.c:6137]
 rfs (PID:809423): Foreign redo connection for cdb1(DBID:1212295561), Client is ASYNC (PID:240147) [krsr.c:6918]
 rfs (PID:809423): Disable RFS client RFS LogMiner Client [krsr.c:7033]
 rfs (PID:809423): No SRLs created [krsk.c:5084]
2026-07-14T11:31:34.562849+03:30
 rfs (PID:809423): Opened log for DBID:1212295561 B-1238578121.T-1.S-2.C-0 [krsr.c:19571]
2026-07-14T11:31:35.430667+03:30
 rfs (PID:809423): Archived Log entry 1 added for B-1238578121.T-1.S-2 LOS:0x0000000000200744 NXS:0x0000000000203102 NAB:75800 ID 0x4842e589 LAD:1 [krsp.c:952]
2026-07-14T11:31:36.546432+03:30
 rfs (PID:809435): krsr_rfs_atc: DBROLE:PRIMARY Client is ASYNC DB: (PID:240145) [krsr.c:6137]
 rfs (PID:809435): Foreign redo connection for cdb1(DBID:1212295561), Client is ASYNC (PID:240145) [krsr.c:6918]
2026-07-14T11:31:36.564502+03:30
 rfs (PID:809435): Opened LNO:4 for DBID:1212295561 B-1238578121.T-1.S-3.C-0 [krsr.c:19561]
2026-07-14T11:31:36.954106+03:30
AMOL(4):Restore from backup piece network
AMOL(4):Full restore complete of  datafile 15 /oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_users_o5cv710h_.dbf.  Elapsed time: 0:00:00
AMOL(4):   checkpoint is SCN 2109708 time 07/14/2026 11:30:48 on PDB incarnation 0
AMOL(4):2071166
AMOL(4):Restore from backup piece network
AMOL(4):Full restore complete of  datafile 14 /oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_undotbs1_o5cv716w_.dbf.  Elapsed time: 0:00:00
AMOL(4):   checkpoint is SCN 2109713 time 07/14/2026 11:30:48 on PDB incarnation 0
AMOL(4):2108839
AMOL(4):2107197
AMOL(4):Restore from backup piece network
2026-07-14T11:31:38.597999+03:30
AMOL(4):Full restore complete of  datafile 13 /oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_sysaux_o5cv71nb_.dbf.  Elapsed time: 0:00:01
AMOL(4):   checkpoint is SCN 2109718 time 07/14/2026 11:30:49 on PDB incarnation 0
AMOL(4):2081853
AMOL(4):Restore from backup piece network
AMOL(4):Full restore complete of  datafile 12 /oracle/base/oradata/CDB2/568CEB400DB29D03E0630488200A65CB/datafile/o1_mf_system_o5cv72qp_.dbf.  Elapsed time: 0:00:01
AMOL(4):   checkpoint is SCN 2109723 time 07/14/2026 11:30:50 on PDB incarnation 0
AMOL(4):2085977
AMOL(4):2107197
Enter fullscreen mode Exit fullscreen mode

Top comments (0)