Академический Документы
Профессиональный Документы
Культура Документы
11gR2RACtoRACDataguardwithDataguardBrokerMAA
StepByStepofConguringOracle11gR2(11.2.0.1)RACtoRACDataguard:
ByBhavinHingu
bhavin@oracledba.org
<<HOME>>
Thisdocumentexplainsthestepbystepprocessofbuildingthe11gR2(11.2.0.1)3NodeRACprimaryto2NodeRACPhysicalStandbyDataGuardonOracleEnterpriseLinux
TechnicalArchitectureof11gR2RACprimarytoRACstandbyDataGuardCongura on:
Clusterware
ClusterNodes
SCAN
SCANlistenerHost/port
VIPs
PRIMARY
11gR2GridInfrastructure(11.2.0.1)
node1,node2,node3(3nodeRAC)
labscan.hingu.net
SCANVIPs(port1525)
node1vip,node2vip,node3vip
STANDBY
11gR2GridInfrastructure(11.2.0.1)
drnode1,drnode2(2nodeRAC)
drlabscan.hingu.net
SCANVIPs(port1525)
drnode1vip,drnode2vip
DB_UNIQUE_NAME
DB_NAME
DBInstances
DBLISTENER
DBListenerHost/port
DBSTORAGE
FileManagement
ASMdiskgroupforDBles
ASMDiskgroupforRecoveryFiles
ORACLE_HOME
11gR2RACversion
OS
USA
BHAVIN
bhavin1,bhavin2,bhavin3
BHAVIN_LISTENER
node1vip,node2vip,node3vip(port1530)
ASM
OMF
DATA
FRA
/u01/app/oracle/db11201
11.2.0.1
OracleEnterpriseLinux5.5(32bit)
INDIA
BHAVIN
bhavin1,bhavin2
BHAVIN_LISTENER
drnode1vip,drnode2vip(port1530)
ASM
OMF
DATA
FRA
/u01/app/oracle/db11201
11.2.0.1
OracleEnterpriseLinux5.5(32bit)
Exis ngSetup(BeforetheDataguardSetup):
ItisassumedthatpreliminaryrequirementtocongureRACtoRAC11gR2Dataguardhasbeenestablished.Herearethescreenshotsfortheexis ngSetupofPrimaryaswellas
Standbysite.
PRIMARYSite:
3node11gR2GridInfrastructure(11.2.0.1)hasbeeninstalledandcongured.
3nodeRACso ware(11.2.0.1)hasbeeninstalledandcongured.
ASMdiskgroupDATAandFRAhasbeencreated.
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
1/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
DatabaseBHAVINiscreatedonASMandconguredtouseOMFs.
DBlistenerBHAVIN_LISTENERhasbeencreatedandrunningonport1530.
DatabaseInstancesareconguredwithLOCAL_LISTENERandREMOTE_LISTENERparameters.
DRSite:
2node11gR2GridInfrastructure(11.2.0.1)hasbeeninstalledandcongured.
2nodeRACso ware(11.2.0.1)hasbeeninstalledandcongured.
ASMdiskgroupDATAandFRAhasbeencreated.
DBlistenerBHAVIN_LISTENERhasbeencreatedandrunningonport1530.
RACtoRACPhysicalDataguard:
PreparePrimarySite
PrepareStandbySite
CreateRACPhysicalStandbyDatabase
CongureDataGuardBroker
PerformSwitchover/FailoverusingDGBroker
PreparePrimaryRACdatabaseforDRcongura on:
EnableForceLogging.
ModifyinitParameters.
EnableArchivelogMode.
CreatetheSLRs(StandbyRedoLogs).
BackuptheDatabaseforStandby
Createpleforstandbydatabase.
Updatethetnsnames.ora.
EnableForceLogging:
alterdatabaseforcelogging
ModifyDataguardrelatedinitParameters:
DB_NAME=BHAVIN
DB_UNIQUE_NAME=USA
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=USA'
LOG_ARCHIVE_DEST_2='SERVICE=INDIAARCHVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=INDIA'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=8
FAL_SERVER=INDIA
DB_FILE_NAME_CONVERT='INDIA','USA'
LOG_FILE_NAME_CONVERT='INDIA','USA'
STANDBY_FILE_MANAGEMENT=AUTO
altersystemsetLOG_ARCHIVE_CONFIG='DG_CONFIG=(USA,INDIA)'scope=bothsid='*'
altersystemsetLOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DESTVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=USA'scope=bothsid='*'
altersystemsetLOG_ARCHIVE_DEST_2='SERVICE=INDIAARCHVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=INDIA'scope=bothsid='*'
altersystemsetlog_archive_format='%t_%s_%r.arc'scope=spfilesid='*'
altersystemsetlog_archive_max_processes=8scope=bothsid='*'
altersystemsetfal_server=INDIAscope=bothsid='*'
altersystemsetdb_file_name_convert='INDIA','USA'scope=spfilesid='*'
altersystemsetlog_file_name_convert='INDIA','USA'scope=spfilesid='*'
altersystemsetstandby_file_management=AUTOscope=bothsid='*'
Verifythatthevaluesaresetcorrectlyfortheseparametersa erbouncingthedatabase.
setlinesize500pages0
colvaluefora90
colnamefora50
selectname,value
fromv$parameter
wherenamein('db_name','db_unique_name','log_archive_config','log_archive_dest_1','log_archive_dest_2',
'log_archive_dest_state_1','log_archive_dest_state_2','remote_login_passwordfile',
'log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert',
'log_file_name_convert','standby_file_management')
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
2/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
EnableArchivelogMode:
srvctlstopdatabasedusa
startupmount(onlyoneinstance)
alterdatabasearchivelog
alterdatabaseopen
srvctlstartdatabasedusaThiswillstarttheremainingInstancesonthecluster.
CreatetheStandbyRedoLogs(SRLs)onPrimaryandStandby:
Thereshouldbeminimumof(threads)*(groupsPerThreads+1)SLRscreatedonthestandbydatabase.Thereare3threadswith2groupsperthreadinthiscongura ononthe
primarysidesothereshouldbetotalof9SLRsatminimumneedstobecreated.LetsgetthetotalGroupsandMaxsizeoftheloglefromv$log.
SQL>selectmax(bytes),count(1)fromv$log
MAX(BYTES)COUNT(1)
524288006
Here,thetotalno.ofonlineredogroupsare6andthemaximumsizeofthesegroupsis52M.So,3StandbyRedoLoggroupsperthreadwithsizeof52Meachshouldbecreated
onPrimaryaswellasstandbydatabase.
ASMCMD>mkdir+fra/usa/STANDBYLOG(connectedasgriduserusingasmcmd)
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='*'
BackupThePrimaryDatabaseForStandby.
Takethebackupoftheprimarydatabaseandthestandbycontrolle.CreatethestagingdirectorytoholdtheRMANbackup.
mkdir/home/oracle/backup
rmantarget/nocatalog
run
{
sql"altersystemswitchlogfile"
allocatechannelch1typediskformat'/home/oracle/backup/Primary_bkp_for_stndby_%U'
backupdatabase
backupcurrentcontrolfileforstandby
sql"altersystemarchivelogcurrent"
}
CreatepleForStandby.
createpfile='pfile_for_standby.txt'fromspfile
UpdateTNSNAMES.ora
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
3/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Addthetnsaliasforeachoftheinstancesoftheprimarydatabase.
USA1=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=node1vip.hingu.net)(PORT=1530))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=usa.hingu.net)
(SID=bhavin1)
)
)
USA2=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=node2vip.hingu.net)(PORT=1530))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=usa.hingu.net)
(SID=bhavin2)
)
)
USA3=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=node3vip.hingu.net)(PORT=1530))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=usa.hingu.net)
(SID=bhavin3)
)
)
Copythetnsnames.oraonalltheinstancesunder$ORACLE_HOME/network/admintokeepthesametnsnames.oraonalltheinstances.
PrepareStandbySiteforDataguardCongura on:
CopytheRMANbackupandple_for_standby.txt.
Copythepasswordle.
CreaterequireddirectoriesforStandbyInstance.
Modifytheple.
Copythetnsnames.orafromPrimaryandaddtheTNSAliasforthestandbydatabaseinstances.
CreatetheASMdirectoriesundertheDATAandFRAdiskgroup.
CopytheRMANBackuplesandinit.orafromPrimarytoStandby:
Copythebackupsfromprimarynode1todrnode1underthesameloca onasprimarynode1(/home/oracle/backup).Alsocopytheplethatwascreatedforstandbyon
primarynode1tothedrnode1.
scp$ORACLE_HOME/dbs/pfile_for_standby.txtdrnode1:$ORACLE_HOME/dbs/pfile_for_standby.txt
scpr/home/oracle/backupdrnode1:/home/oracle
CopythePasswordFilefromPrimarytoallthenodesinStandby.
Copythele$ORACLE_HOME/dbs/orapwbhavin1fromPrimarynode1toboththestandbynodesunderthedirectory$ORACLE_HOME/dbswiththenameof
orapwbhavin1andorapwbhavin2fordrnode1anddrnode2respec vely.
scp$ORACLE_HOME/dbs/orapwbhavin1drnode1:$ORACLE_HOME/dbs/orapwbhavin1
scp$ORACLE_HOME/dbs/orapwbhavin1drnode2:$ORACLE_HOME/dbs/orapwbhavin2
CreaterequireddumpledirectoriesfortheStandbyInstances
Ondrnode1:
mkdirp/u01/app/oracle/admin/india/adump
mkdirp/u01/app/oracle/diag/rdbms/india/bhavin1
cd/u01/app/oracle/diag/rdbms/india/bhavin1
mkdirtracecdump
Ondrnode2:
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.txtle(under$ORACLE_HOME/dbs)
TheonesinREDcoloraremodiedforthestandbydatabase.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'
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
4/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
*.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'
*.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='drlabscan.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.oralefromprimary(under$ORACLE_HOME/network/admin)
Fromprimarynode1:
scp$ORACLE_HOME/network/admin/tnsnames.oradrnode1:$ORACLE_HOME/network/admin/tnsnames.ora
scp$ORACLE_HOME/network/admin/tnsnames.oradrnode2:$ORACLE_HOME/network/admin/tnsnames.ora
Now,ModifytheLOCAL_LISTENERparametersinthetnsnames.oratoreectthedrspecicviphostnames(OntheStandbyNodesonly).
LISTENER_BHAVIN1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=drnode1vip.hingu.net)(PORT=1530)))
LISTENER_BHAVIN2=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=drnode2vip.hingu.net)(PORT=1530)))
CreatetheASMdirectories
ConnecttotheasmcmdasagridOpera ngSystemuserandcreatethebelowdirectories.
ASMCMD>mkdirdata/INDIA
ASMCMD>cddata/india
ASMCMD>mkdirPARAMETERFILEDATAFILECONTROLFILETEMPFILEONLINELOG
ASMCMD>mkdirfra/INDIA
ASMCMD>cdfra/india
ASMCMD>mkdirARCHIVELOGCONTROLFILEONLINELOGSTANDBYLOG
CreatethePhysicalStandbyDatabase:
StarttheInstanceinNOMOUNTusingtheple_for_standby.txt.
RestoretheStandbyDatabaseusingRMANDUPLICATEcommand.
CreatetheOnlineRedologsandStandbyredologs.
ModifytheTNSNAMES.ORAofStandbytoaddtheStandbyDatabasesTNSalias.
ModifytheTNSNAMES.ORAofPrimarytoaddtheStandbyDatabasesTNSalias.
StarttheManagedRecoveryProcess
Createthespleandstartthedatabaseonboththenodesusingsple.
RegistertheNewStandbydatabasetotheOCR.
StarttheAc veDataguard.
StarttheInstanceinNOMOUNTstate:
Connecttothedrnode1asoracleuserandstarttheInstancebhavin1usingthe$ORACLE_HOME/dbs/pfile_for_standby.txtparameterle.
exportORACLE_SID=bhavin1
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=/u01/app/oracle/db11201
exportPATH=$PATH:$ORACLE_HOME/bin:.
sqlplus/assysdba
startupnomountpfile=$ORACLE_HOME/dbs/pfile_for_standby.txt
RestoretheRMANbackupusingDUPLICATEDATABASEop on:
ConnecttotheTargetdatabase(USA)andauxiliaryinstance(INDIA)fromdrnode1hosttostarttheDUPLICATE.
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
5/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
rmantargetsys/oracle@usa1auxiliary/
DUPLICATETARGETDATABASEFORSTANDBYNOFILENAMECHECK
Modifytnsnames.oraonStandby:
Exis ngtnsnames.oradoesnotcontaintheTNSaliasofthestandbydatabase.ItonlycontainsTNSaliasesforthePrimarydatabasebecausethistnsnames.orawascopiedover
fromprimary.AddthebelowTNSaliasforstandbydatabase/instancesintothetnsnames.oraleonboththestandbyhosts.
INDIA=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=drlabscan.hingu.net)(PORT=1525))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=india.hingu.net)
)
)
INDIA1=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=drnode1vip.hingu.net)(PORT=1530))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=india.hingu.net)
(SID=bhavin1)
)
)
INDIA2=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=drnode2vip.hingu.net)(PORT=1530))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=india.hingu.net)
(SID=bhavin2)
)
)
Modifytnsnames.oraonPrimary:
AddthebelowTNSaliasforstandbydatabase/instancesintothetnsnames.oraleonalltheprimaryhosts.
INDIA=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=drlabscan.hingu.net)(PORT=1525))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=india.hingu.net)
)
)
INDIA1=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=drnode1vip.hingu.net)(PORT=1530))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=india.hingu.net)
(SID=bhavin1)
)
)
INDIA2=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=drnode2vip.hingu.net)(PORT=1530))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=india.hingu.net)
(SID=bhavin2)
)
)
StarttheManagedRecoveryProcess:
StarttheManagedrecoveryprocessondrnode1andverifythatthelogtransportandlogapplica onishappening.Alertlogisaquickandeasywaytoseeifthingslog
transport/Gapresolu onandlogapplica onisworkingasexpected.Startthetailfonalertlogsonboththestandbynodesbeforestar ngtheMRP.
ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEDISCONNECTFROMSESSION
Performthelogswitchontheprimarydatabasesoini atethelogTransport.
altersystemswitchlogfile
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
6/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
Similarinforma oncanbeveriedbyrunningbelowSQLsonstandbydatabase.
select*fromv$archive_gap
selectprocess,client_process,sequence#,statusfromv$managed_standby
selectsequence#,first_time,next_time,appliedfromv$archived_log
selectarchived_thread#,archived_seq#,applied_thread#,applied_seq#fromv$archive_dest_status
selectthread#,max(sequence#)fromv$log_historygroupbythread#
selectthread#,max(sequence#)fromv$archived_logwhereAPPLIED='YES'groupbythread#
Createsplefromple:
createspfile='+data/india/parameterfile/spfileINDIA.ora'frompfile='/u01/app/oracle/db11201/dbs/pfile_for_standby.txt'
A ercrea ngthesple,createthebelowinit.oralesunder$ORACLE_HOME/dbsonboththedrnodeswiththespleentrysothattheinstancecanstartwiththenewly
createdsple.
Ondrnode1:
[oracle@drnode1dbs]$catinitbhavin1.ora
spfile='+data/india/parameterfile/spfileINDIA.ora'
Ondrnode2:
[oracle@drnode1dbs]$catinitbhavin2.ora
spfile='+data/india/parameterfile/spfileINDIA.ora'
AddStandbydatabaseandInstancestotheOCR:
AddthestandbydatabaseanditsinstancestotheOCRsothatitismanagedbyCRS.
srvctladddatabasedindianbhavino/u01/app/oracle/db11201mhingu.netp+data/india/parameterfile/spfileindia.orarphysical_standbya
DATA,FRA
srvctladdinstancedindiaibhavin1ndrnode1
srvctladdinstancedindiaibhavin2ndrnode2
srvctlstartdatabasedindia
srvctlmodifydatabasedindiasmount
Ifthestandbydatabaseshouldnotstartinopenmode,thenitcanbechangedbybelowcommand.Thevalidop onsareopen(default),mountandnomount.
srvctlmodifydatabasedindiasmount
Verifythecongura onofstandbydatabaseindia.
srvctlconfigdatabasedindia
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
7/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
StarttheAc veDataguard:
InAc veDataguard,theMRPcanberunningwhilethePhysicalStandbydatabaseisopenedinREADONLYmode.So,starttheMRPa erthedatabaseisopenedinreadonly
modetoac vatetheAc veDataguard.
srvctlstartdatabasedindiaoopen
alterdatabaserecovermanagedstandbydatabasedisconnectfromsession
CreatetheStandbyRedoLogs(SRLs)onStandby:
DUPLICATEDATABASEcommandhasreplicatedthesameno.ofOnlineRedoLogsandStandbyRedologsfromprimarydatabasetotheStandbydatabase.So,theywerenot
neededtocreatehere.
ChangetheProtec onMode:
NewProtec onMode:MaximumAvailability.
OnPrimary:
altersystemsetLOG_ARCHIVE_DEST_2='SERVICE=INDIASYNCNOAFFIRMVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=INDIA'scope=bothsid='*'
alterdatabasesetstandbydatabasetomaximizeavailability
OnStandby:
altersystemsetLOG_ARCHIVE_DEST_2='SERVICE=USASYNCNOAFFIRMVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=USA'scope=bothsid='*'
alterdatabasesetstandbydatabasetomaximizeavailability
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
8/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
FinalCongura onFiles:
Hereisthenallookofparameterle,tnsnames.oraandlistener.oralesatthisstageofsuccessfulcongura onof3nodeRACprimaryto2nodeRACPhysicalDataGuard.
CongureDataguardBroker:
StoptheMRP
ModifytheListener.orales
ModifytheinitParameters
CreateCongura on
EnableCongura on
VerifytheCongura on
StoptheMRPonstandbydatabase:
alterdatabaserecovermanagedstandbydatabasecancel
Modifythelistener.orales:
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)))
A erupda ngtheselistener.orales,restartlistenersoneachofthesenodes.
Modifytheinitparameters:
ModifythesebelowDataGuardBrokerrelatedparametersonboththesides.
Standby:
mkdir+fra/india/DATAGUARDCONFIG
mkdir+data/india/DATAGUARDCONFIG
ALTERSYSTEMSETDG_BROKER_CONFIG_FILE1='+fra/india/DATAGUARDCONFIG/dgb_config02.ora'SCOPE=BOTHsid='*'
ALTERSYSTEMSETDG_BROKER_CONFIG_FILE2='+data/india/DATAGUARDCONFIG/dgb_config01.ora'SCOPE=BOTHsid='*'
altersystemsetdg_broker_start=truescope=bothsid='*'
primary:
mkdir+fra/usa/DATAGUARDCONFIG
mkdir+data/usa/DATAGUARDCONFIG
ALTERSYSTEMSETDG_BROKER_CONFIG_FILE1='+fra/usa/DATAGUARDCONFIG/dgb_config02.ora'SCOPE=BOTHsid='*'
ALTERSYSTEMSETDG_BROKER_CONFIG_FILE2='+data/usa/DATAGUARDCONFIG/dgb_config01.ora'SCOPE=BOTHsid='*'
altersystemsetdg_broker_start=truescope=bothsid='*'
CreateCongura on:
ConnecttotheDGMGRLandrunthebelowstatementstocreateandenabletheDataGuardcongura on.VerifythattheDGBrokerisconguredcorrectlyandithasallthe
databasesandinstancesregisteredasexpected.
CREATECONFIGURATION'DG_Config'ASPRIMARYDATABASEIS'usa'CONNECTIDENTIFIERIS'usa'
ADDDATABASE'india'ASCONNECTIDENTIFIERISindia
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
9/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
EnableCongura on:
enableconfiguration
VerifyCongura on:
showconfiguration
showdatabaseverboseindia
showdatabaseverboseusa
showinstanceverbosebhavin1ondatabaseusa
showinstanceverbosebhavin2ondatabaseusa
showinstanceverbosebhavin3ondatabaseusa
showinstanceverbosebhavin1ondatabaseindia
showinstanceverbosebhavin2ondatabaseindia
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
10/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
PerformingSwitchover/FailoverwithDataguardBroker
Ireceivedthebelowerrorwhileperformingeitherswitchoverorfailoveropera onusingDataGuardBroker.ThisisduetotheOraclebug(9645789)occurringwhenDGBroker
tryingtostopanycustomservicesinthedatabase.TheworkaroundistoremoveallthecustomservicesusingsrvctlcommandandaddthembackintheOCRattheendofthe
roletransi onopera on.
DGMGRL>switchovertoindia
PerformingswitchoverNOW,pleasewait...
Error:ORA16535:OracleRestartorOracleClusterwarepreventedcompletionofbrokeroperation
Failed.
Unabletoswitchover,primarydatabaseisstill"usa"
srvctlstopservicedusasoltp
srvctlremoveservicedusasoltp
showparameterservice_names(SQLPLUS)
Switchover:
ShutdownalltheinstanceonPrimarybutone.
ShutdownalltheinstanceonStandbybutone.
Connecttodgmgrlonprimary.
Executeswitchovertoindiaondgmgrl.
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
11/12
9/4/2016
11gR2RACtoRACDataguardwithDataguardBrokerMAA
srvctlmodifydatabasedusarphysical_standbysmount
srvctlmodifydatabasedindiarprimarysopen
srvctladdservicedindiasoltprbhavin1,bhavin2rprimaryesessionmbasicBSHORT(onthenewPrimarycluster)
srvctladdservicedusasoltprbhavin1,bhavin2,bhavin3rphysical_standbyesessionmbasicBSHORT(onthenewstandbycluster)
FortheFailover,useDGMGRLcommandfailovertousa
<<HOME>>
HTMLCommentBoxisloadingcomments...
http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html
12/12