safe harbor statement - oracle cloud · •the broker will set all the necessary parameters for you...
TRANSCRIPT
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andtimingofanyfeaturesorfunctionalitydescribedforOracle’sproductsremainsatthesolediscretionofOracle.
1
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
OracleActiveDataGuardBuildoutyourOracleMaximumAvailabilityArchitecturePlatinumConfiguration
LarryM.CarpenterMasterProductManagerOracleHighAvailabilitySystems
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
3
MAAReferenceArchitecturesReview
BuildingOracleDataGuardPlatinum
Alookforwardtothenextrelease
InClosing
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MAAReferenceArchitecturesReview
4
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ZeroDataLossDRtotheCloudUseCaseZeroDowntime
RACZeroDataLossBackuptotheCloudUseCase
Prod/Departmental
BusinessCritical
Dev,Test,Prod
MissionCritical
BackupandRecovery
Bronze +
ZeroDowntimeHighAvailability
5
YouKnowtheMAAReferenceArchitectures
Silver+
ZeroDataLossHAandDR
GOLD
BRONZESILVER
PLATINUM
ZeroDowntimeGoldenGateCloudSvc.
Gold+
ZeroDowntimeMaintenance/Migration
Local&RemoteBackups
Bronze +
Active/ActiveDatabaseClustering+Backup&Recovery
Silver+
RemoteReplicationwithnear-Zerodataloss,fasterfailover
Gold+AdvancedCapabilitiesforZeroApplicationOutagesandZeroDataLoss
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 6
You’veSeenAllThePictures
SingleInstance Database
Replicated backup
PrimaryDatacenter
RemoteDatacenter
Local backup
RAC /RAC One Database Local
backup
Replicated backup
PrimaryDatacenter
RemoteDatacenter
Local backup
Replicated backup
Local Standby
PrimaryDatacenter
RemoteDatacenter
Local backup
PrimaryDatacenter
RemoteDatacenter
Remote Standby
Local backupPrimary
Local Standby
Primary
Local backup
PrimaryDatacenter
RemoteDatacenter
Remote Standby
Local backupPrimary
Local ADG Standby
GoldenGateApp Cont, EBR
GOLDBRONZE SILVER PLATINUMSILVER+
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 7
AndWhereYouCanSetItAllUp
On-Premises(DRSite)
On-Premises(Production)
ClientsActiveLink
Applications
ActiveDataGuardReplication(FarSync)
ActiveLink
Applications
OnPremises
OracleCloudInfrastructure
(DRSite)
On-Premises(Production)
ClientsActiveLink
Applications Compute
Java
ActiveDataGuardReplication(FarSync)
ActiveLink
DBCS/ExaCS
Hybrid
OracleCloudInfrastructure(Production)
OracleCloudInfrastructure
(DRSite)
ClientsActiveLink
Compute
Java
ActiveDataGuardReplication(FarSync)
ActiveLink
Compute
Java
DBCS/ExaCS DBCS/ExaCS
InTheCloud
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
AndWhereYouCanSetItAllUp
• Thegoodnewsis– Intheendit’sallthesamebasicprocesstosetup.• Andtherequirementsandobjectivesarealsothesame.
8
On-Premises(DRSite)
On-Premises(Production)
ClientsActiveLink
Applications
ActiveDataGuardReplication(FarSync)
ActiveLink
Applications
OnPremises
OracleCloudInfrastructure
(DRSite)
On-Premises(Production)
ClientsActiveLink
Applications Compute
Java
ActiveDataGuardReplication(FarSync)
ActiveLink
DBCS/ExaCS
Hybrid
OracleCloudInfrastructure(Production)
OracleCloudInfrastructure
(DRSite)
ClientsActiveLink
Compute
Java
ActiveDataGuardReplication(FarSync)
ActiveLink
Compute
Java
DBCS/ExaCS DBCS/ExaCS
InTheCloud
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
WhatAreYourMainObjectives?• RecoveryPointObject(RPO)
– Howmuchdatacanyouaffordtolose,ever?
• RecoveryTimeObjective(RTO)– Howfastdoyouhavetobebackup?
• PerformanceLevelObjective(PLO)– Howwelldoyouexpecttoperformpost-event?
• PerceivedApplicationOutage(PAO)–Whatdoesanapplicationoutageactuallymean?
• Yes,Imadethelasttwoup.Buttheyarejustasimportant.
9
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ObjectivesForLocalFailuresAndCompleteDisasters• RTO=Hours/Days,RPO=Hours/Days,PLO=None?
– Bronze
• RTO=Seconds/Hours/Days,RPO=Days/Hours,PLO=Reduced?– Silver
• RTO=Seconds/Days,RPO=Seconds/Minutes,PLO=Similar/Reduced?– Silver+
• RTO=Seconds/Minutes,RPO=Zero/Seconds,PLO=Similar/Reduced?– Gold
• RTO=Zero,RPO=Zero,PLO=Exactlythesameallthetime?– Platinum
10
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
WhataboutPerceivedApplicationOutage(PAO)?• PAO=Totaloutage?
– Bronze
• PAO=SomewhatTransparent/Totaloutage?– SilverorSilver+
• PAO=MostlyTransparent?– Gold
• PAO=AlwaysTransparent?– Platinum
11
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
So,InSummary• Platinumrequires
– RTO=Zero– RPO=Zero– PLO=Exactlythesameallthetime– PAO=AlwaysTransparent
• Now,let’sgobuildthisbeast.
12
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
BuildingOracleDataGuardPlatinum
13
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
BuildingPlatinuminOracleDatabase12.2.0.1• Allocateatleast4DatabaseServersxNumberofRACnodesdesired
–OracleDatabase12.2.0.1andRAC,RACOneNodeorOracleRestart–Withtherequiredmemory,CPUsandStorage
• IftheseareintheOracleCloudInfrastructurethen,dependingontheiruserequirements,theStandbyscanbefewerCPUsandMemorythanthePrimaryastheycanbeincreasedatrolechangeevents.Storagewouldbethesamesizeandsameperformance
• Allocate4SmallerFarSyncservers–OracleDatabase12.2.0.1andOracleRestart– LessMemory,FewerCPUsandalotlessstoragebutwiththesameI/Ocapabilities
• Allocatenetworkconnectivitygreaterthanyourredogenerationrates• ConfigureTNSNAMESconnectivitybetweenall8+systems
14
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
SizingtheFarSyncServer• DiskrequiredforFarSyncinstanceisnegligible.
– RequiresdiskspacefortheStandbyRedoLogfiles– Spaceforarchivelogfilessufficienttohandlethelargestgapyouexpecttohappen.
• MemoryparameterscontrolledperSPFILE• I/OspeedoftheSRLdisksattheFarSyncismostimportant
– TheyneedtobefastifthePrimarygeneratesalotofredopersecond.
• RedotoTerminalStandbycanbecompressed–WillrequiremoreCPUandtheAdvancedCompressionOptionlicense
15
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 16
TheStartingConfiguration
Network
Prod ProdDG
Local LocalDG
FarSync2
FarSync1
FarSync4
FarSync3
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
EnsureThatYouHaveIsolation• ProdandLocalsystemsneedtobeclosebutisolatedfromeachother• ProdDG andLocalDG systemsneedtobecloseandisolatedaswell• Butbothpairsneedtoberemotefromeachother!• TheFarSyncsystemsalsoneedtofollowthesamerulesandbeisolatedfromtheirrespectivedatabases.– Youdon’twantalocalfailuretotakeoutmorethanoneobject
• Ifpossible
• Thismeansthatyouneedatleast2siteswith3datacenterseach– Fourormoredatacentersateachsitewouldbeevenbetter
17
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CanIdothisintheOracleCloudInfrastructure?• Yes.
– TheexamplesinthistalkwereexecutedonseveralsystemsintheOracleCloudInfrastructureClassic environment.• WhileitwaspossibletogettheisolationbetweenthemainanddisasterrecoverysitesitisnotpossibletoensurelocalisolationbetweenthedatabasesandtheFarSyncinstancesinClassic.
• FullycontrolledisolationispossibleintheOracleCloudInfrastructure.• Thenexttwoslideswillshowexamplesofhowtodothat.
18
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CreatingIsolatedDatabaseSystems• CreatetwoDBSystemsinoneRegionontwoAvailabilityDomains
19
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CreatingIsolatedFarSyncSystems• CreatetwoInstancesinthesameRegionastheDatabaseSystems
–Oneonthe3rd AvailabilityDomain(ThiswillbethemainFarSync)– TheotherontheLocalstandbyAvailabilityDomain(ThiswillbetheBackupFarSync)
20
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 21
SoFarYouHaveThis
Ashburn
AD1
AD2
AD3
Prod
Local
FarSync2
FarSync1
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 22
DoTheSameSetupinaDifferentRegion
Ashburn Phoenix
AD1
AD2
AD3
AD1
AD2
AD3
Prod ProdDG
Local LocalDG
FarSync2
FarSync1
FarSync4
FarSync3
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
SomeGroundRules• DuringthecreationoftheStandbyDatabasesandtheFarSyncInstances
– RemoveanyexistingDataGuardparametersfromthePrimary– DonotsetanyDataGuardparametersotherthantheBrokeronesonthenextslide.
• TheBrokerwillsetallthenecessaryparametersforyouafterwhichyoucanmodifythem.• AsofOracleDatabase12cRelease1theBrokerrequiresthatnoRedoTransportparameters(wheretheSERVICEattributeisused)bedefinedpriortocreatingtheBrokerconfiguration.– ‘Foreign’redodestinationsfordownstreamGoldenGate captureareOK.(NOREGISTERattribute)
– IfusingtheRMANduplicationmethodandyoucreateaDB_UNIQUE_NAMEstaticentryremembertoremoveitwhenyouaredone.
– ItnotusingOracleRestart,RACOneNodeorRACcreatethe“DB_UNIQUE_NAME_DGMGRL”staticentriesoneachdatabase system.
– Donotcreateany otherstaticentries.
23
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CreateTheStandbyDatabasesFromProd• OnthePrimarydatabase,dothefollowing
– AddStandbyRedoLogfiles• SotheygetcreatedoneachStandbyDatabaseandFarSync.
– SettheBrokerfileparameterscorrectlyasyoudonotwantthedefaults• dg_broker_config_file1=‘/u01/app/oracle/product/12.2.0/dbhome_1/dbs/dr1Prod_01.dat’• dg_broker_config_file2=‘/u01/app/oracle/product/12.2.0/dbhome_1/dbs/dr2Prod_01.dat’• ChangethedefaultsandremembertheymustbothbevisibletoallRACnodesofadatabase
– SettheBrokerStartparametertoTRUE• dg_broker_start =‘TRUE’
24
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CreatetheStandbyDatabases• OneachStandbysystemcreateaStandbyDatabase
– SeeMOSNote“CreatingaPhysicalStandbyDatabaseinan11.2,12.1,12.2orlaterenvironment”(DocID2275154.1)foryouroptions.
• InourexamplethesearethestandbysfromthePrimaryProd_01(onProd)– Prod_02(onProdDG)– Local_01(onLocal)– Local_02(onLocalDG)
25
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CreatetheFarSyncInstances• SamebasicprocedureastheStandbyDatabases
–WewillcreateFarSync_01,FarSync_02, FarSync_03, FarSync_04– Createvariousdirectories,theStaticentry,passwordfileandthetempinit.ora file– StarttheFarSyncInstanceNOMOUNT
26
rmanconnect target sys/password@Prod_01; # Primaryconnect auxiliary sys/password@FarSync_01; # FarSyncrun {
allocate channel prmy1 type disk;allocate auxiliary channel stby1 type disk;
duplicate target database for Farsync from active databasespfile
parameter_value_convert 'Prod','FarSync1'set 'db_name'='Prod'set 'db_unique_name'='FarSync_01'
nofilenamecheck;}
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 27
EverythingisReadybutnotTalkingtoEachOtherProd_01 Prod_02
Local_01 Local_02
FarSync_02 FarSync_04
Ashburn Phoenix
AD1
AD2
AD3
AD1
AD2
AD3
FarSync_01 FarSync_03
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
EnterTheOracleDataGuardBroker!• Thisiswhereyouwillfinderrorsifyoudidnotfollowtherules.
–MakesureyousettheBrokerparameterscorrectly.• Thefilelocation(directories)youspecifiedmustexistoneachdatabaseandFarSync• BothBrokerfilesoneachClustereddatabasemustbethesame2filesforallRACNodes!
• Basicflowisasfollows– Createtheconfiguration– Addthe3StandbyDatabases– Addthe4FarSyncInstances– ConfigureRedoTransport– Enabletheconfiguration– EnsureZeroDataLoss
28
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 29
Createtheconfiguration
[oracle@Prod-dg01 ~]$ dgmgrl sys/Password@prod_01DGMGRL for Linux: Release 12.2.0.1.0 - Production on Wed Aug 16 18:20:55 2017
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
Welcome to DGMGRL, type "help" for information.Connected to "Prod_01"Connected as SYSDBA.DGMGRL> create configuration “fsc” > as primary database is “Prod_01” > connect identifier is “Prod_01”;
Configuration "fsc" created with primary database "Prod_01"
MustconnecttothePrimarydatabase
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 30
Addthe3Standbydatabases
DGMGRL> add database “Prod_02” as connect identifier is “Prod_02”;
Database "Prod_02" added
DGMGRL> add database “Local_01” as connect identifier is “Local_01”;
Database "Local_01" added
DGMGRL> add database “Local_02” as connect identifier is “Local_02”;
Database "Local_02" added
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 31
Addthe4FarSyncInstancesDGMGRL> add far_sync "FarSync_01" as connect identifier is FarSync_01;
far sync instance "FarSync_01" added
DGMGRL> add far_sync "FarSync_02" as connect identifier is FarSync_02;
far sync instance "FarSync_02" added
DGMGRL> add far_sync "FarSync_03" as connect identifier is FarSync_03;
far sync instance "FarSync_03" added
DGMGRL> add far_sync "FarSync_04" as connect identifier is FarSync_04;
far sync instance "FarSync_04" added
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 32
TheCurrentConfigurationDGMGRL> show configuration;
Configuration - fsc
Protection Mode: MaxPerformanceMembers:Prod_01 - Primary database
Prod_02 - Physical standby databaseLocal_02 - Physical standby databaseLocal_01 - Physical standby databaseFarSync_01 - Far sync instanceFarSync_02 - Far sync instanceFarSync_03 - Far sync instanceFarSync_04 - Far sync instance
Fast-Start Failover: DISABLED
Configuration Status:DISABLED
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 33
ThisisTooMuchTalkingGoingOn(IfEnabled)Prod_01(Primary) Prod_02
Local_01 Local_02
FarSync_01
FarSync_02
FarSync_03
FarSync_04
Ashburn PhoenixSYNC
ASYNC
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 34
FixRedoTransport– Ashburn toPhoenixDGMGRL> edit far_sync "FarSync_01" set property redoroutes=‘(Prod_01 : Local_01, (FarSync_03, FarSync_04, Prod_02, Local_02))(Local_01 : Prod_01, (FarSync_03, FarSync_04, Prod_02, Local_02)) (Prod_02 : Prod_01, Local_01) (Local_02 : Prod_01, Local_01)';Property "redoroutes" updated
DGMGRL> edit far_sync "FarSync_02" set property redoroutes=‘(Prod_01 : Local_01, (FarSync_03, FarSync_04, Prod_02, Local_02))(Local_01 : Prod_01, (FarSync_03, FarSync_04, Prod_02, Local_02)) (Prod_02 : Prod_01, Local_01) (Local_02 : Prod_01, Local_01)';Property "redoroutes" updated
DGMGRL> edit database "Prod_01" set property redoroutes=‘(Local: (FarSync_01 SYNC, FarSync_02 SYNC, Prod_02, Local_01 SYNC, Local_02))';Property "redoroutes" updated
DGMGRL> edit database "Local_01" set property redoroutes=‘(Local: (FarSync_01 SYNC, FarSync_02 SYNC, Prod_02, Prod_01 SYNC, Local_02))';Property "redoroutes" updated
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 35
FixRedoTransport– Phoenix toAshburnDGMGRL> edit far_sync "FarSync_03" set property redoroutes=‘(Prod_02 : Local_02, (FarSync_01, FarSync_02, Prod_01, Local_01)) (Local_02 : Prod_02, (FarSync_01, FarSync_02, Prod_01, Local_01)) (Prod_01 : Prod_02, Local_02) (Local_01 : Prod_02, Local_02)';Property "redoroutes" updated
DGMGRL> edit far_sync "FarSync_04" set property redoroutes=‘(Prod_02 : Local_02, (FarSync_01, FarSync_02, Prod_01, Local_01)) (Local_02 : Prod_02, (FarSync_01, FarSync_02, Prod_01, Local_01)) (Prod_01 : Prod_02, Local_02) (Local_01 : Prod_02, Local_02)';Property "redoroutes" updated
DGMGRL> edit database "Prod_02" set property redoroutes=‘(Local: (FarSync_03 SYNC, FarSync_04 SYNC, Prod_01, Local_01, Local_02 SYNC))';Property "redoroutes" updated
DGMGRL> edit database "Local_02" set property redoroutes=‘(Local: (FarSync_03 SYNC, FarSync_04 SYNC, Prod_02 SYNC, Prod_01, Local_01))';Property "redoroutes" updated
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
EnabletheConfigurationandRaisetheProtectionMode• EnabletheConfiguration
• SincewehavesetSYNCtotheFarSyncwecanraisetheProtectionMode
36
DGMGRL> enable configuration;Enabled.
DGMGRL> edit configuration set protection mode as MaxAvailability;Succeeded.
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 37
The‘Enabled’ConfigurationDGMGRL> show configuration;Configuration - fsc
Protection Mode: MaxAvailabilityMembers:Prod_01 - Primary database
FarSync_01 - Far sync instanceLocal_01 - Physical standby databaseFarSync_03 - Far sync instance
Prod_02 - Physical standby databaseLocal_02 - Physical standby database
Members Not Receiving Redo:FarSync_02 - Far sync instance (alternate of FarSync_01)FarSync_04 - Far sync instance (alternate of FarSync_03)
Fast-Start Failover: DISABLED
Configuration Status:SUCCESS (status updated 11 seconds ago)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 38
The‘Enabled’ConfigurationDGMGRL> show configuration;Configuration - fsc
Protection Mode: MaxAvailabilityMembers:Prod_01 - Primary database
FarSync_01 - Far sync instanceLocal_01 - Physical standby databaseFarSync_03 - Far sync instance
Prod_02 - Physical standby databaseLocal_02 - Physical standby database
Members Not Receiving Redo:FarSync_02 - Far sync instance (alternate of FarSync_01)FarSync_04 - Far sync instance (alternate of FarSync_03)
Fast-Start Failover: DISABLED
Configuration Status:SUCCESS (status updated 11 seconds ago)
CurrentPriority1
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 39
NowWe’reTalking!Prod_01(Primary) Prod_02
Local_01 Local_02
FarSync_02 FarSync_04
Ashburn PhoenixSYNC
ASYNC
FarSync_01 FarSync_03
ShiponceacrosstheWAN!
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 40
Prod_01Primary
DGMGRL> show configuration when primary is "Prod_01";
Configuration when Prod_01 is primary - fsc
Members:Prod_01 - Primary databaseFarSync_01 - Far sync instanceLocal_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby databaseLocal_02 - Physical standby database
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby databaseLocal_02 - Physical standby database
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_02 - Far sync instance (alternate of FarSync_01)Local_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_01 - Physical standby database (alternate of FarSync_01)Local_02 - Physical standby database (alternate of FarSync_03)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 41
Prod_01Primary
DGMGRL> show configuration when primary is "Prod_01";
Configuration when Prod_01 is primary - fsc
Members:Prod_01 - Primary databaseFarSync_01 - Far sync instanceLocal_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby databaseLocal_02 - Physical standby database
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby databaseLocal_02 - Physical standby database
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_02 - Far sync instance (alternate of FarSync_01)Local_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_01 - Physical standby database (alternate of FarSync_01)Local_02 - Physical standby database (alternate of FarSync_03)
Priority1
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 42
Prod_01Primary
DGMGRL> show configuration when primary is "Prod_01";
Configuration when Prod_01 is primary - fsc
Members:Prod_01 - Primary databaseFarSync_01 - Far sync instanceLocal_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby databaseLocal_02 - Physical standby database
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby databaseLocal_02 - Physical standby database
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_02 - Far sync instance (alternate of FarSync_01)Local_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_01 - Physical standby database (alternate of FarSync_01)Local_02 - Physical standby database (alternate of FarSync_03)
Priority8
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 43
Prod_01Primary
DGMGRL> show configuration when primary is "Prod_01";
Configuration when Prod_01 is primary - fsc
Members:Prod_01 - Primary databaseFarSync_01 - Far sync instanceLocal_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby databaseLocal_02 - Physical standby database
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby databaseLocal_02 - Physical standby database
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_02 - Far sync instance (alternate of FarSync_01)Local_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_01 - Physical standby database (alternate of FarSync_01)Local_02 - Physical standby database (alternate of FarSync_03)
FinalPriority8
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 44
Local_01Primary
DGMGRL> show configuration when primary is "Local_01";
Configuration when Local_01 is primary - fsc
Members:Local_01 - Primary databaseFarSync_01 - Far sync instanceProd_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby databaseLocal_02 - Physical standby database
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby databaseLocal_02 - Physical standby database
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_02 - Far sync instance (alternate of FarSync_01)Prod_01 - Physical standby databaseFarSync_03 - Far sync instanceProd_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Local_02 - Physical standby database (alternate of FarSync_03)
Prod_02 - Physical standby database (alternate of FarSync_03)Prod_01 - Physical standby database (alternate of FarSync_01)Local_02 - Physical standby database (alternate of FarSync_03)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 45
Prod_02Primary
DGMGRL> show configuration when primary is "Prod_02";
Configuration when Prod_02 is primary - fsc
Members:Prod_02 - Primary databaseFarSync_03 - Far sync instanceLocal_02 - Physical standby databaseFarSync_01 - Far sync instanceProd_01 - Physical standby databaseLocal_01 - Physical standby database
FarSync_02 - Far sync instance (alternate of FarSync_01)Prod_01 - Physical standby databaseLocal_01 - Physical standby database
Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
FarSync_04 - Far sync instance (alternate of FarSync_03)Local_02 - Physical standby databaseFarSync_01 - Far sync instanceProd_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
FarSync_02 - Far sync instance (alternate of FarSync_01)Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)Local_02 - Physical standby database (alternate of FarSync_03)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 46
Local_02Primary
DGMGRL> show configuration when primary is "Local_02";
Configuration when Local_02 is primary - fsc
Members:Local_02 - Primary databaseFarSync_03 - Far sync instanceProd_02 - Physical standby databaseFarSync_01 - Far sync instanceProd_01 - Physical standby databaseLocal_01 - Physical standby database
FarSync_02 - Far sync instance (alternate of FarSync_01)Prod_01 - Physical standby databaseLocal_01 - Physical standby database
Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
FarSync_04 - Far sync instance (alternate of FarSync_03)Prod_02 - Physical standby databaseFarSync_01 - Far sync instanceProd_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
FarSync_02 - Far sync instance (alternate of FarSync_01)Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
Prod_02 - Physical standby database (alternate of FarSync_03)Prod_01 - Physical standby database (alternate of FarSync_01)Local_01 - Physical standby database (alternate of FarSync_01)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CanYouDoThisWithoutTheBroker?• Yes,butdon’t.
– TheBrokerdynamicallyaddsthefollowingLOG_ARCHIVE_DEST_n parameters• FiveparametersProd_01• FiveparametersonFarSync_01andFarSync_02• TwoparametersonFarSync_03andFarSync_04
–WithouttheBrokeryouwouldneedtoconfigureall theparametersyourself• FiveparametersonProd_01• FiveparametersonLocal_01• FiveparametersonProd_02• FiveparametersonLocal_02• SevenparametersonFarSync_01andFarSync_02• SevenparametersonFarSync_03andFarSync_04
47
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
WillOracleCloudInfrastructureDoThisForMe?• We’reworkingonit.
– HAorDRstandbysarepossibletoday• Soonyouwillbeabletodoacombinationofbothautomatically
– AutomaticFailover(FSFO)iscoming(LocalorRemote)– RemoteZeroDataLossiscoming(FarSync)
• BuildingoutDataGuardPlatinumisonthebooks
48
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
So,WhatHaveWeAchieved?• RTO=Zero?
– Planned- “Zero”withService/SessionDraining,reasonablytransparent– SeePAO– Unplanned- Disconnect/LossofInflightTransaction
• EvenwithFast_Start Failover(FSFO)- LocalorRemote
• RPO=Zero?– Planned– Zero– Unplanned– Zero,unlessthereisatotalfailureofthecurrentproductionsite
• PLO=Exactlythesameallthetime?- Check!• PAO=AlwaysTransparent?
– Planned– Check,butwitha‘pause’:Unplanned– VisibleandnotZero
49
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CurrentRTOCapabilities• Plannedeventsrequireaswitchover(The‘pause’butnodisconnect)
–O/SUpgrades– GridInfrastructure– RDBMS(StandbyFirstPatchingandRollingUpgrades)– ApplicationUpgrades(Noswitchoverrequiredhere)
• WhendonedirectlyinthePrimarydatabaseusingEditionBasedRedefinition(EBR)
• Unplannedevents– CurrentRead/Writeusersexperienceatransactionlossanddisconnect– ReadersontheActiveDataGuardFailoverStandbycontinuewithapause.– ReadersonbystanderActiveDataGuardStandbysseenointerruption
50
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CurrentRPO Capabilities• PlannedEvents
– RPOisalwaysZerosinceaDataGuardSwitchoverisalwaysZeroDataLoss
• UnplannedEvents– ProductionFailure
• RPOisZero
– ProductionTotalSiteFailure• Zero,aslongasyouprotectthe‘Production’FarSyncsfromanyfailure
– Otherwiseafailovertotheremotestandbywillresultinsomedataloss.
51
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ImproveRTO&PAOwithApplicationContinuity• CombinedwithSyncFastStartFailover(FSFO),ApplicationContinuitycanrenderanunplannedfailuretransparenttotheapplication– RTO=Zero– RPO=Zero
• HoweverFSFOcanonlyprovidethislocallyorremotelywithourconfiguration,notboth.– ThismeansProd_01toLocal_01(Locally)orProd_01toProd_02(Remotely).
• Prod_01toProd_02requiresthattheFarSync_01orFarSync_02weresynchronizedatfailuretime.• Prod_02toProd_01requiresthesameforFarSync_03orFarSync_04.
52
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 53
WithApplicationContinuity- LocalProd_01(Primary) Prod_02
Local_1 Local_02
FarSync_02 FarSync_04
Ashburn PhoenixSYNC
ASYNC
ApplicationContinuityRTO=0
ObserverFarSync_01 FarSync_03
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 54
WithApplicationContinuity– OrRemoteProd_01(Primary) Prod_02
Local_01 Local_02
FarSync_02 FarSync_04
Ashburn PhoenixSYNC
ASYNC
ApplicationContinuityRTO=0
Observer
FarSync_01 FarSync_03
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ExtendedFSFOFeaturesinOracleDatabase12.2• MultipleObserverscanbestarted
–Maximumof3–Onlyoneisthemasteratanytime– ChangingthemasterrequirescommunicationwiththePrimary
• MultipleStandbyTargetscanalsobedefined– Ifthecurrenttargetfails,anotherstandbyinthelistischosen– ChangingthetargetrequirescommunicationwiththePrimary– SoLocal_01,Prod_02andLocal_02canbetargets,inthatorder
• IfLocal_01failsFSFOwillbesetupbetweenProd_01andProd_02
– RequiresthattheapplicationtiercanseebothforApplicationContinuitytowork
55
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
HowDoWe“KickItUpaNotch”?• CurrentlytheStandbydatabasesareavailableforReadTransactions
– AncillaryDMLisalsopossiblebutnotfullapplicationtransactions
• ToimproveRTOyouneedtointroduceGoldenGate– No[Active– Passive]asitbuysyounothing.– Full[Active– Active]isrequired,completewithconflictdetectionandresolution
• PlannedEvents–MakesPAOfullytransparentforPlannedEvents
• Usersmoveastheybecomeidle
• UnplannedEvents– Totalgeographicfailures,50%ofuserslosetheirtransactionanddisconnect
56
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 57
CreateTwoDistinctBrokerConfigurationsProd_01(Primary) Prod_02(Primary)
Local_01 Local_02
FarSync_02 FarSync_04
Ashburn PhoenixSYNC
ASYNC
Observer Observer
GoldenGate
GoldenGate Active- Active
FarSync_01 FarSync_03ApplicationContinuity
ApplicationContinuity
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
NowWhereAreWe?• RTO=Zero?
– Planned– Zero,Usersmovewhenready,nodisconnect,notransactionloss– Prod_01orProd_02Unplanned– Zero,WithFSFOandApplicationContinuity– GeographicUnplanned– 50%disconnectandlosetransactions
• RPO=Zero?– Planned– Zero– Unplanned– Zeroforanysinglefailure.Butnotzeroforageographicalfailure.
• PLO=Exactlythesameallthetime?- Check!• PAO=AlwaysTransparent?
– Planned?Check- Unplanned?NotZerothroughallfailures
58
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
WhatistheNextStep?• TogettheRTOto100%zero
–WeneedApplicationContinuitybetweenthetwoGoldenGate databases.• We’renotthereyet.
• TogettheRPOto100%zero– Bothsidesoftheconfigurationneedtohavezerodatalossstandbysoutsidetheirgeographicallocations.• Thismeanstwomorestandbys.• Remember- Zero,aslongasyouprotectthe‘Production’FarSyncsfromanyfailure
– Otherwiseafailovertotheremotestandbywillresultinsomedataloss.
59
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 60
AddtheTwoStandbyDatabasesProd_01(Primary) Prod_02(Primary)
Local_01 Local_02
FarSync_02 FarSync_04
Ashburn PhoenixSYNC
ASYNC
Observer Observer
GoldenGate
GoldenGate Active- Active
FarSync_01 FarSync_03
Remote_02 Remote_01
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
BuildingPlatinuminOracleDatabase12.2.0.1• FromBronzetoPlatinumisquiteanevolution• WhenyourBosssays“IwantRTO=0andRPO=0”
– Youneedtounderstandwhatthatactuallymeans.– Askdetailedquestions
• WhatexactlydoesRTOofZeromean?• IsthereanyflexibilityintheRPOofZero?• WhatdotheyconsiderthePLOtobe?• AndisthereanyvariationinwhatweconsiderthePAO?
– You’llneedtointroducethatone!
– Andrespondaccordingly• Whattheyareaskingforisnotcheap
61
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Review- DataGuard12.1NewFeaturesSummary• DataGuard
– SYSDGRoleforDataGuardspecificoperations– MultitenantDatabaseStandbys– DefaultRealTimeApply– TransparentOnlineDatafilemovement– SingleSQL*PlusSwitchovercommand– NoPrimaryinstanceshutdownforswitchover– FastSync (SYNCNOAFFIRM)– EnhancedExtendedDatatype Supportforupgrades– LogicalStandbysupportforadditionaldatatypes
• XMLType dataforallstoragemodels,OracleSpatial,OracleMultimedia,OracleText,ObjectsandCollections(includingVARRAYsandnestedcollections),DatabaseFileSystem(DBFS),XDB,OracleSecureFiles (deduplication),andUser-definedtypes.
– DBMS_SCHEDULERsupportforRollingUpgrades– BrokerVALIDATEDATABASEcapability– EnhancedBrokerconfiguringwithRedoRoutes– BrokerResumable switchover– NewBrokerObserverpropertiesandcapabilities– BrokersupportofCascadingRedodestinations
• ActiveDataGuard– RealTimeCascadingRedodestinations– WANDistanceZeroDataLosswithFarSync– GlobalTemporaryTableDMLonastandby– Sequences(globalandsession)onastandby– DBMS_ROLLINGautomatedrollingupgrades– SupportforOracleApplicationContinuity– SupportforOracleGlobalDataServices
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Review- DataGuard12.2NewFeaturesSummary• DataGuard
– UseDBCAandEMCLItocreateStandbys– UseRMANandEnterpriseManagertocreateFarSync
InstancesinadditiontoStandbys– RestInterfacetotheDataGuardBroker– CheftoolstocreateandmanageDataGuardstandbys– ScriptingwiththeBrokerDGMGRLcommandlineinterface– EasilycreatingSubsetStandbydatabasesinMultitenant– MigrateandFailoverPDBswiththeBroker– AutomaticPasswordFilemanagement– EasyrepairofNoLoggingoperations– DataFileBlockComparisonbetweenPrimaryandStandby– MultipleFSFOTargetsandObservers– FSFOinMaximumProtectionmode– ZeroDataLossFailoversinanymodewithStorageFailures– EnhancedcontrolofAlternatedestinations– ConverttoTDEeasilywithlittleornodowntime
• ActiveDataGuard– UsingallyourStandbyInstancestoapplyredo– DataGuardBrokerSupportandinvolvementinDBMS_ROLLING
controlledrollingupgrades– UsetheInMemoryColumnStoreonyourStandby– UseAWRandSQLTuningAdvisortodiagnoseandtuneRedo
ApplyandQueryissuesonyourActiveDataGuardStandby– MoveuserstransparentlyduringrolechangewithSession
DrainingonthePrimaryandPreservingexistingconnectionsattheActiveDataGuardStandby
– MoreprotectionwithAutoBlockrepairenhancements
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Q&A
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
SafeHarborStatementTheprecedingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andtimingofanyfeaturesorfunctionalitydescribedforOracle’sproductsremainsatthesolediscretionofOracle.
65
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 66