11gR2 Dataguard RAC To RAC
11gR2 Dataguard RAC To RAC
Page1of13
StepByStepofConfiguringOracle11gR2(11.2.0.1)RACtoRACDataguard:
ByBhavinHingu [email protected] <<HOME>> Thisdocumentexplainsthestepbystepprocessofbuildingthe11gR2(11.2.0.1)3-NodeRACprimaryto2-NodeRACPhysicalStandbyDataGuardonOracleEnterpriseLinux
TechnicalArchitectureof11gR2RACprimarytoRACstandbyDataGuardConfiguration:
Clusterware ClusterNodes SCAN SCANlistenerHost/port VIPs DB_UNIQUE_NAME DB_NAME DBInstances DBLISTENER DBListenerHost/port DBSTORAGE FileManagement ASMdiskgroupforDBfiles ASMDiskgroupforRecoveryFiles ORACLE_HOME 11gR2RACversion OS PRIMARY 11gR2GridInfrastructure(11.2.0.1) node1,node2,node3(3-nodeRAC) lab-scan.hingu.net SCANVIPs(port1525) node1-vip,node2-vip,node3-vip USA BHAVIN bhavin1,bhavin2,bhavin3 BHAVIN_LISTENER node1-vip,node2-vip,node3-vip(port1530) ASM OMF DATA FRA /u01/app/oracle/db11201 11.2.0.1 OracleEnterpriseLinux5.5(32bit) STANDBY 11gR2GridInfrastructure(11.2.0.1) dr-node1,dr-node2(2-nodeRAC) dr-lab-scan.hingu.net SCANVIPs(port1525) dr-node1-vip,dr-node2-vip INDIA BHAVIN bhavin1,bhavin2 BHAVIN_LISTENER dr-node1-vip,dr-node2-vip(port1530) ASM OMF DATA FRA /u01/app/oracle/db11201 11.2.0.1 OracleEnterpriseLinux5.5(32bit)
PRIMARYSite:
3-node11gR2GridInfrastructure(11.2.0.1)hasbeeninstalledandconfigured. 3-nodeRACsoftware(11.2.0.1)hasbeeninstalledandconfigured. ASMdiskgroupDATAandFRAhasbeencreated. DatabaseBHAVINiscreatedonASMandconfiguredtouseOMFs. DBlistenerBHAVIN_LISTENERhasbeencreatedandrunningonport1530. DatabaseInstancesareconfiguredwithLOCAL_LISTENERandREMOTE_LISTENERparameters.
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page2of13
Thedb_unique_nameparameterhasalreadybeensettotheappropriatevalueduringtheinitialcreationoftheRACdatabase.Thelog_archive_dest_state_nand remote_login_passwordfilehavedefaultvaluessettoENABLEandEXCLUSIVErespectively.So,onlybelowmentionedparameterneededtobechangedhere.
Verifythatthevaluesaresetcorrectlyfortheseparametersafterbouncingthedatabase.
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page3of13
EnableArchivelogMode:
srvctlstopdatabasedusa startupmount(onlyoneinstance) alterdatabasearchivelog alterdatabaseopen srvctlstartdatabasedusaThiswillstarttheremainingInstancesonthecluster.
Here,thetotalno.ofonlineredogroupsare6andthemaximumsizeofthesegroupsis52M.So,3StandbyRedoLoggroupsperthreadwithsizeof52Meachshouldbecreatedon Primaryaswellasstandbydatabase.
altersystemsetstandby_file_management=manualscope=bothsid='*'; alterdatabaseaddstandbylogfilethread1group7'+fra/usa/standbylog/standby_group_07.log'size52M; alterdatabaseaddstandbylogfilethread1group8'+fra/usa/standbylog/standby_group_07.log'size52M; alterdatabaseaddstandbylogfilethread1group9'+fra/usa/standbylog/standby_group_07.log'size52M; alterdatabaseaddstandbylogfilethread2group10'+fra/usa/standbylog/standby_group_10.log'size52M; alterdatabaseaddstandbylogfilethread2group11'+fra/usa/standbylog/standby_group_11.log'size52M; alterdatabaseaddstandbylogfilethread2group12'+fra/usa/standbylog/standby_group_12.log'size52M; alterdatabaseaddstandbylogfilethread3group13'+fra/usa/standbylog/standby_group_13.log'size52M; alterdatabaseaddstandbylogfilethread3group14'+fra/usa/standbylog/standby_group_14.log'size52M; alterdatabaseaddstandbylogfilethread3group15'+fra/usa/standbylog/standby_group_15.log'size52M; altersystemsetstandby_file_management=autoscope=bothsid='*';
ASMCMD>mkdir+fra/usa/STANDBYLOG(connectedasgriduserusingasmcmd)
BackupThePrimaryDatabaseForStandby. Takethebackupoftheprimarydatabaseandthestandbycontrolfile.CreatethestagingdirectorytoholdtheRMANbackup.
mkdir/home/oracle/backup rmantarget/nocatalog run { sql"altersystemswitchlogfile"; allocatechannelch1typediskformat'/home/oracle/backup/Primary_bkp_for_stndby_%U'; backupdatabase; backupcurrentcontrolfileforstandby; sql"altersystemarchivelogcurrent"; }
CreatepfileForStandby.
createpfile='pfile_for_standby.txt'fromspfile;
UpdateTNSNAMES.ora Addthetnsaliasforeachoftheinstancesoftheprimarydatabase.
USA1= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip.hingu.net)(PORT=1530)) (CONNECT_DATA=
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page4of13
(SERVER=DEDICATED) (SERVICE_NAME=usa.hingu.net) (SID=bhavin1) ) ) USA2= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=node2-vip.hingu.net)(PORT=1530)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=usa.hingu.net) (SID=bhavin2) ) ) USA3= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=node3-vip.hingu.net)(PORT=1530)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=usa.hingu.net) (SID=bhavin3) ) )
Copythetnsnames.oraonalltheinstancesunder$ORACLE_HOME/network/admintokeepthesametnsnames.oraonalltheinstances.
CreaterequireddumpfiledirectoriesfortheStandbyInstances Ondr-node1:
mkdirp/u01/app/oracle/admin/india/adump mkdirp/u01/app/oracle/diag/rdbms/india/bhavin1 cd/u01/app/oracle/diag/rdbms/india/bhavin1 mkdirtracecdump
Ondr-node2:
mkdirp/u01/app/oracle/admin/india/adump mkdirp/u01/app/oracle/diag/rdbms/india/bhavin2 cd/u01/app/oracle/diag/rdbms/india/bhavin2 mkdirtracecdump
Modifypfile_for_standby.txtfile(under$ORACLE_HOME/dbs) TheonesinREDcoloraremodifiedforthestandbydatabase.Therestoftheparametersremainsameonboththeprimaryandstandby.
*.audit_file_dest='/u01/app/oracle/admin/india/adump' *.audit_trail='db' *.cluster_database=true *.compatible='11.2.0.0.0' *.control_files='+DATA/india/controlfile/control01.ctl','+FRA/india/controlfile/control02.ctl' *.db_block_size=8192 *.db_create_file_dest='+DATA' *.db_create_online_log_dest_1='+DATA' *.db_create_online_log_dest_2='+FRA' *.db_domain='hingu.net' *.db_file_name_convert='USA','INDIA' *.db_name='bhavin' *.db_recovery_file_dest='+FRA' *.db_recovery_file_dest_size=4039114752 *.db_unique_name='india' *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP)(SERVICE=bhavinXDB)' *.fal_server='USA' bhavin1.instance_number=1 bhavin2.instance_number=2 bhavin1.local_listener='LISTENER_BHAVIN1' bhavin2.local_listener='LISTENER_BHAVIN2' *.log_archive_config='DG_CONFIG=(USA,INDIA)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DESTVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=INDIA'
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page5of13
*.log_archive_dest_2='SERVICE=USAARCHVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=USA' *.log_archive_format='%t_%s_%r.arc' *.log_archive_max_processes=8 *.log_file_name_convert='USA','INDIA' *.memory_target=1484783616 *.open_cursors=300 *.processes=1024 *.remote_listener='dr-lab-scan.hingu.net:1525' *.remote_login_passwordfile='exclusive' *.service_names='INDIA','india.hingu.net' *.sessions=1131 *.standby_file_management='AUTO' bhavin2.thread=2 bhavin1.thread=1 bhavin1.undo_tablespace='UNDOTBS1' bhavin2.undo_tablespace='UNDOTBS2'
Copythetnsnames.orafilefromprimary(under$ORACLE_HOME/network/admin) Fromprimarynode1:
scp$ORACLE_HOME/network/admin/tnsnames.oradr-node1:$ORACLE_HOME/network/admin/tnsnames.ora scp$ORACLE_HOME/network/admin/tnsnames.oradr-node2:$ORACLE_HOME/network/admin/tnsnames.ora
Now,ModifytheLOCAL_LISTENERparametersinthetnsnames.oratoreflectthedrspecificviphostnames(OntheStandbyNodesonly).
LISTENER_BHAVIN1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dr-node1-vip.hingu.net)(PORT=1530))) LISTENER_BHAVIN2=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dr-node2-vip.hingu.net)(PORT=1530)))
CreatetheASMdirectories ConnecttotheasmcmdasagridOperatingSystemuserandcreatethebelowdirectories.
ASMCMD>mkdirdata/INDIA ASMCMD>cddata/india ASMCMD>mkdirPARAMETERFILEDATAFILECONTROLFILETEMPFILEONLINELOG ASMCMD>mkdirfra/INDIA ASMCMD>cdfra/india ASMCMD>mkdirARCHIVELOGCONTROLFILEONLINELOGSTANDBYLOG
RestoretheRMANbackupusingDUPLICATEDATABASEoption: ConnecttotheTargetdatabase(USA)andauxiliaryinstance(INDIA)fromdr-node1hosttostarttheDUPLICATE.
rmantargetsys/oracle@usa1auxiliary/ DUPLICATETARGETDATABASEFORSTANDBYNOFILENAMECHECK;
INDIA= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=dr-lab-scan.hingu.net)(PORT=1525)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=india.hingu.net) ) ) INDIA1= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=dr-node1-vip.hingu.net)(PORT=1530)) (CONNECT_DATA=
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page6of13
(SERVER=DEDICATED) (SERVICE_NAME=india.hingu.net) (SID=bhavin1) ) ) INDIA2= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=dr-node2-vip.hingu.net)(PORT=1530)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=india.hingu.net) (SID=bhavin2) ) )
INDIA= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=dr-lab-scan.hingu.net)(PORT=1525)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=india.hingu.net) ) ) INDIA1= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=dr-node1-vip.hingu.net)(PORT=1530)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=india.hingu.net) (SID=bhavin1) ) ) INDIA2= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=dr-node2-vip.hingu.net)(PORT=1530)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=india.hingu.net) (SID=bhavin2) ) )
Modifytnsnames.oraonPrimary: AddthebelowTNSaliasforstandbydatabase/instancesintothetnsnames.orafileonalltheprimaryhosts.
ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEDISCONNECTFROMSESSION;
altersystemswitchlogfile
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page7of13
SimilarinformationcanbeverifiedbyrunningbelowSQLsonstandbydatabase.
Createspfilefrompfile:
createspfile='+data/india/parameterfile/spfileINDIA.ora'frompfile='/u01/app/oracle/db11201/dbs/pfile_for_standby.txt';
[oracle@dr-node1dbs]$catinitbhavin2.ora spfile='+data/india/parameterfile/spfileINDIA.ora'
Ondr-node2:
AddStandbydatabaseandInstancestotheOCR: AddthestandbydatabaseanditsinstancestotheOCRsothatitismanagedbyCRS.
srvctladddatabase-dindia-nbhavin-o/u01/app/oracle/db11201-mhingu.net-p+data/india/parameterfile/spfileindia.ora-rphysical_standby-a DATA,FRA srvctladdinstance-dindia-ibhavin1-ndr-node1 srvctladdinstance-dindia-ibhavin2-ndr-node2 srvctlstartdatabase-dindia srvctlmodifydatabase-dindia-smount
Ifthestandbydatabaseshouldnotstartinopenmode,thenitcanbechangedbybelowcommand.Thevalidoptionsareopen(default),mountandnomount.
srvctlmodifydatabase-dindia-smount
srvctlconfigdatabase-dindia
Verifytheconfigurationofstandbydatabaseindia.
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page8of13
FinalConfigurationFiles: Hereisthefinallookofparameterfile,tnsnames.oraandlistener.orafilesatthisstageofsuccessfulconfigurationof3-nodeRACprimaryto2-nodeRACPhysicalDataGuard.
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page9of13
Configure Dataguard Broker: StoptheMRP ModifytheListener.orafiles ModifytheinitParameters CreateConfiguration EnableConfiguration VerifytheConfiguration StoptheMRPonstandbydatabase:
alterdatabaserecovermanagedstandbydatabasecancel;
PrimaryNode1 SID_LIST_BHAVIN_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=bhavin1)(GLOBAL_DBNAME=usa_DGMGRL.hingu.net)(ORACLE_HOME=/u01/app/oracle/db11201))) PrimaryNode2 SID_LIST_BHAVIN_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=bhavin2)(GLOBAL_DBNAME=usa_DGMGRL.hingu.net)(ORACLE_HOME=/u01/app/oracle/db11201))) PrimaryNode3 SID_LIST_BHAVIN_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=bhavin3)(GLOBAL_DBNAME=usa_DGMGRL.hingu.net)(ORACLE_HOME=/u01/app/oracle/db11201))) StandbyNode1 SID_LIST_BHAVIN_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=bhavin1)(GLOBAL_DBNAME=india_DGMGRL.hingu.net)(ORACLE_HOME=/u01/app/oracle/db11201))) StandbyNode2 SID_LIST_BHAVIN_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=bhavin2)(GLOBAL_DBNAME=india_DGMGRL.hingu.net)(ORACLE_HOME=/u01/app/oracle/db11201)))
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page10of13
EnableConfiguration:
enableconfiguration;
VerifyConfiguration:
showconfiguration; showdatabaseverboseindia; showdatabaseverboseusa showinstanceverbosebhavin1ondatabaseusa showinstanceverbosebhavin2ondatabaseusa showinstanceverbosebhavin3ondatabaseusa showinstanceverbosebhavin1ondatabaseindia showinstanceverbosebhavin2ondatabaseindia
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page11of13
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page12of13
AfterthesuccessfulSwitchoveroperation,starttheremaininginstancesonboththedatabases.ModifythedatabaseconfigurationinOCRwiththeirappropriateroleandstart option.AddanycustomservicestothenewPrimary(india)databasethatwereremovedearlier.
FortheFailover,useDGMGRLcommandfailovertousa
<<HOME>>
Comments
Name Enteryourcommenthere
Comment
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Page13of13
(Aug30,2012)[email protected]: Thankyousomuch!
(Aug8,2012)Evgenysaid: Thanksalot!
(Mar26,2012)Manusaid: Verydetailedandcomprehensive.ThankYouBhavin.
(Mar15,2012)Fernandosaid: WhydoyoubackupthedatabasewithRMANifyouafterwordsmakeaduplicateofthedatabase?
(Showing1to10)
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/18/2013