Вы находитесь на странице: 1из 12

9/4/2016

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.

Clickhereforthedetailinforma ononinstalling/conguring11gR2GridInfrastructure,Installing11gR2RAC,crea ngLISTENERsandcrea ngaRACdatabaseonASM.

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

Thedb_unique_nameparameterhasalreadybeensettotheappropriatevalueduringtheini alcrea onoftheRACdatabase.Thelog_archive_dest_state_nand


remote_login_passwordlehavedefaultvaluessettoENABLEandEXCLUSIVErespec vely.So,onlybelowmen onedparameterneededtobechangedhere.

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:

Updatethelistener.oraonallthenodesinDataguardcongura ontoregisteraservicewiththelocallistenerforeachinstancefortheproperfunc oningofDGMGRL.Addthe


belowlinestothelistener.oraleforeachofthespeciedinstances.

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

A erthesuccessfulSwitchoveropera on,starttheremaininginstancesonboththedatabases.Modifythedatabasecongura oninOCRwiththeirappropriateroleandstart


op on.AddanycustomservicestothenewPrimary(india)databasethatwereremovedearlier.

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

Вам также может понравиться