2 node RAC dataguard configuration

 All steps will be carried out on one of the node (Prod1) and later we will clone to other nodes or machines:


Install the system Linux prerequisites: 


The package oracle-database-preinstall-19c contains all the prerequisites on Oracle Linux using the Oracle Unbreakable Enterprise Kernel (UEK).


yum install -y oracle-database-preinstall-19c


yum install -y oracleasm-support


sysctl -p


crosscheck >>> cat  /etc/sysctl.conf 



Group Creation: –


groupadd -g 5001 oinstall

groupadd -g 5002 dba

groupadd -g 5003 oper

groupadd -g 5004 asmadmin

groupadd -g 5005 asmdba

groupadd -g 5006 asmoper



User Creation: –


useradd -u 5007 -g oinstall -G dba,oper,asmdba oracle

useradd -u 5008 -g oinstall -G asmadmin,asmdba,asmoper,dba grid


usermod -g oinstall -G dba,oper,asmdba oracle

usermod -g oinstall -G asmadmin,asmdba,asmoper,dba grid


passwd oracle

passwd grid





Add below entries in /etc/security/limits.conf file which will detine limits 


oracle   soft   nofile    1024

oracle   hard   nofile    65536

oracle   soft   nproc    16384

oracle   hard   nproc    16384

oracle   soft   stack    10240

oracle   hard   stack    32768

oracle   hard   memlock    134217728

oracle   soft   memlock    134217728



grid   soft   nofile    1024

grid   hard   nofile    65536

grid   soft   nproc    16384

grid   hard   nproc    16384

grid   soft   stack    10240

grid   hard   stack    32768

grid   hard   memlock    134217728

grid   soft   memlock    134217728



Create the directories in which the Oracle / Grid software will be installed.


mkdir -p /u01/app/grid

mkdir -p /u01/app/19c/gridhome_1

mkdir -p /u02/app/oracle

mkdir -p /u02/app/oracle/product/19c/dbhome_1

mkdir -p /u01/app/oraInventory

mkdir -p /u01/LATEST_PATCH/

chown -R grid:oinstall /u01

chown -R oracle:oinstall /u02

chown -R grid:oinstall /u01/app/oraInventory

chmod -R 775 /u01

chmod -R 775 /u02



Set bash_profile for grid and oracle user


login to grid user and set .bash_profile :


export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/19c/gridhome_1

export ORACLE_SID=+ASM1

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib



login to oracle user and set .bash_profile :


export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u02/app/oracle

export ORACLE_HOME=/u02/app/oracle/product/19c/dbhome_1

export ORACLE_SID=prod1

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib




Add the following entry in /etc/hosts file and crosscheck node reachability

Primary Site:


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


# Private

192.168.10.1    prod1-priv.localdomain   prod1-priv

192.168.10.2    prod2-priv.localdomain   prod2-priv


# Public

192.168.56.71    prod1.localdomain        prod1

192.168.56.72    prod2.localdomain        prod2


# Virtual

192.168.56.81    prod1-vip.localdomain    prod1-vip

192.168.56.82    prod2-vip.localdomain    prod2-vip


# SCAN

192.168.56.91    prod-scan.localdomain    prod-scan

192.168.56.92    prod-scan.localdomain    prod-scan

192.168.56.93    prod-scan.localdomain    prod-scan





Firewall Stop and Disable


We can open firewall after installation


systemctl stop firewalld.service

systemctl disable firewalld.service


Chrony NTP Configuration


systemctl enable chronyd.service

systemctl restart chronyd.service


chronyc -a 'burst 4/4'

chronyc -a makestep




Now we will Bring Down Node1 i.e. Prod1 and clone it to 3 more nodes i.e Prod2, STBY1, STBY2

After cloning start each node one by one and make changes i.e. modify Hostname, ORACLE_SID in bash_profile, Network file on standby side.

Use below command to change Hostnames:


nmcli general hostname

nmcli general hostname prod2.localdomain

nmcli general hostname

service systemd-hostnamed restart



nmcli general hostname

nmcli general hostname stby1.localdomain

nmcli general hostname

service systemd-hostnamed restart


nmcli general hostname

nmcli general hostname stby2.localdomain

