How to create dataguard in oracle 11g using RMAN
1) alter database force logging;
2) orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapwPROD password=oracle entries=5
3) Create standby logfile:
ALTER DATABASE ADD STANDBY LOGFILE '/u01/app/oracle/oradata/PROD/sbyredo01.log' SIZE 10M;
ALTER DATABASE ADD STANDBY LOGFILE '/u01/app/oracle/oradata/PROD/sbyredo02.log' SIZE 10M;
ALTER DATABASE ADD STANDBY LOGFILE '/u01/app/oracle/oradata/PROD/sbyredo03.log' SIZE 10M;
ALTER DATABASE ADD STANDBY LOGFILE '/u01/app/oracle/oradata/PROD/sbyredo04.log' SIZE 10M;
4) create pfile='/arch/backup/initPROD.ora' from spfile;
5) Take a backup of primary database.
rman target /
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup database format '/arch/backup/%d_%t_%s_%p' plus archivelog format '/arch/backup/%d_%U';
}
run
{
allocate channel c1 type disk;
backup current controlfile for standby format '/arch/backup/control_file_%d_%t_%s_%p';
}
6) Take a backup of password file, tnsnames.ora file.
cp /u01/app/oracle/product/11.2.0/db_1/dbs/orapwPROD /arch/backup
cp /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora /arch/backup
7) Transfer the backup files to new standby server
scp PROD* init* control* orapw* tns* ssb2:/arch/backup
8) standby
cp /arch/backup/orapwPROD /u01/app/oracle/product/11.2.0/db_1/dbs
cp /arch/backup/initPROD.ora /u01/app/oracle/product/11.2.0/db_1/dbs
cp /arch/backup/tnsnames.ora /u01/app/oracle/product/11.2.0/db_1/network/admin
9) Add the below parameters in standby database parameter file :
db_unique_name='PRODDR'
instance_name='PRODDR'
db_file_name_convert='/u01/app/oracle/oradata/PROD/','/u01/app/oracle/oradata/PROD/'
log_file_name_convert='/u01/app/oracle/oradata/PROD/','/u01/app/oracle/oradata/PROD/'
standby_archive_dest='/arch/PROD'
10) Create the required directories in standby server.
mkdir -p /u01/app/oracle/admin/PROD/adump
mkdir -p /u01/app/oracle/oradata/PROD
mkdir -p /arch/PROD
11) Setup the new standby database:
export ORACLE_SID=PROD
rman target /
startup nomount;
restore standby controlfile from '/arch/backup/control_file_PROD_804456393_10_1';
sql 'alter database mount standby database';
restore database;
list backup of archivelog all;
##### List of Archived Logs in backup set 15
##### Thrd Seq Low SCN Low Time Next SCN Next Time
##### ---- ------- ---------- -------------------- ---------- ---------
##### 1 36 489499 09:DEC:2007:14:57:27 489527 09:DEC:2007:14:58:31
recover database until sequence 37;
recover managed standby database disconnect from session;
create spfile from pfile;
12) Add the below parameter in primary database parameter file :
alter system set log_archive_dest_2='SERVICE=PRODDR';
alter system switch logfile;
13) Make the below network files changes in primary and standby servers :
tnsnames.ora on both nodes
--------------------------------------------------------------------------------------
PROD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ssb1.parthi.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PROD)
)
)
PRODDR =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ssb2.parthi.com)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PROD)
)
)
--------------------------------------------------------------------------------------
Listener.ora on Node 1
--------------------------------------------------------------------------------------
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ssb1.parthi.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=PROD)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=PROD))
(SID_DESC=
(SID_NAME=plsextproc)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(PROGRAM=extproc)))
ADR_BASE_LISTENER = /u01/app/oracle
--------------------------------------------------------------------------------------
lsnrctl stop
lsnrctl start
--------------------------------------------------------------------------------------
Listener.ora on Node 2
--------------------------------------------------------------------------------------
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ssb2.parthi.com)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
)
SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=PROD)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=PROD))
(SID_DESC=
(SID_NAME=plsextproc)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(PROGRAM=extproc)))
ADR_BASE_LISTENER = /u01/app/oracle
--------------------------------------------------------------------------------------
lsnrctl stop
lsnrctl start
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
hi PARTHIBAN.PERUMAL
ReplyDeletei follow your blog doc and get error
FAL[client]: Error fetching gap sequence, no FAL server specified
below these parametrs not need for dataguard?
SQL> show parameters fal
NAME TYPE VALUE
--------------- ---------- ------
fal_client string
fal_server string
by Syed.
Hi Syed,
ReplyDeleteplease use fal parameters.
By Parthi