Prerequisite

prepare primary and standby servers

https://dbatracker.com/2020/06/02/build-vm-machine-for-oracle-19c-dataguard-configuration/

Verify both prod and DR server able to ping each other

[opc@cloud-node01 ~]$ ping 129.213.56.141
PING 129.213.56.141 (129.213.56.141) 56(84) bytes of data.
^C

in our case servers are not able to ping each other. so we have relaxed the security list for this demo

Go to this path

VCN

select security list

select the security list name


Edit and update your security list like this

After this change both oel6-node01 and cloud-dr-node01 are able to ping each other.

[root@oel6-node01 tmp]# ssh -i /tmp/oci_rsa_key opc@150.136.23.109
Last login: Mon Jun  1 08:42:38 2020 from 106.207.204.43
[opc@cloud-node01 ~]$ ping 129.213.56.141
PING 129.213.56.141 (129.213.56.141) 56(84) bytes of data.
64 bytes from 129.213.56.141: icmp_seq=1 ttl=63 time=0.306 ms
64 bytes from 129.213.56.141: icmp_seq=2 ttl=63 time=0.219 ms
64 bytes from 129.213.56.141: icmp_seq=3 ttl=63 time=0.222 ms
[opc@cloud-dr-node01 ~]$ ping 150.136.23.109
PING 150.136.23.109 (150.136.23.109) 56(84) bytes of data.
64 bytes from 150.136.23.109: icmp_seq=1 ttl=63 time=0.282 ms
64 bytes from 150.136.23.109: icmp_seq=2 ttl=63 time=0.274 ms
64 bytes from 150.136.23.109: icmp_seq=3 ttl=63 time=0.238 ms

Primary and standby server details


create primary database

In order to run dbca you need to setup xming. for moe details refer this post

https://dbatracker.com/2020/06/01/xming-setup-for-cloud/

[opc@cloud-node01 ~]$ xauth list $DISPLAY
cloud-node01.subnet.vcn.oraclevcn.com:10  MIT-MAGIC-COOKIE-1  596ddbfd045c1d25610ab1aa3fc35dd5
[opc@cloud-node01 ~]$ sudo su - oracle
Last login: Tue Jun  2 05:22:25 GMT 2020 on pts/0
[oracle@cloud-node01 ~]$ export DISPLAY=cloud-node01.subnet.vcn.oraclevcn.com:10
[oracle@cloud-node01 ~]$ env|grep DISP
DISPLAY=cloud-node01.subnet.vcn.oraclevcn.com:10
[oracle@cloud-node01 ~]$ xauth add cloud-node01.subnet.vcn.oraclevcn.com:10  MIT-MAGIC-COOKIE-1  596ddbfd045c1d25610ab1aa3fc35dd5
[oracle@cloud-node01 ~]$ xauth list
cloud-node01.subnet.vcn.oraclevcn.com:10  MIT-MAGIC-COOKIE-1  596ddbfd045c1d25610ab1aa3fc35dd5
[oracle@cloud-node01 ~]$ xclock
Warning: Missing charsets in String to FontSet conversion
[oracle@cloud-node01 ~]$
[oracle@cloud-node01 ~]$ dbca

Create bash_profile for primary database TRU19c