nmcli general hostname

service systemd-hostnamed restart



Add the following entry in /etc/hosts file and crosscheck node reachability

Standby Site:


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


# Private

192.168.10.3    stby1-priv.localdomain   stby1-priv

192.168.10.4    stby2-priv.localdomain   stby2-priv


# Public

192.168.56.73    stby1.localdomain        stby1

192.168.56.74    stby2.localdomain        stby2


# Virtual

192.168.56.83    stby1-vip.localdomain    stby-vip

192.168.56.84    stby2-vip.localdomain    stby-vip


# SCAN

192.168.56.94    stby-scan.localdomain    stby-scan

192.168.56.95    stby-scan.localdomain    stby-scan

192.168.56.96    stby-scan.localdomain    stby-scan





Create shared ASM Disk FOR OCR, DATAFILE and ARCHIVE on Both Sites: Check My Previous Video Link: https://youtu.be/yv-ldikjn9k


Add new shared disk to virtual box machines it should be sharable  


Login to system and run ls /dev/sd* 


/dev/sda /dev/sda1 /dev/sda2 /dev/sdb 


fdisk /dev/sdb 


The sequence of answers is "n", "p", "1", "Return", "Return" and "w". 


Set ASM disks >>>> oracleasm configure -i

Create ASM disks >>>> oracleasm createdisk ASM1 /dev/sdb1

Scan ASM disks >>>> oracleasm scandisks 

List ASM disks >>>> oracleasm listdisks



######### On Primary Site ##########


Copy software to node1 on primary site and unzip software at grid home location and rdbms home locations by login to respective users

Setup passwordless ssh configuration


cd /u01/app/19c/gridhome_1/deinstall


./sshUserSetup.sh -user grid -hosts "prod1 prod2" -noPromptPassphrase -confirm -advanced


Similarly do it for oracle user


cd /u02/app/oracle/product/19c/dbhome_1/deinstall


./sshUserSetup.sh -user oracle -hosts "prod1 prod2" -noPromptPassphrase -confirm –advanced


./sshUserSetup.sh -user root -hosts "prod1 prod2" -noPromptPassphrase -confirm –advanced


Set profile and go to ORACLE_HOME location from grid user and run following command and follow the steps.


cd $ORACLE_HOME


./gridSetup.sh -applyRU /u01/LATEST_PATCH/32545008


Once Grid Installation done, Install RDBMS Software through oracle user and create RAC database prod (check our previous video’s for more detail)


./runInstaller -applyRU  /u01/LATEST_PATCH/32545008


Use DBCA to create database prod



####### On Standby Site ###########


Copy software to node1 on standby site and unzip software at grid home location and rdbms home locations by login to respective users


Setup passwordless ssh configuration


cd /u01/app/19c/gridhome_1/deinstall


./sshUserSetup.sh -user grid -hosts "stby1 stby2" -noPromptPassphrase -confirm -advanced


Similarly do it for oracle user


cd /u02/app/oracle/product/19c/dbhome_1/deinstall


./sshUserSetup.sh -user oracle -hosts "stby1 stby2" -noPromptPassphrase -confirm –advanced


./sshUserSetup.sh -user root -hosts "stby1 stby2" -noPromptPassphrase -confirm –advanced


Set profile and go to ORACLE_HOME location from grid user and run following command and follow the steps.

In this step we will be doing Grid software installation along with latest patch installation using –applyRU option.


cd $ORACLE_HOME

./gridSetup.sh -applyRU /u01/LATEST_PATCH/32545008/


Once Grid Installation done, Install RDBMS Software through oracle user and DO not create any database on standby site (check our previous video’s for more detail)


cd $ORACLE_HOME


./runInstaller -applyRU  /u01/LATEST_PATCH/32545008




#####################Steps for Data Guard Configuration #####################


1)On Primary Site Below Steps will be performed:


Enable Forced Logging on Primary If it is not done already 

Copy Password File from Primary site to standby site

Configure Standby Redo Log on Primary Site

Verify Archive Mode Enabled on Primary Site

Set Primary Database Initialization Parameters for Data Guard Configuration

Configure LISTENER Entries on Primary

Configure TNS Entries on Primary



2)On Standby Site Below Steps will be performed:


