Oracle Database Patching

Werbung
OracleDatabasePatching
DOAGRegionaltreffenBremen,26.01.2017
Dr.NorbertLeiendecker
PrincipalSalesConsultantPublicSector
ArchitectsforCloud&IT-Technologies
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
OraclePatcharten–Welcheristderrichtige?
CPU
SPU
PSU
BP
DBBP
QFSDP
PSR
„Würdestdumirbittesagen,wieichvonhierausweitergehensoll?“
„DashängtzumgroßenTeildavonab,wohindumöchtest“,sagtedieKatze
LewisCarroll,„AliceimWunderland“
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
3
GuterStartpunktzumentlanghangeln...
• MOS-Note1962125.1
OverviewofDatabasePatchDeliveryMethods
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
4
Begriffserläuterungen–TestartenvonPatches
• FunktionaleTests
– TesteinesspeziellenBereichs(FeatureoderTeilbereicheinesFeatures)
– RegressionTest=>Ergebnis/VerhalteneinerOperationentsprichtdenErwartungen?
• StressTests
– LasttestsbisandieGrenzenderRessourcen
• PerformanceTests
– VerschiedeneWorkloadsundFeatures
– PerformancemessungspeziellerOperationen(„Atomics“Tests)
– GesamtperformancespeziellerWorkloads/Features
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
5
Begriffserläuterungen-VersionsNummern
Term
VersionNumber
Example
MajorRelease
First2digitsoftheversion
11.2
BaseRelease
First4digitsofaMajorRelease
11.2.0.1
PatchSetRelease(PSR)
4thdigitoftheversion
11.2.0.4
PatchSetUpdate(PSU)
5thdigitofaversion
11.2.0.4.160419
5thdigitofaversion+textto
indicatewhichseriesofbundle
ExadataDatabaseBundlePatch
11.2.0.4.160419
Designatedbyamonth/year
11.2.0.4Jan2015SPU
BundlePatch(BP)
SecurityPatchUpdate(SPU)
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
6
GrundlegendePatch-Arten
ReaktivProaktiv
• InterimPatches(historisch“One-Off”)
• behebenBugsvongravierender
Auswirkung
– Spez.Form“DiagnosticPatch”
• FürKombinationaus“Defekt+Version+
Plattform”
• kontrolliertesRisikodurchintensiveQS
• durchlaufeneinfacheQS-Tests
• Verfügbaraufsupport.oracle.comàTab.
"Patches&Updates"
• werdeninnächstesrelevantesPatch-SetReleaseintegriert
– WennDeadlinefürPatch-Setschonerreicht,wird
Interims-PatchinübernächstesPatch-Set-Release
integriert
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
7
ReaktivePatches
• SonderformistOnline-bzw.Hot-Patchingfähig
– EnthältnureinesharedLibrary
• KanngegenlaufendeRDBMSInstanzinstalliertwerden
• opatch apply online –connectString <SID>:<USERNAME>:<PASSWORD>
• PatchOnline-fähig?
– README
– cd<patchdir>;opatchquery–allonline=>„Patchisanonlinepatch:true“
• MOS-Note761111.1–„RDBMSOnlinePatchingAkaHotPatching“
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
8
ProaktivePatches
• SecurityPatchUpdate(SPU)
• PatchSetUpdate(PSU)
• BundlePatch(BP)
• DatabaseProactiveBundlePatch(DBBP)
• ComboPatch
• QuarterlyFullStackDownloadPatch(QFSDP)
• AndereproaktivePatches
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
9
PatchSetUpdate–PSU
2/2
• InklusiveSecurity-Fixes
– „OraclewillissueSecurityAlertsforvulnerabilityfixesdeemedtoocriticaltowaitfordistributioninthenextCriticalPatch
Update.“
– AutomatischeBenachrichtigungüberSecurityAlertskannabonniertwerden
– Anleitung:http://www.oracle.com/technetwork/topics/security/securityemail-090378.html
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
18
Sonderfall„ProaktivePatches“–PSRbzw.Patchset
• PatchSetRelease-PSR
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
11
Sonderfall„ProaktivePatches“-PSR
• PatchSetRelease–PSR
• „PatchSet“irreführend,daFullRelease!
• Überotn.oracle.comnormalerweisenurDownloaddesBasis-Releases
– Z.B.11.2.0.1viaOTN,11.2.0.4nurüberMOS
• Out-of-Place=>InstallationinneuesOracleHome
• In-placesupported,abernichtempfohlen
• GIUpgradesimmerOut-of-Place
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
12
SecurityPatchUpdate-SPU
• SammlungvonSecurity-Fixes(ehemalsCriticalPatchUpdates=CPUs)
• Rhythmus:vierteljährlich
• StetsRACRollingund„StandbyFirst“installierbar
DatabaseSPUslaufenmit12caus
=>Ab12.1.0.1Security-FixesinBundlePatchoderPSUintegriert
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
13
...UnddochwiederCPU??
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
14
Beispiele
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
24
DBBP
„opatchlspatches“zeigt
nichtdieseNummer,
sonderndiese
goofy*emrep-/u01/app/oracle/product/12102/dbhome_1/OPatch
>./opatch lspatches
24846605;OCW Interim patch for 24846605
24340679;DATABASE BUNDLE PATCH: 12.1.0.2.161018 (24340679)
21555660;Database PSU 12.1.0.2.5, Oracle JavaVM Component (Oct2015)
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
25
PatchSetUpdate–PSU
1/2
• SammlungvonFixesfürkritischeBugs
• InklusiveSecurity-Fixes
• EnthältkeineÄnderungendesOptimizers
• EnthältkeineÄnderungen,dieApplikationenbeeinflussen
• KannmehrereKomponentendesStacksbeinhalten(z.B.GIPSU=GI+DB)
• Rhythmus:vierteljährlich(Dienstag,der17.Jan/Apr/Jul/Oktamnächstenliegt)
– http://www.oracle.com/technetwork/topics/security/alerts-086861.html-CriticalPatchUpdates
• kumulativ
• DBPSUundGIPSUstetsRACRollingund„StandbyFirst“installierbar
• OJVMPSUwederRACRollingnoch„StandbyFirst“installierbar
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
17
PatchSetUpdate–PSU
2/2
• InklusiveSecurity-Fixes
– „OraclewillissueSecurityAlertsforvulnerabilityfixesdeemedtoocriticaltowaitfordistributioninthenextCriticalPatch
Update.“
– AutomatischeBenachrichtigungüberSecurityAlertskannabonniertwerden
– Anleitung:http://www.oracle.com/technetwork/topics/security/securityemail-090378.html
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
18
BundlePatch-BP
• SammlungvonFixesfürBugseinesFeatures,ProduktsoderKonfiguration
– z.B.WindowsDatabaseBundlePatch,DatabasePatchforExadata,
DatabaseProactiveBundlePatch(DBBP)
• ObermengevonPSU
• KannmehrereKomponentendesStacksbeinhalten
– z.B.DatabasePatchforExadata=>FixesfürDatenbankundGridInfrastruktur
• Rhythmus:vierteljährlich
• StetsRACRollingund„StandbyFirst“installierbar
• SeitApril2016:„DatabasePatchforEngineeredSystems“und„DatabaseIn-Memory“
umbenanntin„DatabaseProactiveBundlePatch“
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
19
ComboPatches
• KombinationausOJVMPSUund
– DBBP
– GIPSU
– DBPSU
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
32
opatchautoundopatch
• OpatchUser‘sGuideinEMCC12cR5-Doku
– http://docs.oracle.com/cd/E24628_01/doc.121/e39376/toc.htm
• MasterNoteForOpatch(DocID293369.1)
• opatch:Java-basiertesToolzumPatchen/Rollback
• opatchauto:PatchOrchestrationTool;nutztselbstwieder„opatch“
– Pre-patchchecks
– Patchapply
– Start/Stoprunningservers
– Post-patchchecks
– Rollbackpatches,fallsDeinstallationerforderlich
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
33
Note756671.1
OracleRecommendedPatches–OracleDatabase
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
22
Note1389167.1–GetProactivewithOracleDatabase
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
23
Beispiele
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
24
DBBP
„opatchlspatches“zeigt
nichtdieseNummer,
sonderndiese
goofy*emrep-/u01/app/oracle/product/12102/dbhome_1/OPatch
>./opatch lspatches
24846605;OCW Interim patch for 24846605
24340679;DATABASE BUNDLE PATCH: 12.1.0.2.161018 (24340679)
21555660;Database PSU 12.1.0.2.5, Oracle JavaVM Component (Oct2015)
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
25
PSU
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
26
PSU
ol6rac1*+ASM1-/home/oracle
>opatchlspatches
23727148;
24007012;ACFSPatchSetUpdate:12.1.0.2.161018(24007012)
24006101;DatabasePatchSetUpdate:12.1.0.2.161018(24006101)
23854735;OCWPatchSetUpdate:12.1.0.2.161018(23854735)
21436941;WLMPatchSetUpdate:12.1.0.2.5(21436941)
OPatchsucceeded.
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
27
QuarterlyFullStackDownloadPatch–QFSDP
• Sammlungvonverschiedenen,konfliktfreienPatchesin„einemPatch“
• Z.B.„QFSDPforSuperCluster“enthält:
– QuarterlyDatabasePatchforExadata
– OJVMPSU
– WeitereSuperClusterSystemPatches(SCMU,Firmware,Treiberusw.)
• WirdauchvonPlatinumServicesgenutzt
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
28
[email protected]
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
44
QuarterlyFullStackDownloadPatch-QFSDP
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
30
SonderfallOracleJavaVMComponentDatabasePSU(OJVM)
• OracleJavaVirtualMachine
• JavaCodedirektinderDatenbankausführen
• Multimedia,Spatial,OLAP,XDK,CDC,...erfordernOJVM
– Defaultmäßiginstalliert
• WederRACRollingnoch„StandbyFirst“installierbar
– „MitigationPatch“alsNotpflaster=>PatchtnurdenSecurity-Anteil
• OJVMnurfürDB/DB-Homerelevant
• JDBCauchfürClient-Only,InstantClientundGridInfrastructureHomes
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
31
ComboPatches
• KombinationausOJVMPSUund
– DBBP
– GIPSU
– DBPSU
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
32
opatchautoundopatch
• OpatchUser‘sGuideinEMCC12cR5-Doku
– http://docs.oracle.com/cd/E24628_01/doc.121/e39376/toc.htm
• MasterNoteForOpatch(DocID293369.1)
• opatch:Java-basiertesToolzumPatchen/Rollback
• opatchauto:PatchOrchestrationTool;nutztselbstwieder„opatch“
– Pre-patchchecks
– Patchapply
– Start/Stoprunningservers
– Post-patchchecks
– Rollbackpatches,fallsDeinstallationerforderlich
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
33
opatchautoundopatch
• opatchauto,fallsGI+RACgepatchtwird
– Beispiel:DBBPoderGIPSU(enthältGI-undDB-Patches)
– opatchautoapply–generatesteps=>Waswürdeopatchautoallesausführen?
• opatch,fallsnurDB-Homegepatchtwird
– Beispiel:DBPSU
• „Rolling“Upgradesowohlmitopatchauto,alsauchmitopatch
• Opatch-Version≥12.2.0.1.5bzw.≥11.2.0.3.14
– UnabhängigvonOCM=>keinocm-ResponseFilemehrnotwendig
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
34
Beispiel:„Rolling“UpgradeDBPSU
• 1.MöglichkeitmitGIPSU12.1.0.2161018(Patch24412235):
– opatchautoapply/<patchdir>/24412235–oh<DBOracleHomepath>
– PatchteinenKnotennachdemanderen,beimletztendannnoch„datapatch“
• 2.MöglichkeitmitDBPSU12.1.0.2.161018(Patch24006101):
– cd/<patchdir>/24006101;opatchapply
– PatchteinenKnotennachdemanderen,aberShutdown/StartupDB-Instanzpro
Knotenmanuellundexpliziter„datapatch“-AufrufamEnde.
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
35
BeispielGI+RAC:opatchautoapply
Step1
Step4
Stopthe
Database
PatchGIHome
Directory
Step2
PatchRACHome
Directory
Step3
StopandUnlock
theGIStack
ForeachRACHome:
Run:
Run prepatch.sh
Patch the RAC Home
Run postpatch.sh
rootcrs.pl -prepatch
Step5
ChangeOwner/
Permissionsbackto
PrepatchStatus
Run:
Step6
Startthe
Database
rootadd_rdbms.sh
LockandStartthe
GIStack
Run:
rootcrs.pl - postpatch
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
36
[root@goofy~]#opatchautoapply/stage/24968615=>DatabaseProactiveBundlePatch12.1.0.2.170117
BeispielDBBPJan2017
GI+SI-DB
(Auszug)
Verify
OPatchautosessionisinitiatedatTueJan2410:29:582017
ExecutingOPatchprereqoperationstoverifypatchapplicabilityonhome/u01/app/oracle/product/12102/dbhome_1
Patchapplicablityverifiedsuccessfullyonhome/u01/app/oracle/product/12102/dbhome_1
Verifyingpatchinventoryonhome/u01/app/oracle/product/12102/dbhome_1
Patchinventoryverifiedsuccessfullyonhome/u01/app/oracle/product/12102/dbhome_1
Preparingtobringdowndatabaseserviceonhome/u01/app/oracle/product/12102/dbhome_1
Successfullypreparedhome/u01/app/oracle/product/12102/dbhome_1tobringdowndatabaseservice
DBundCRSê
Bringingdowndatabaseserviceonhome/u01/app/oracle/product/12102/dbhome_1
Followingdatabasehasbeenstoppedandwillberestartedlaterduringthesession:dwh01
Databaseservicesuccessfullybroughtdownonhome/u01/app/oracle/product/12102/dbhome_1
BringingdownCRSserviceonhome/u01/app/oracle/product/12102/grid
Prepatchoperationlogfilelocation:/u01/app/oracle/product/12102/grid/cfgtoollogs/crsconfig/hapatch_2017-01-24_10-31-42AM.log
CRSservicebroughtdownsuccessfullyonhome/u01/app/oracle/product/12102/grid
ApplyDBundGI-Home
Startapplyingbinarypatchonhome/u01/app/oracle/product/12102/dbhome_1
Binarypatchappliedsuccessfullyonhome/u01/app/oracle/product/12102/dbhome_1
Startapplyingbinarypatchonhome/u01/app/oracle/product/12102/grid
Binarypatchappliedsuccessfullyonhome/u01/app/oracle/product/12102/grid
DBundCRSé
StartingCRSserviceonhome/u01/app/oracle/product/12102/grid
Postpatchoperationlogfilelocation:/u01/app/oracle/product/12102/grid/cfgtoollogs/crsconfig/hapatch_2017-01-24_10-37-00AM.log
CRSservicestartedsuccessfullyonhome/u01/app/oracle/product/12102/grid
Startingdatabaseserviceonhome/u01/app/oracle/product/12102/dbhome_1
Databaseservicesuccessfullystartedonhome/u01/app/oracle/product/12102/dbhome_1
DBdatapatch
TryingtoapplySQLpatchonhome/u01/app/oracle/product/12102/dbhome_1
[WARNING]Thedatabaseinstance'emrep'from'/u01/app/oracle/product/12102/dbhome_1',inhost'goofy'isnotrunning.SQLchanges,ifany,willnotbeapplied.
Toapply.theSQLchanges,bringupthedatabaseinstanceandrunthecommandmanuallyfromanyonenode(runasoracle).
Refertothereadmetogetthecorrectstepsforapplyingthesqlchanges.
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
37
„oplan“-Utility
Beispiel:DBBP12.1.0.2.170117
oplangenerateApplySteps<patchdir>
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
38
PatchDownload
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
39
PatchDownload
wget.sh
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
40
Empfehlungen
• Grundsätzlich:EntwederPSUoderDBBP.Kein„Mischen“möglich.
• MindestensPSUsinstallieren
– NurminimalesTestenerforderlich
• Ab12.1.0.2:DatabaseProactiveBundlePatch(DBBP)
– UmfassendereAnzahlvonFixesalsPSUs
– GründlicheresTestenerforderlich
• OJVMPSUinbeidenFällenzusätzlichinstallieren
– aberggf.erstspäterwegenDowntime
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
41
Patchmethodeändern
• NachUpgradeaufneuesPatchSetRelease=>4.StellederVersion
• Beispiel:12.1.0.1mitDBPSU=>Upgrade=>12.1.0.2=>DBBP
oder
• FullyRollback/DeinstallDBPSU=>InstallierenaktuellesDBBP
• KeineMischungBP-undPSU-MethodefüreinOracle_Home!
• FallsDBBPverwendet,keinweiteresPatchingmitPSUmöglich
– BeiDBBP-Methodebleibenoder
– DBBPkomplettrückgängigmachenundPSUsanwenden
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
42
Empfehlungen
• Aktuelles„opatch“-Utilityverwenden
– Patch6880880(passendesReleaseundPlattformauswählen)
• READMEzumjeweiligenPatchlesen(auch„Knownissues“)
• opatchprereqCheckConflictAmongPatchesWithDetail–phBaseDir<patchdir>
• opatchprereqCheckConflictAgainstOHWithDetail–phBaseDir<patchdir>
• Möglichstaktuellbleiben
• Patchingggf.vorabinclonedORACLE_HOMEtesten
– UngepatchtesORACLE_HOMEals„Gold“-Image.
– Duplizierendes„Gold“-Images(cpio,tar,...)
– Duplikatbekanntmachen:
$perl$ORACLE_HOME/clone/bin/clone.plORACLE_BASE=...ORACLE_HOME=...ORACLE_HOME_NAME=...
– http://docs.oracle.com/database/122/LADBI/cloning-an-oracle-home.htm-LADBI-GUID-494E59C3-C381-4A35-8ABE-F6E5DBF29032
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
43
[email protected]
Copyright©2016,Oracleand/oritsaffiliates.Allrightsreserved.|
44
Herunterladen