[oracle@cloud-node01 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=cloud-node01
export ORACLE_UNQNAME=TRU19c
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_SID=TRU19c

export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
[oracle@cloud-node01 ~]$


[oracle@cloud-node01 ~]$ source .bash_profile
[oracle@cloud-node01 ~]$ env|grep ORA
ORACLE_UNQNAME=TRU19c
ORACLE_SID=TRU19c
ORACLE_HOSTNAME=cloud-node01
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1

Primary side configuration

SQL> select name,open_mode,host_name from v$database,v$instance;

NAME      OPEN_MODE            HOST_NAME
--------- -------------------- ----------------------------------------------------------------
TRU19C    READ WRITE           cloud-node01

enable force logging and archive log mode

SQL> ALTER DATABASE FORCE LOGGING;

Database altered.

SQL> select FORCE_LOGGING,log_mode from v$database;

FORCE_LOGGING                           LOG_MODE
--------------------------------------- ------------
YES                                     ARCHIVELOG

set unique name

SQL> SHOW PARAMETER DB_UNIQUE_NAME

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      TRU19c

Add standby redo logs

SQL> select GROUP#,THREAD#, bytes/1024/1024 MB from gv$log order by GROUP#,THREAD#;

    GROUP#    THREAD#         MB
---------- ---------- ----------
         1          1        200
         2          1        200
         3          1        200
SQL> select member from v$logfile;

MEMBER
------------------------------------------------------------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/TRU19C/redo03.log
/u01/app/oracle/oradata/TRU19C/redo02.log
/u01/app/oracle/oradata/TRU19C/redo01.log

SQL> alter database add standby logfile group 4 '/u01/app/oracle/oradata/TRU19C/redo04.log' size 200m;

Database altered.

SQL> alter database add standby logfile group 5 '/u01/app/oracle/oradata/TRU19C/redo05.log' size 200m;

Database altered.

SQL> alter database add standby logfile group 6 '/u01/app/oracle/oradata/TRU19C/redo06.log' size 200m;

Database altered.

SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;

    GROUP#    THREAD#  SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------
         4          0          0 YES UNASSIGNED
         5          0          0 YES UNASSIGNED
         6          0          0 YES UNASSIGNED

Modify tnsnames.ora on both prod and DR servers

TRU19C =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TRU19c)
    )
  )



TRU19c_DR =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TRU19c_DR)
    )
  )

Prepare DR side

bash profile

[oracle@cloud-node01 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=cloud-dr-node01
export ORACLE_UNQNAME=TRU19c_DR
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_SID=TRU19c_DR

export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Add static listener entry for duplicate on DR side

[oracle@cloud-dr-node01 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
 (SID_LIST =
  (SID_DESC =
   (GLOBAL_DBNAME = TRU19c_DR)
   (ORACLE_HOME = /u01/app/oracle/product/19c/dbhome_1)
   (SID_NAME = TRU19c_DR)
  )
 )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

Reload the listener so that TRU19c_DR service is visible in listener. It will be in unknown state which is fine for now.

[oracle@cloud-dr-node01 ~]$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 02-JUN-2020 07:52:05

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                01-JUN-2020 08:31:20
Uptime                    0 days 23 hr. 20 min. 45 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/cloud-dr-node01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloud-dr-node01)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCLXDB" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "TRU19c_DR" has 1 instance(s).
  Instance "TRU19c_DR", status UNKNOWN, has 1 handler(s) for this service...
Service "a702ff12dde12697e0530300000ab35e" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully

Update tnsnames.ora on DR side

TRU19C =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TRU19c)
    )
  )



TRU19c_DR =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TRU19c_DR)
    )
  )

for this demo i have kept firewalls disabled on both primary and standby side

primary side

[root@cloud-node01 ~]# systemctl stop firewalld
[root@cloud-node01 ~]#  systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2020-06-02 07:47:11 GMT; 8s ago
     Docs: man:firewalld(1)
  Process: 1311 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 1311 (code=exited, status=0/SUCCESS)

Jun 01 08:11:25 instance-20200423-19c systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 01 08:11:26 instance-20200423-19c systemd[1]: Started firewalld - dynamic firewall daemon.
Jun 01 08:11:26 instance-20200423-19c firewalld[1311]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a futu...ing it now.
Jun 02 07:47:10 cloud-node01 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jun 02 07:47:11 cloud-node01 systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@cloud-node01 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

standby side

[root@cloud-dr-node01 ~]# systemctl stop firewalld
[root@cloud-dr-node01 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2020-06-02 07:45:48 GMT; 3s ago
     Docs: man:firewalld(1)
  Process: 1326 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 1326 (code=exited, status=0/SUCCESS)

Jun 01 08:30:34 instance-20200423-19c systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 01 08:30:35 instance-20200423-19c systemd[1]: Started firewalld - dynamic firewall daemon.
Jun 01 08:30:35 instance-20200423-19c firewalld[1326]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a futu...ing it now.
Jun 02 07:45:48 cloud-dr-node01 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jun 02 07:45:48 cloud-dr-node01 systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@cloud-dr-node01 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Now tnsping should work from both primary and standby server

primary side

[oracle@cloud-node01 ~]$ tnsping TRU19c_DR

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 02-JUN-2020 07:50:24

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TRU19c_DR)))
OK (0 msec)
[oracle@cloud-node01 ~]$ tnsping TRU19c

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 02-JUN-2020 07:50:30

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-node01.subnet.vcn.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TRU19c)))
OK (0 msec)

