Site icon IT Tutorial

Oracle DataGuard Step by Step Installation with RMAN Duplicate Method -2

Hi,

I will continue to tell you Oracle dataguard configuration and installation in this article.

 

 

 

Read first article before this.

Oracle DataGuard Step by Step Installation with RMAN Duplicate Method -1

 

6- There are tns addresses of the primary and standby databases in the each database’s tnsnames.ora file, and tnsping should work.

Tnsnames.ora file is located on the linux servers under the $ORACLE_HOME/network/admin directory. Content of tnsnames.ora file is like following in my example.

 

DEVECI =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.10)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = DEVECI))
)



DEVECIDG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.11)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = DEVECIDG))
)

 

 

[oracle@MehmetSalih ~]$ tnsping DEVECIDG
[oracle@MehmetSalih ~]$ tnsping DEVECI

 

7- The password file of the primary database is copied to the standby side with the name of standby like following.

 

[oracle@MehmetSalih ~]$ scp orapwDEVECI oracle@192.168.2.11:/oracle/product/12.1.0/db/dbs/orapwDEVECIDG

 

8- Create a folder named adump manually in the standby database. If the database cannot see this file at startup, it gives an error.

[oracle@MehmetSalih ~]$ mkdir $ORACLE_BASE/admin/$ORACLE_SID/adump

 

9- Create a pfile for the Standby database on the Standby server and try to start non-existent database in nomount mode. In the next steps we will duplicate database from Primary.

 

[oracle@MehmetSalih ~]$ vi initDEVECIDG.ora

 

In this step, You can startup oracle database with following 3 parameters in the pfile and add the remaining parameters while executing rman duplicate. I added the following 3 parameters to the pfile and open the Oracle Instance with the nomount mode as follows.

 

*.DB_NAME=DEVECI
*.DB_UNIQUE_NAME=DEVECIDG
*.DB_BLOCK_SIZE=8192

 

After setting bash profile through the server, we are starting Oracle Instance in nomount mode.

[oracle@MehmetSalih ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sat Jun 12 13:09:39 2013
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to an idle instance.


SQL> startup nomount
ORACLE instance started.
Total System Global Area 659730432 bytes
Fixed Size 2231272 bytes
Variable Size 394265624 bytes
Database Buffers 255852544 bytes
Redo Buffers 7380992 bytes
SQL>

 

10- Finally we start the duplicate with the RMAN tool from Primary database as follows.

[oracle@MehmetSalih ~]$ rman target sys/sys@DEVECI auxiliary sys/sys@DEVECIDG

 

After connecting both sides’ RMAN tool, start duplicate with the following script.

 

RMAN> run{
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database
spfile
parameter_value_convert 'DEVECI','DEVECIDG'
set db_unique_name='DEVECIDG'
set db_file_name_convert='/oracle/DATA/DEVECI/DEVECI','/oracle/DATA/DEVECIDG/DEVECIDG'
set log_file_name_convert='/oracle/DATA/DEVECI/DEVECI','/oracle/DATA/DEVECIDG/DEVECIDG'
set control_files='/oracle/DATA/DEVECIDG/DEVECIDG/control01.ctl'
set log_archive_max_processes='5'
set fal_client='DEVECIDG'
set fal_server='DEVECI'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(DEVECI,DEVECIDG)'
set log_archive_dest_2='service=DEVECI ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=DEVECI';
}

 

The above RMAN Duplicate script will generate too much output, so if you want, you can print it into a log file and review each step. In terms of your comparison, I give the output of the last part below, and if the output is not in this way, you probably have made an error or deficiency.

 

                                       .
                                       .
                                       .

datafile 1 switched to datafile copy
input datafile copy RECID=2 STAMP=837509470 file name=/oracle/data/POCDBFKM/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=837509470 file name=/oracle/data/POCDBFKM/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=837509470 file name=/oracle/data/POCDBFKM/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=837509470 file name=/oracle/data/POCDBFKM/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=6 STAMP=837509470 file name=/oracle/data/POCDBFKM/example01.dbf
Finished Duplicate Db at 12-JUN-14
RMAN>

 

After duplicate,  connect to the Standby database and start the process of the MRP (Managed Recovery Process) and start applying of Redologs to the standby like following.

 

 

[oracle@MehmetSalihDG ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sat Jun 12 16:57:40 2013
Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
DEVECIDG


SQL> alter database recover managed standby database disconnect from session;
Database altered.
SQL>

 

After starting MRP process, we can start monitoring of dataguard like following.

 

Standby 
——————-

[oracle@MehmetSalihDG ~]$  sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sat Jul 12 17:02:26 2013
Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
DEVECIDG


SQL> select switchover_status,database_role from v$database;
SWITCHOVER_STATUS DATABASE_ROLE
-------------------- ----------------
NOT ALLOWED PHYSICAL STANDBY
SQL> 


SQL> select process, client_process,thread#,sequence#,status from v$managed_standby;
PROCESS CLIENT_P THREAD# SEQUENCE# STATUS
--------- -------- ---------- ---------- ------------
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
MRP0 N/A 1 17 WAIT_FOR_LOG
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
PROCESS CLIENT_P THREAD# SEQUENCE# STATUS
--------- -------- ---------- ---------- ------------
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS LGWR 1 17 IDLE
PROCESS CLIENT_P THREAD# SEQUENCE# STATUS
--------- -------- ---------- ---------- ------------
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS ARCH 0 0 IDLE
28 rows selected.
SQL>

 

Read the following articles for monitoring dataguard in detail.

 

Oracle Dataguard Monitoring Scripts -4

 

 

 

 

You can read other Dataguard installation via RMAN method like following.

Oracle DataGuard Physical Standby Installation Step by Step Using RMAN -2

 

 

Do you want to learn Oracle Database for Beginners, then read the following articles.

https://ittutorial.org/oracle-database-19c-tutorials-for-beginners/

Exit mobile version