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