Set Standby Database Initialization Parameters

Create required directories on Standby

Startup nomount

Configure static LISTENER for replication purpose and Crosscheck other LISTENER Entries on Standby

Configure TNS Entries on Standby

Verify TNS connectivity

Run the duplicate command / backup based restore

Verify Standby redo logs

Create spfile

Add init parameters for Instance 2 (STBY2)

Add database to OCR

Enable MRP on Standby





Very Very Important step…!!!


Copy /etc/hosts entry from prod to standby sites and 


Copy /etc/hosts entry from standby to prod sites


Verify ping command for all mentioned hosts. This will make sure all nodes are able to communicate with each others. 


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


# Private

192.168.10.1    prod1-priv.localdomain   prod1-priv

192.168.10.2    prod2-priv.localdomain   prod2-priv


# Public

192.168.56.71    prod1.localdomain        prod1

192.168.56.72    prod2.localdomain        prod2


# Virtual

192.168.56.81    prod1-vip.localdomain    prod1-vip

192.168.56.82    prod2-vip.localdomain    prod2-vip


# SCAN

192.168.56.91    prod-scan.localdomain    prod-scan

192.168.56.92    prod-scan.localdomain    prod-scan

192.168.56.93    prod-scan.localdomain    prod-scan



127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


# Private

192.168.10.3    stby1-priv.localdomain   stby1-priv

192.168.10.4    stby2-priv.localdomain   stby2-priv


# Public

192.168.56.73    stby1.localdomain        stby1

192.168.56.74    stby2.localdomain        stby2


# Virtual

192.168.56.83    stby1-vip.localdomain    stby-vip

192.168.56.84    stby2-vip.localdomain    stby-vip


# SCAN

192.168.56.94    stby-scan.localdomain    stby-scan

192.168.56.95    stby-scan.localdomain    stby-scan

192.168.56.96    stby-scan.localdomain    stby-scan




ping -c 2 stby1-priv

ping -c 2 stby2-priv

ping -c 2 stby1

ping -c 2 stby2

ping -c 2 stby-scan

ping -c 2 prod1-priv

ping -c 2 prod2-priv

ping -c 2 prod1

ping -c 2 prod2

ping -c 2 prod-scan



#####################Primary Site - Step 1:#####################


Enable Forced Logging on Primary:


select name, open_mode,cdb from v$database;

select force_logging from v$database;

ALTER DATABASE FORCE LOGGING;       >>>>> change using this command

select force_logging from v$database;      >>>>> Verify changes



#####################Primary Site - Step 2:#####################


Copy Password File from Primary to standby:


Login to grid user and go to ASMCMD prompt 

Explore to password file location for primary database instance.


cd +DATA/PROD/PASSWORD

Run pwcopy pwdprod.256.1075056119  /tmp

Now login through root user and go to /tmp location and  modify permission for copied password file.

chown oracle:oinstall filename


scp -p pwdprod.256.1077300479  oracle@stby1:$ORACLE_HOME/dbs/orapwstby1

scp -p pwdprod.256.1077300479  oracle@stby2:$ORACLE_HOME/dbs/orapwstby2




#####################Primary Site - Step 3 and Step 4:################


Configure Standby Redo Log on Primary:


The standby redo logs must be the same size as the primary database online logs. The recommended number of standby redo logs is: (maximum no.of logfiles per thread + 1) * maximum no. of threads.

In our case : We have two redo log file per thread and we have two thread so (2 + 1) * 2 = 6  That is, one more standby redo log file for each thread. 

Note: Standby Redo logs files used only when protection mode is Maximum Availability and Maximum Protection. But will add for later usage.


Add standby redo logfiles on primary site:


select * from v$logfile order by TYPE,group#;

select b.thread#,a.group#, a.member, b.bytes FROM v$logfile a, v$standby_log b WHERE a.group# = b.group#;


select b.thread#,a.group#, a.member, b.bytes FROM v$logfile a, v$log b WHERE a.group# = b.group#;



ALTER DATABASE ADD STANDBY LOGFILE THREAD 1

GROUP 5 ('+DATA') SIZE 200M,

GROUP 6 ('+DATA') SIZE 200M,