standby side

[oracle@cloud-dr-node01 ~]$ tnsping TRU19c

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 02-JUN-2020 07:50:07

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-node01.subnet.vcn.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TRU19c)))
OK (0 msec)
[oracle@cloud-dr-node01 ~]$ tnsping TRU19c_DR

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 02-JUN-2020 07:50:11

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cloud-dr-node01.subnet.vcn.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TRU19c_DR)))
OK (10 msec)

Make parameter changes on PROD

set the value of fal_cleint, fal_server, log_archive_config, dest_2

SQL> set lines 150
SQL> select name,open_mode,host_name from v$database,v$instance;

NAME      OPEN_MODE            HOST_NAME
--------- -------------------- ----------------------------------------------------------------
TRU19C    READ WRITE           cloud-node01

SQL> ALTER SYSTEM SET log_archive_config='dg_config=(TRU19c,TRU19c_DR)' SCOPE=both;

System altered.

SQL> ALTER SYSTEM SET log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles,all_roles) db_unique_name=TRU19c' SCOPE=both;

System altered.

SQL> ALTER SYSTEM SET log_archive_dest_2='service=TRU19c_DR async valid_for=(online_logfiles,primary_role) db_unique_name=TRU19c_DR' SCOPE=both;

System altered.

SQL> ALTER SYSTEM SET fal_server='TRU19c_DR' SCOPE=both;

System altered.

SQL> ALTER SYSTEM SET fal_client='TRU19c' SCOPE=both;

System altered.

SQL> ALTER SYSTEM SET standby_file_management='AUTO' SCOPE=both;

System altered.

Create password file on prod and DR side

primary side

[oracle@cloud-node01 dbs]$ mv orapwTRU19c orapwTRU19c.old
[oracle@cloud-node01 dbs]$ orapwd file=orapwTRU19c password=tru19#123 entries=10

standby

[oracle@cloud-dr-node01 dbs]$ orapwd file=orapwTRU19c_DR password=tru19#123 entries=10

Create standby init file

[oracle@cloud-dr-node01 dbs]$ cat initTRU19c_DR.ora
*.audit_file_dest='/u01/app/oracle/admin/TRU19c_DR/adump'
*.pga_aggregate_target=1476m
*.sga_target=4428m
*.db_name='TRU19c'
*.db_unique_name='TRU19c_DR'
*.db_block_size=8192
*.remote_login_passwordfile='exclusive'
*.standby_file_management='AUTO'
*.db_file_name_convert='/u01/app/oracle/oradata/TRU19C','/u01/app/oracle/oradata/TRU19C_DR'
*.log_file_name_convert='/u01/app/oracle/oradata/TRU19C','/u01/app/oracle/oradata/TRU19C_DR'
*.control_files='/u01/app/oracle/oradata/TRU19C_DR/control01.ctl','/u01/app/oracle/fast_recovery_area/TRU19C_DR/control02.ctl'
*.fal_client='TRU19c_DR'
*.fal_server='TRU19c'
*.log_archive_config='dg_config=(TRU19c,TRU19c_DR)'
*.compatible='19.0.0'

Start database in nomount state

[oracle@cloud-dr-node01 admin]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 2 09:29:29 2020
Version 19.7.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

Enter user-name: /as sysdba
Connected to an idle instance.

SQL> startup nomount pfile=/u01/app/oracle/product/19c/dbhome_1/dbs/initTRU19c_DR.ora
ORACLE instance started.

Total System Global Area 4647285816 bytes
Fixed Size                  8905784 bytes
Variable Size             855638016 bytes
Database Buffers         3774873600 bytes
Redo Buffers                7868416 bytes
SQL> exit

Start duplicate

[oracle@cloud-dr-node01 admin]$ rman target sys/tru19#123@TRU19c auxiliary sys/tru19#123@TRU19c_DR

