Current DG configuration is shown below.
DGMGRL> show configuration Configuration - dbx_dg Protection Mode: MaxAvailability Members: ppdbxdb1- Primary database ppdbxdb2 - Physical standby database ppdbxfs1 - Far sync instance ppdbxdb6 - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESSA new standby instance named ppdbxdb5 is added to the same region as ppdbxdb6 and redo is shipped via far sync instance ppdbxfs1. The post doesn't show the pre-reqs that need to be completed before adding the new standby. Refer the previous post for those steps.
The database duplication in this case is done connecting the auxiliary database. This method is also used before on a data guard creation.
On the existing standby database (ppdbxdb6 in this case) run following to create backups of spfile, controlfile, database and archive logs.
backup spfile format '/backup/spbackup.bkp'; backup current controlfile for standby format '/backup/stdbycontro.ctl'; backup database format '/backup/dbbackup%U' plus archivelog format '/backup/archbackup%U' delete all input;switch few log files in the primary
sql 'alter system switch logfile'; sql 'alter system switch logfile'; sql 'alter system switch logfile';and backup the archive logs on the standby
backup archivelog all format '/backup/archbkp%U' delete all input;Copy the backup files created earlier to a location on the new standby host. Exclude any controfile backups (explicit backups or auto backups) being copied to new location except for the controlfile backup taken above. If not during the duplication, due to selecting a controlfile that has a higher checkpoint sequence following error will be thrown.
RMAN-03002: failure of Duplicate Db command at 03/18/2021 12:04:04 RMAN-05501: aborting duplication of target database RMAN-05507: standby control file checkpoint (5381793) is more recent than duplication point-in-time (5379510)Once backups are copied start the new standby instance with nomount option.
Connect to the standby using rman auxiliary connection and run the duplication comamnd. In this case the parameter conversion occurs between existing standby DB ppdbxdb6 and new standby ppdbxdb5. Both these databses are terminal standby as such there's no reference to other databases. Only
rman auxiliary sys@ppdbxdb5tns run { allocate auxiliary channel ch1 device type disk; allocate auxiliary channel ch2 device type disk; allocate auxiliary channel ch3 device type disk; allocate auxiliary channel ch4 device type disk; allocate auxiliary channel ch5 device type disk; allocate auxiliary channel ch6 device type disk; allocate auxiliary channel ch7 device type disk; allocate auxiliary channel ch8 device type disk; duplicate database for standby spfile parameter_value_convert 'ppdbxdb6','ppdbxdb5','PPdbxDB6','PPdbxDB5' set db_name='ppdbxdb1' set db_unique_name='ppdbxdb5' set log_file_name_convert='/ppdbxdb1/','/ppdbxdb5/','/ppdbxdb2/','/ppdbxdb5/' set log_archive_max_processes='10' set fal_server='ppdbxDB1TNS','ppdbxDB2TNS','ppdbxDB6TNS','ppdbxFS1TNS' set log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles,all_roles) db_unique_name=ppdbxdb5 NOREOPEN ALTERNATE=log_archive_dest_2' set local_listener='LISTENER_PPdbxDB5,DGLISTENER_PPdbxDB5' set dg_broker_start='false' reset log_archive_dest_3 reset log_archive_dest_4 BACKUP LOCATION '/backup' dorecover nofilenamecheck; }
At the end of the duplication processes the new standby is ready to receive and apply redo from the primary and could be added to the data guard broker configuraiton.
show configuration Configuration - dbx_dg Protection Mode: MaxAvailability Members: ppdbxdb1- Primary database ppdbxdb2 - Physical standby database ppdbxfs1 - Far sync instance ppdbxdb5 - Physical standby database ppdbxdb6 - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESSUseful Metalink Notes
Step by Step method to create Primary/Standby Database from Standby Backup [ID 1604251.1]
Related Posts
Adding a New Physical Standby to Existing Data Guard Setup
Oracle Data Guard on 12.2 CDB with Oracle Restart