GROUP 7 ('+DATA') SIZE 200M;


ALTER DATABASE ADD STANDBY LOGFILE THREAD 2

GROUP 8 ('+DATA') SIZE 200M,

GROUP 9 ('+DATA') SIZE 200M,

GROUP 10 ('+DATA') SIZE 200M;


select * from v$logfile order by TYPE,group#;

select b.thread#,a.group#, a.member, b.bytes FROM v$logfile a, v$standby_log b WHERE a.group# = b.group#;


Verify Archive Mode Enabled on Primary:

Login to database and run archive log list . If archivelog mode is not enabled, enable it.


Archive log list 


If not enabled 


shutdown immediate

startup mount

alter system set log_archive_dest_1='LOCATION=+ARCHIVE';

alter database archivelog;

alter database open;



#####################Primary Site - Step 5:#####################


Set Primary Database Initialization Parameters

Login to database and make below parameter changes on primary db.


set echo on;

set feedback on;

create pfile='/home/oracle/initprod.ora.bkp' from spfile;

show parameter db_unique_name

ALTER system set db_unique_name='prod' scope=spfile sid='*';

show parameter db_unique_name

ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(prod,stby)' scope=both sid='*';

show parameter LOG_ARCHIVE_CONFIG

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=stby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=stby' scope=both sid='*';

show parameter LOG_ARCHIVE_DEST_2

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=both sid='*';

show parameter LOG_ARCHIVE_DEST_STATE_1

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=both sid='*';

show parameter LOG_ARCHIVE_DEST_STATE_2

ALTER SYSTEM SET fal_client=prod scope=both sid='*';

show parameter fal_client

ALTER SYSTEM SET fal_server=stby scope=both sid='*';

show parameter fal_server

ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;

show parameter LOG_ARCHIVE_MAX_PROCESSES

ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both sid='*';

show parameter STANDBY_FILE_MANAGEMENT

create pfile='/home/oracle/initprod.ora' from spfile;

!cat /home/oracle/initprod.ora




#####################Primary Site - Step 6:#####################


Configure LISTENER Entries on Primary:


Crosscheck listener status on Primary side on both nodes. 

ps -ef | grep tns

lsnrctl status LISTENER

lsnrctl status LISTENER_SCAN1

lsnrctl status LISTENER_SCAN2

lsnrctl status LISTENER_SCAN3

cat /u01/app/19c/gridhome_1/network/admin/listener.ora



#####################Primary Site - Step 7:#####################


Configure TNS Entries on Primary

Login to oracle user and make entry in tnsnames.ora file on primary side DB servers.


PROD =

     (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = prod-scan)(PORT = 1521))

         (CONNECT_DATA =

              (SERVER = DEDICATED)

              (SERVICE_NAME = PROD)

         )

    )


STBY =

   (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = stby1.localdomain)(PORT = 1541))

          (CONNECT_DATA =

         (SERVER = DEDICATED)

         (SERVICE_NAME = STBY)(UR=A)

         )

       )


Note: We will modify STBY tns entry once our replication completes. This entry is temporary used to replication. We will do tnsping later once Standby side changes are in place.



#####################Standby Site - Step 1:#####################


Set Standby Database Initialization Parameters:


Copy Pfile from production and make  required changes as per Standby Database requirements:


*.audit_file_dest='/u02/app/oracle/admin/stby/adump'

*.audit_trail='db'

*.cluster_database=false

*.compatible='19.0.0'

*.control_files='+DATA/STBY/CONTROLFILE/control01.ctl','+ARCHIVE/STBY/CONTROLFILE/control01.ctl'

*.db_block_size=8192

*.db_create_file_dest='+DATA'

*.db_name='PROD'

*.db_recovery_file_dest='+ARCHIVE'

*.db_recovery_file_dest_size=8256m

*.db_unique_name='STBY'

*.enable_pluggable_database='TRUE'

*.diagnostic_dest='/u02/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=stbyXDB)'

*.fal_client='STBY'

*.fal_server='PROD'

stby1.instance_number=1

*.log_archive_config='DG_CONFIG=(prod,stby)'

*.log_archive_dest_1='location=+ARCHIVE'

*.log_archive_dest_2='SERVICE=prod LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prod'