Recovery Manager: Release 19.0.0.0.0 - Production on Tue Jun 2 09:30:11 2020
Version 19.7.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

connected to target database: TRU19C (DBID=2139054058)
connected to auxiliary database: TRU19C (not mounted)

RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK;

Starting Duplicate Db at 02-JUN-20
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=121 device type=DISK

contents of Memory Script:
{
   backup as copy reuse
   passwordfile auxiliary format  '/u01/app/oracle/product/19c/dbhome_1/dbs/orapwTRU19c_DR'   ;
}
executing Memory Script

Starting backup at 02-JUN-20
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=267 device type=DISK
Finished backup at 02-JUN-20

contents of Memory Script:
{
   restore clone from service  'TRU19c' standby controlfile;
}
executing Memory Script

Starting restore at 02-JUN-20
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service TRU19c
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
output file name=/u01/app/oracle/oradata/TRU19C_DR/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/TRU19C_DR/control02.ctl
Finished restore at 02-JUN-20

contents of Memory Script:
{
   sql clone 'alter database mount standby database';
}
executing Memory Script

sql statement: alter database mount standby database

contents of Memory Script:
{
   set newname for tempfile  1 to
 "/u01/app/oracle/oradata/TRU19C_DR/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to
 "/u01/app/oracle/oradata/TRU19C_DR/system01.dbf";
   set newname for datafile  3 to
 "/u01/app/oracle/oradata/TRU19C_DR/sysaux01.dbf";
   set newname for datafile  4 to
 "/u01/app/oracle/oradata/TRU19C_DR/undotbs01.dbf";
   set newname for datafile  7 to
 "/u01/app/oracle/oradata/TRU19C_DR/users01.dbf";
   restore
   from  nonsparse   from service
 'TRU19c'   clone database
   ;
   sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /u01/app/oracle/oradata/TRU19C_DR/temp01.dbf in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 02-JUN-20
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service TRU19c
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/TRU19C_DR/system01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service TRU19c
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/TRU19C_DR/sysaux01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service TRU19c
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/TRU19C_DR/undotbs01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service TRU19c
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/TRU19C_DR/users01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 02-JUN-20

sql statement: alter system archive log current

contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=1 STAMP=1042018282 file name=/u01/app/oracle/oradata/TRU19C_DR/system01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=1042018282 file name=/u01/app/oracle/oradata/TRU19C_DR/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=1042018282 file name=/u01/app/oracle/oradata/TRU19C_DR/undotbs01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=4 STAMP=1042018282 file name=/u01/app/oracle/oradata/TRU19C_DR/users01.dbf
Finished Duplicate Db at 02-JUN-20

RMAN>

Verify that dest_2 is enabled on primary side

SQL> sho parameter dest_state_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2             string      ENABLE

verify standby and start mrp

SQL> select name,open_mode,database_role ,host_name from v$database,v$instance;

NAME      OPEN_MODE            DATABASE_ROLE    HOST_NAME
--------- -------------------- ---------------- ----------------------------------------------------------------
TRU19C    MOUNTED              PHYSICAL STANDBY cloud-dr-node01

SQL> alter database recover managed standby database disconnect nodelay;

Database altered.

Switch some logfiles on prod and Check the sync

SQL>  select max(sequence#) from v$archived_log where applied='YES';
select max(sequence#) from v$log_history;

MAX(SEQUENCE#)
--------------
            25

SQL>
MAX(SEQUENCE#)
--------------
            25

Create spfile on DR

SQL> sho parameter spfile;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string
SQL> create spfile from pfile='/u01/app/oracle/product/19c/dbhome_1/dbs/initTRU19c_DR.ora';

File created.
SQL> recover managed standby database cancel;
Media recovery complete.
SQL> shu immediate
startup mount
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> ORACLE instance started.

Total System Global Area 4647285816 bytes
Fixed Size                  8905784 bytes
Variable Size             855638016 bytes
Database Buffers         3774873600 bytes
Redo Buffers                7868416 bytes
Database mounted.
SQL> recover managed standby database disconnect from session;
Media recovery complete.

SQL> sho parameter spfil

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/19c/db
                                                 home_1/dbs/spfileTRU19c_DR.ora
SQL>

Our Dataguard configuration is now all set!!