Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
SafeHarborStatement
Thefollowingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,timing,andpricingofanyfeaturesorfunctionalitydescribedforOracle’sproductsmaychangeandremainsatthesolediscretionofOracleCorporation.
2
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
Oracle(Active)DataGuardBestPracticesandNewFeaturesDeepDive
MaheshGirkar,SeniorDirector,DatabaseHADevelopmentNitinKarkhanis,Director,DataGuardBrokerDevelopmentOctober22,2018
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
IncludedwithOracleDatabaseEnterpriseEditionDataGuard:Real-timeDataProtectionandAvailability
PrimaryDataCenter DRDataCenter
AutomaticBlockRepair
DataGuardBroker(EnterpriseManagerCloudControlorDGMGRL)
4
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
AlicensableoptiontotheOracleDatabaseEnterpriseEditionActiveDataGuard:AdvancedCapabilities
Zerodatalossatanydistance
PrimaryDataCenter DRDataCenter
AutomaticBlockRepair
DataGuardBroker(EnterpriseManagerCloudControlorDGMGRL)
OffloadFastIncrementalBackups
Offloadread-onlyworkloadtoopenstandbydatabase
5
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
What’snewwithOracle(Active)DataGuardin18c?
ApeekatthefutureofOracle(Active)DataGuard.
1
2
6
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
What’snewwithOracle(Active)DataGuardin18c?
ApeekatthefutureofOracle(Active)DataGuard.
1
2
7
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
(Active)DataGuardNewFeatures
• Multi-InstanceRedoApplyEnhancement• ExtendActiveDataGuard(ADG)environmentsforDataWarehousing• Fasterapplicationresponseafteraroletransition• ProtectPrimarydatabasefromlostwritestoragefailures• ExtendthefootprintofActiveDataGuardapplications• Betterprotectionagainstfailedlogins
8
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
Multi-InstanceRedoApplyEnhancements• IntroducedinOracleDatabase12cRelease2
• Multi-InstanceRedoapplynowworkswithBlockChangeTrackingenabled– BlockChangeTrackingonastandbyrequiresanActiveDataGuardlicense
9
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
DataGuardandDatabaseNologgingImprovements*
• TwonewmodesareaddedasalternativestotheFORCELOGGINGmode:1. StandbyNologgingforLoadPerformance• Ensuresthatstandbyswillreceivethenonloggeddatachangeswithminimumimpacttothespeed
ofloadingattheprimary.• Thestandbycantransientlyhavenonloggedblocks.Thesenonloggedblockswillbeautomatically
resolvedbymanagedstandbyrecovery.2. StandbyNologgingforDataavailability• Ensuresthatallstandbyshavethedatawhentheprimaryloadcommits,butatthecostof
throttlingthespeedofloadingdataattheprimary.• Thestandbyswillneverhaveanynonloggedblocks.– ThesenewmodescauseMulti-InstanceRedoApplytoreturnanerror• SingleInstanceRedoapplymustbemanuallyenabledtoproceedpastthenologgingoperation.
10
*AvailableonEngineeredSystemsandOracleCloudonly
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
PreserveBufferCacheDuringRoleChange*
• ThedatabasebuffercachestatewillbemaintainedonanADGstandbyduringarolechange• Automatic,nothingtosetup– ServicesneedtobeconfiguredcorrectlysothatuserswhostayconnectedareonaservicethatisvalidinbothPHYSICAL_STANDBYandPRIMARYroles.
*FirstReleaseCaveat:Onlyavailableonnon-RACActiveDataGuardstandbydatabases.
11
Read/Write Read
Read/Write
ActiveDataGuardStandby
PrimaryFailedPrimary
Primary
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
LostwriteprotectiononPrimary• Lostwritescauseseriouscorruptionsduetostaleblocksappearingasgood– Applicationsrunningontheprimarycanget“incorrect”staledata.– Priorfeaturesfocusedondetectionoflostwritesonthestandbyduringredoapply.• Thiscausesdatalossdilemmas,iftimeelapsesbetweenoccurrenceoflostwriteanditsdetection.
• Lostwritedetectiononprimarypreventsinconsistenciesfromspreading• DatabaserecordsSCNofdatablockbeingwrittenina“shadowblock”– Requirestheconfigurationofanewtablespacetypecalled“shadowtablespace”thatcontainsshadowblocks– TheSCNofdatablocksthatarereadintothebuffercachearevalidatedwithitsSCNsavedintheshadowblocks– Designisefficientandhasminimaloverhead
• Standbysremainintact!Applicationsdonotgetinconsistentresults!Noneedtofailover!
12
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
CreatingPrivateTemporaryTablesonActiveDataGuard• CreatingPrivate(Local)TemporaryTablesissupportedonanActiveDataGuardstandbydatabase– Theyarestoredinmemoryonthestandby– Visibleonlytothesessionthatcreatedit– Droppedattheendofatransactionorsession
13
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
ControlLogin-AttemptsonActiveDataGuard• TheADG_ACCOUNT_INFO_TRACKINGparameterextendsthecontrolofuseraccountsecurityinformationandreaction– ‘LOCAL’(defaultvalue)continuestoenforcetheexistingbehavior• Maintainslocalcopyofusersaccountinformationinthestandby'sin-memoryview– Loginfailuresareonlytrackedlocallyonaperdatabasebasis– Loginsaredeniedwhenthefailuremaximumisreached
– ‘GLOBAL’triggersthenew,securebehavior• MaintainsasingleglobalcopyofusersaccountinformationacrossallDataGuarddatabases– LoginfailuresacrossalldatabasesintheDataGuardconfigurationcounttowardsthemaximumcount– Loginsanywherewillbedeniedwhenthecountisreached
14
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
NewDataGuardBrokerCommands
• EnhancedScriptingandExecutioncommands• NewVALIDATEcommands
15
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.| 16
SHOWALL
DGMGRL> show all; debug OFF
echo OFF time OFF
observerconfigfile = observer.ora
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.| 17
SETDEBUGON|OFFDGMGRL> set debug on;
DGMGRL> connect sys/@boston;
Password:********
[W000 2018-09-28T10:07:10.924-04:00] Connecting to database using boston.
[W000 2018-09-28T10:07:10.924-04:00] Attempt logon as SYSDBA
[W000 2018-09-28T10:07:11.318-04:00] Successfully logged on as SYSDBA
.
.
.
Connected as SYSDBA.
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
SETECHOON|OFF
DGMGRL> set echo off; DGMGRL> edit database boston set property logxptmode=async;
Property "logxptmode" updated DGMGRL> set echo on; DGMGRL> edit database boston set property logxptmode=sync; edit database dgc2 set property logxptmode=sync; Property "logxptmode" updated
18
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
SETTIMEON|OFF
DGMGRL> set time on; DGMGRL 10:21:04> failover to boston; Performing failover NOW, please wait… Failover succeeded, new primary is “Boston”
DGMGRL 10:21:25>
19
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
DGMGRLScripting
Script File: commands.cli
set echo on connect /@boston;
edit database boston set property logxptmode=sync;
20
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
DGMGRLScripting
DGMGRL> @commands.cli connect /@boston;
Connected to ”boston" Connected as SYSDG.
edit database boston set property logxptmode=sync; Property "logxptmode" updated
21
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
VALIDATEDATABASESPFILE– Validatesparametersettingsbetweentheprimaryandastandbydatabase
– Goodresultànodifferences
22
DGMGRL> validate database boston spfile ; Connecting to “boston”.
Connecting to “newyork”.
No parameter differences found.
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.| 23
VALIDATEDATABASESPFILE(Cont’d) DGMGRL> validate database newyork spfile ; Connecting to ”boston".
Connecting to ”newyork".
Parameter settings with different values: aq_tm_processes: boston (PRIMARY) : 8 newyork : 9
use_large_pages:
boston (PRIMARY) : TRUE newyork : NOT SPECIFIED
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
VALIDATENETWORKCONFIGURATION• Validatesthenetworksetupbetweenalldatabasesintheconfiguration
24
DGMGRL> validate network configuration for boston; Connecting to instance ”bos" on database ”boston" ... Connected to ”boston"
Checking connectivity from instance ”bos" on database ”boston to instance ”den" on database ”denver"...
Succeeded. Connecting to instance ”den" on database ”denver" ...
Connected to ”denver" Checking connectivity from instance ”den" on database ”denver to instance ”bos" on database ”boston"...
Succeeded. Oracle Clusterware on database ”boston" is available for database restart.
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
VALIDATESTATICCONNECTIDENTIFIER• Validatesthestaticconnectidentifiersetupinunmanagedenvironments– AppliestodatabasesintheDataGuardconfigurationthatdonotuse• OracleRAC• RACOneNode• OracleRestart
– RequiresastaticentrysothattheBrokercan• Restartadatabaseduringswitchover• ConvertfromSnapshotStandbybacktoPhysicalStandby• Reinstateafailedprimaryasastandby
• AlsorunaspartofVALIDATENETWORKCONFIGURATION,ifnecessary
25
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
What’snewwithOracle(Active)DataGuardin18c?
ApeekatthefutureofOracle(Active)DataGuard.
1
2
26
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|
(Active)DataGuardFeaturesfortheFuture
• ImprovedDataGuardMulti-InstanceRedoApply• ActiveDataGuardDMLRedirection• NewParametersfortuningautomaticoutageresolutionwithDataGuard• BufferCacheonActiveDataGuardpreservedafterroletransitionforRAC• FlashbackDatabaseenhancementswithDataGuard
27
Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.|