*.log_archive_dest_state_1='ENABLE'

*.log_archive_dest_state_2='DEFER'

*.log_archive_format='%t_%s_%r.arc'

*.log_archive_max_processes=30

*.nls_language='AMERICAN'

*.nls_territory='AMERICA'

*.open_cursors=300

*.pga_aggregate_target=465m

*.processes=300

*.remote_login_passwordfile='exclusive'

*.sga_target=1394m

*.standby_file_management='AUTO'

stby1.thread=1

stby1.undo_tablespace='UNDOTBS1'




#####################Standby Site - Step 2 and Step 3:#####################


Create required directories on Standby:


mkdir -p /u02/app/oracle/admin/stby/adump >>>> On syby1

mkdir -p /u02/app/oracle/admin/stby/adump >>>> On syby2


Make required directories in ASM DISKGROUPS as mentioned locations in pfile:

Login to grid user and create below directories


+DATA/STBY/CONTROLFILE

+ARCHIVE/STBY/CONTROLFILE


Startup database in nomount state using newly created pfile 


startup nomount pfile='/u02/app/oracle/product/19c/dbhome_1/dbs/initstby1.ora';



#####################Step 4: Configure temporary static LISTENER for replication purpose in RDBMS Home#####################


Configure temporary static LISTENER for replication purpose in RDBMS Home:


su – oracle

cd $ORACLE_HOME/network/admin


vi listener.ora



SID_LIST_LISTENER1 =

 (SID_LIST =

  (SID_DESC =

   (GLOBAL_DBNAME = stby)

   (ORACLE_HOME = /u02/app/oracle/product/19c/dbhome_1)

   (SID_NAME = stby1)

  )

 )


LISTENER1 =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = stby1.localdomain)(PORT = 1541))

    )

  )


Start this listener:


lsnrctl start listener1



#####################Standby Site – Step 5#####################


Configure TNS Entries on Standby and copy this entry on both nodes.


PROD =

     (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = prod-scan)(PORT = 1521))

         (CONNECT_DATA =

              (SERVER = DEDICATED)

              (SERVICE_NAME = PROD)

         )

    )


STBY =

   (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = stby1.localdomain)(PORT = 1541))

          (CONNECT_DATA =

         (SERVER = DEDICATED)

         (SERVICE_NAME = STBY)(UR=A)

         )

       )



#####################Standby Site – Step 6#####################


Verify TNS connectivity 

On Primary Site:


sqlplus sys/sys@prod as sysdba

sqlplus sys/sys@stby as sysdba


On Standby Site:

sqlplus sys/sys@prod as sysdba

sqlplus sys/sys@stby as sysdba




#####################Standby Site – Step 7#####################


Run the duplicate command:


From Standby Node 1 run below command:


     >> rman target sys/sys@prod auxiliary sys/sys@stby



Execute following command in rman prompt for standby database creation:


    >> duplicate target database for standby from active database nofilenamecheck;


#####################Standby Site – Step 8 and Step 9#####################



Verify Standby redo logs:


select * from v$logfile;

select b.thread#,a.group#, a.type, a.member, b.bytes FROM v$logfile a, v$standby_log b WHERE a.group# = b.group#;

select b.thread#,a.group#, a.member, b.bytes FROM v$logfile a, v$log b WHERE a.group# = b.group#;


Create Spfile from existing pfile:



create spfile='+DATA/STBY/PARAMETERFILE/spfileSTBY.ora' from pfile='/u02/app/oracle/product/19c/dbhome_1/dbs/initstby1.ora';


shut immediate;


cd $ORACLE_HOME/dbs


ls -lrt initstby1.ora


mv initstby1.ora initstby1.ora.bkp


echo "SPFILE='+DATA/STBY/PARAMETERFILE/spfileSTBY.ora'" > initstby1.ora


scp initstby1.ora oracle@stby2:/u02/app/oracle/product/19c/dbhome_1/dbs/initstby2.ora


Startup mount;



#####################Standby Site – Step 10#####################



Add init parameters for Instance 2 (STBY2)


alter system set undo_tablespace=UNDOTBS2 sid='stby2' scope=spfile;

alter system set instance_number=1 sid='stby1' scope=spfile;

