############################################################
## DATA GUARD IMPLEMENTATION on 11g R1 RAC ##
############################################################
--Primary DB: USA10
--Standby DB: EURO10
############################
--From the Primary Database:
alter database force logging;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
alter database add standby logfile size 1G;
select * from v$standby_log;
alter system set parallel_execution_message_size=8192 scope=spfile;
alter system set fast_start_mttr_target=3600;
############################
--From the Standby Site:
--Dump the pfile and change the following parameters for the Standby:
*.control_files='+DATA1/EURO10/CONTROLFILE/CURRENT01.CTR','+FRA1/EURO10/CONTROLFILE/CURRENT02.CTR'
*.db_file_name_convert='/USA10/','/EURO10/'
*.log_file_name_convert='/USA10/','/EURO10/'
*.db_unique_name='EURO10'
--AS this is a single instance RAC
_disable_interface_checking = TRUE
LISTENER =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lneuron01.emilianofusaglia.net)(PORT = 1526))
)
alter system set local_listener='LISTENER' scope=spfile sid='EURO11';
---
mkdir -p /u01/oracle/admin/EURO10/adump
mkdir -p /u01/oracle/diag/rdbms/euro10/EURO11/cdump
######################################################################
################## #Network Congiguration ########################
######################################################################
##########################################
## Static Listener Entries:
##########################################
--Primary Cluster Node 1
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(PROGRAM = extproc)
)
(SID_DESC =
(global_dbname = USA10_DGMGRL.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA11)
)
(SID_DESC =
(global_dbname = USA10_DGB.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA11)
)
(SID_DESC =
(global_dbname = USA10.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA11)
)
)
--Primary Cluster Node 2
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(PROGRAM = extproc)
)
(SID_DESC =
(global_dbname = USA10_DGMGRL.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA12)
)
(SID_DESC =
(global_dbname = USA10_DGB.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA12)
)
(SID_DESC =
(global_dbname = USA10.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA12)
)
)
--Primary Cluster Node 3
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(PROGRAM = extproc)
)
(SID_DESC =
(global_dbname = USA10_DGMGRL.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA13)
)
(SID_DESC =
(global_dbname = USA10_DGB.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA13)
)
(SID_DESC =
(global_dbname = USA10.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = USA13)
)
)
--Standby Cluster Node 1
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(PROGRAM = extproc)
)
(SID_DESC =
(global_dbname = EURO10_DGMGRL.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = EURO11)
)
(SID_DESC =
(global_dbname = EURO10_DGB.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = EURO11)
)
(SID_DESC =
(global_dbname = EURO10.emilianofusaglia.net)
(ORACLE_HOME = /u01/oracle/product/11.1.0.7)
(sid_name = EURO11)
)
)
##########################################
##TNS Entries Primary & Standby Cluster
##########################################
EURO11.emilianofusaglia.net =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lneuron01-vip.emilianofusaglia.net)(PORT = 1526))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = EURO10.emilianofusaglia.net)
(INSTANCE_NAME = EURO11)
)
)
EURO10.emilianofusaglia.net =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lneuron01-vip.emilianofusaglia.net)(PORT = 1526))
(FAILOVER = on)
(LOAD_BALANCE = on)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = EURO10.emilianofusaglia.net)
)
)
USA10.emilianofusaglia.net =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lnusan01-vip.emilianofusaglia.net)(PORT = 1526))
(ADDRESS = (PROTOCOL = TCP)(HOST = lnusan02-vip.emilianofusaglia.net)(PORT = 1526))
(ADDRESS = (PROTOCOL = TCP)(HOST = lnusan03-vip.emilianofusaglia.net)(PORT = 1526))
(FAILOVER = on)
(LOAD_BALANCE = on)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = USA10.emilianofusaglia.net)
)
)
##########################################
## Standby Controlfile Setup ##
##########################################
alter database create standby controlfile as '/u01/oracle/emiliano/USA10.stby.ctl';
# scp /u01/oracle/emiliano/USA10.stby.ctl lneuron01:/tmp
### Execute the following steps:
Startup nomount pfile='/u01/oracle/emiliano/PFILES/EURO10_for_GD.ora';
Create the spfile on ASM
Startup nomount exclusive;
## Do not RESTORE the Controlfile automatically DONE by the CLONE Procedure
## Which update also Contro_file parameter into SPFIE!!!!
rman target /
RMAN> restore controlfile from '/u01/oracle/emiliano/USA10.stby.ctl';
---
##########################################
## Duplicate the Database
##########################################
##From Primary DB Restore the DB to the Standby Side:
rman
connect target sys/xxxxxxx@USA10 ----PS No domain for Target
connect auxiliary sys/xxxxxxx@EURO10.emilianofusaglia.net ----PS Use domain for Auxiliary
run {
allocate channel p1 type disk;
allocate auxiliary channel s1 type disk;
duplicate target database for standby from active database
dorecover;
}
--or
run {
allocate channel p1 type disk;
allocate channel p2 type disk;
allocate channel p3 type disk;
allocate channel p4 type disk;
allocate auxiliary channel s1 type disk;
allocate auxiliary channel s2 type disk;
allocate auxiliary channel s3 type disk;
allocate auxiliary channel s4 type disk;
duplicate target database for standby from active database
dorecover;
}
##########################################
## Register the Standby Database to CRS
##########################################
srvctl add database -d EURO10 -o $ORACLE_HOME
srvctl add instance -d EURO10 -i EURO11 -n lneuron01
##########################################
## Data Guard Broker Configuration
##########################################
--Primary
alter system set dg_broker_config_file1 = '+DATA1/USA10/DATAGUARDCONFIG/brokerconfig01.dat';
alter system set dg_broker_config_file2 = '+DATA1/USA10/DATAGUARDCONFIG/brokerconfig02.dat';
--Standby
alter system set dg_broker_config_file1 = '+DATA1/EURO10/DATAGUARDCONFIG/brokerconfig01.dat';
alter system set dg_broker_config_file2 = '+DATA1/EURO10/DATAGUARDCONFIG/brokerconfig02.dat';
--on both databases
alter system set dg_broker_start=true;
--From a primary node connect to the broker and create the configuration
#dgmgrl
DGMGRL> connect sys/xxxxxxxx@USA10.emilianofusaglia.net
Connected.
create configuration 'CONFDG10' as primary database is 'USA10' connect identifier is USA10.emilianofusaglia.net;
add database 'EURO10' as connect identifier is EURO10.emilianofusaglia.net;
edit database 'USA10' set property 'LogXptMode' = 'SYNC';
edit database 'EURO10' set property 'LogXptMode' = 'SYNC';
edit database 'USA10' set property 'LogXptMode' = 'ASYNC';
edit database 'EURO10' set property 'LogXptMode' = 'ASYNC';
--edit configuration set protection mode as maxavailability;
edit configuration set protection mode as maxprotection;
--edit configuration set protection mode as maxavailability;
--edit configuration set protection mode as maxperformance;
enable configuration;
edit database 'USA10' set property 'NetTimeout' = '20';
edit database 'EURO10' set property 'NetTimeout' = '20';
exit;
DGMGRL> SWITCHOVER to "EURO10";
--Stop Recovery
edit database 'EURO10' set state = 'APPLY-OFF';
--Start Recovery
edit database 'EURO10' set state = 'APPLY-ON';
--Enabling ArchiveLog Tracing on Primary and Standby Good for Troubleshooting!!
edit instance 'USA11' on database 'USA10' set property 'LogArchiveTrace' = '1';
edit instance 'USA12' on database 'USA10' set property 'LogArchiveTrace' = '1';
edit instance 'USA13' on database 'USA10' set property 'LogArchiveTrace' = '1';
edit instance 'EURO11' on database 'EURO10' set property 'LogArchiveTrace' = '6345';
##############################################################################
Like this:
Like Loading...
Related
One thought on “Oracle 11gR1 Data Guard Setup”