alter system set instance_number=2 sid='stby2' scope=spfile;

alter system set instance_name='stby1' sid='stby1' scope=spfile;

alter system set instance_name='stby2' sid='stby2' scope=spfile;

alter system set thread=1 sid='stby1' scope=spfile;

alter system set thread=2 sid='stby2' scope=spfile;

alter system set cluster_database=TRUE scope=spfile;

alter system set remote_listener='stby-scan:1521' scope=spfile sid='*';

shut immediate;

startup mount;

select name,open_mode,database_role,cdb from v$database;



#####################Standby Site – Step 11#####################


Add database to OCR:


srvctl config database -d stby


srvctl add database -db stby -oraclehome /u02/app/oracle/product/19c/dbhome_1 -role physical_standby -startoption open -spfile +DATA/STBY/PARAMETERFILE/spfileSTBY.ora


srvctl add instance -db stby -instance stby1 -node stby1


srvctl add instance -db stby -instance stby2 -node stby2


srvctl status database -d stby -v


srvctl start database -d stby


srvctl config database -d stby


srvctl status database -d stby -v


crsctl stat res -t




#####################Standby Site – Step 12#####################


Enable MRP on Standby database:


select name,open_mode,database_role,cdb from v$database;


alter database recover managed standby database using current logfile  disconnect from session;

alter database recover managed standby database cancel;


select PROCESS,STATUS,THREAD#,SEQUENCE#,BLOCK# from v$managed_standby;


alter database recover managed standby database using current logfile  disconnect from session instances all;



#####################Standby Site – Last Step#####################


Verify Sync Status :


On Primary:

select thread#,max(sequence#) from v$archived_log where archived='YES' group by thread#;


On Primary Instance 1 Perform log switches 3 to 4 times.

alter system switch logfile;

On Primary Instance 2 Perform log switches 3 to 4 times.

alter system switch logfile;

select thread#,max(sequence#) from v$archived_log where archived='YES' group by thread#;


On Standby:

select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#;



##############################################


ASMCMD [+] > cd DATA

ASMCMD [+DATA] > ls

STBY/

ASMCMD [+DATA] > cd STBY

ASMCMD [+DATA/STBY] > ls

C7D6B3AA458B6C5DE0534738A8C09462/

C7D7A0B7F1624165E0534838A8C02FBB/

C7D7A41DE4F242B3E0534838A8C08FB1/

CONTROLFILE/

DATAFILE/

ONLINELOG/

PARAMETERFILE/

TEMPFILE/

ASMCMD [+DATA/STBY] > mkdir PASSWORDFILE

ASMCMD [+DATA/STBY] >

ASMCMD [+DATA/STBY] > cd PASSWORDFILE

ASMCMD [+DATA/STBY/PASSWORDFILE] > pwd

+DATA/STBY/PASSWORDFILE

ASMCMD [+DATA/STBY/PASSWORDFILE] >

ASMCMD [+DATA/STBY/PASSWORDFILE] > pwcopy /u02/app/oracle/product/19c/dbhome_1/dbs/orapwstby1 +DATA/STBY/PASSWORDFILE/orapwstby

copying /u02/app/oracle/product/19c/dbhome_1/dbs/orapwstby1 -> +DATA/STBY/PASSWORDFILE/orapwstby

ASMCMD [+DATA/STBY/PASSWORDFILE] > ls

orapwstby

ASMCMD [+DATA/STBY/PASSWORDFILE] >


[oracle@stby1 dbs]$ srvctl modify database -d stby -pwfile +DATA/STBY/PASSWORDFILE/orapwstby

[oracle@stby1 dbs]$

[oracle@stby1 dbs]$

[oracle@stby1 dbs]$ srvctl config database -d stby -v


@@@@@@@@@@@@@@@tnsnames.ora@@@@@@@@@@@@@@ 


STBY =

   (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = stby-scan)(PORT = 1521))

          (CONNECT_DATA =

         (SERVER = DEDICATED)

         (SERVICE_NAME = STBY)

         )

       )

Comments

Popular posts from this blog

MY NOTEPAD

Oracle OEM Holistic Patch

Upgrade Oracle 19c DB to 21c using Auto Upgrade utility inprogress