Déploiement et Exploitation d’Oracle Enterprise Manager...

120
Alexandre Labrousse Ingénieur Informatique en Apprentissage Spécialité Systèmes d’information Master 2, FIP 3 Déploiement et Exploitation d’Oracle Enterprise Manager 12c MÉMOIRE D’INGENIEUR Sous la direction de Tuteur pédagogique : Maître d’apprentissage : Monsieur Nicolas TRAVERS Maître de Conférences en informatique Enseignant-chercheur CNAM - Paris Monsieur Jean-Luc GUERIN Administrateur Base de données Sénior ESSILOR FRANCE Année Universitaire 2015/2016

Transcript of Déploiement et Exploitation d’Oracle Enterprise Manager...

Alexandre Labrousse Ingénieur Informatique en Apprentissage Spécialité Systèmes d’information Master 2, FIP 3

Déploiement et Exploitation d’Oracle

Enterprise Manager 12c

MÉMOIRED’INGENIEURSousladirectionde

Tuteurpédagogique: Maître d’apprentissage:MonsieurNicolasTRAVERSMaîtredeConférenceseninformatiqueEnseignant-chercheurCNAM-Paris

MonsieurJean-LucGUERINAdministrateurBasededonnéesSéniorESSILORFRANCE

AnnéeUniversitaire2015/2016

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|2

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|3

Alexandre Labrousse Ingénieur Informatique en Apprentissage Spécialité Systèmes d’information Master 2, FIP 3

Déploiement et Exploitation d’Oracle

Enterprise Manager 12c

MÉMOIRED’INGENIEURSousladirectionde

Tuteurpédagogique: Maîtred’apprentissage:MonsieurNicolasTRAVERSMaîtredeConférenceseninformatiqueEnseignant-chercheurCNAM-Paris

MonsieurJean-LucGUERINAdministrateurBasededonnéesSéniorESSILORFRANCE

AnnéeUniversitaire2015/2016

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|4

Avant-propos

Le présent mémoire rentre dans le cadre de l'obtention du diplôme de fin d'étude du cycleingénieurinformatiqueduConservatoireNationaldesArtsetMétiers(CNAM),spécialitésystèmesd’information.

A l’issue demon rapport de recherche de deuxième année sur la supervision informatique, denombreuses questions sont restées en suspens. En effet plusieurs aspects techniques,méthodologiques et fonctionnels de notre logiciel de supervision de base de données (OEM)restaientencoreàdécouvrir.C’estdoncnaturellementqu’estvenuel’idéedusujetdecemémoirequi porte sur le déploiement de la nouvelle version d’Oracle EnterpriseManager CloudControlentreprise durant cette dernière année deMaster. En effet, Essilor a profité de l’arrivée de lanouvelleversiondesonprincipallogicieldesupervisionpourbénéficierdesaméliorationsliéesàl’administrationdesesbasesetdesnouvellesfonctionnalitésproposéespar le logiciel.Ceprojetm’adoncpermisdemettreenpratiquelesconnaissancesacquisesdurantlesannéesprécédenteschez Essilor. J’ai également pu appliquer les méthodologies de gestion de projet acquises auCNAMdirectementàcettemission.

Nousavonsétéconfrontésàplusieursdifficultéslorsdeceprojet.Eneffet,laphasedeconduitede changement destinée à rendre reproductible toutes les opérations techniques réalisées et àexploiterlesnouvellesfonctionnalitésparleséquipesadministrateursbasededonnéesenAsieareprésentéunvraiedéfipournotreéquipe.

Malgré lescontraintessoulevéespar ledéploiementde lanouvelleversiond’OEM, lecalendrierprévisionnelapuêtrerespecté.Ledéploiements’estfinaliséàladateprévueetlasolutionCloudControlestutiliséeparnotreéquipepoursupervisernosbaseslesplusstratégiques.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|5

Remerciements

En préambule, je veux adresser tousmes remerciements aux personnes avec lesquelles j’ai puéchangeretquim’ontaidépourlarédactiondecemémoire.

Je tenais à remercier tout d’abordmon tuteur d’apprentissageMonsieur Nicolas Travers. Je leremerciedem’avoirencadré,orienté,aidéetconseillépourlarédactiondemonmémoire.

J’adressemessincèresremerciementsàtoutel’équiped’administrateursbasededonnéesquiparleurs paroles, leurs écrits, leurs conseils et leurs critiques ont guidé mes réflexions durant mamission.

JeremercieMonsieurLamineBoucioufquim’aaccordésontempsetasumeguiderpendant laphasederéalisationduprojet.

Enfin, jeremercieMonsieurLucPerrin-TurenneetMonsieurJean-LucGuerinpourlesréférencesqu’ilsm’onttransmisesausujetdemesrecherches.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|6

TabledesmatièresAvant-propos......................................................................................................................................4

Remerciements...................................................................................................................................5

Tabledesmatières..............................................................................................................................6

Listedesfigures..................................................................................................................................9

Listedestableaux...............................................................................................................................9

Tabledessiglesetabréviations........................................................................................................10

I Introduction.............................................................................................................................12

I.1 Présentationdel’entreprise..................................................................................................12

I.2 Présentationdudépartement...............................................................................................14

I.3 Présentationduposte...........................................................................................................15

I.4 Présentationdelamission....................................................................................................16

II Définitionduprojet...................................................................................................................17

II.1 Expressiondubesoin.............................................................................................................17

II.1.1 Notedecadrage.........................................................................................................17

II.2 Etuded’avant-projet..............................................................................................................20

II.2.1 Présentationduproduit.............................................................................................20

II.2.2 Architecturetechniqued’OEMCloudControl............................................................20

II.3 Cahierdescharges.................................................................................................................23

II.3.1 Lescontraintes............................................................................................................23

II.3.2 Critèresdesatisfaction...............................................................................................25

II.3.3 Détaildesversionslogiciellesdéployées....................................................................26

II.3.4 Budget&Délais..........................................................................................................26

II.3.5 Cahierdeschargesfonctionnel..................................................................................28

II.4 Etudedefaisabilité................................................................................................................29

II.4.1 EtudeRéseaux............................................................................................................29

II.4.2 Ressourcesallouées....................................................................................................30

II.4.3 Lesrisquesetlesimpacts...........................................................................................31

III LasolutionOracleEnterpriseManagerCloudControl12c.......................................................33

III.1Analysedel’architectured’OEM...........................................................................................33

III.1.1 CloudControlConsole................................................................................................34

III.1.2 OracleManagementAgent.........................................................................................35

III.1.3 Gestionetdécouvertedesciblessupervisées............................................................36

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|7

III.1.4 OracleManagementService.......................................................................................37

III.1.5 OracleManagementRepository.................................................................................38

III.1.6 Fluxdedonnées..........................................................................................................40

III.2 Leschoixd’implémentationd’OEMCloudControl12c.........................................................42

III.2.1 Définitiondunombred’environnementsCloudControlmisenœuvre.....................44

III.2.2 EnvironnementdeproductionVsEnvironnementdenon-production......................44

III.2.3 Décisionduchoixd’architectured’OracleCloudControl...........................................45

III.2.4 Décisionconcernantsurlechoixd’architecturedelabasededonnéesRepository..46

III.2.5 Décisionconcernantlechoixd’architectured’OracleManagementServer..............47

III.2.6 DécisionconcernantlechoixderegroupementduserveurOMSetdelabaseOMR48

III.3Conclusion.............................................................................................................................49

IV Réalisation.................................................................................................................................50

IV.1Introduction...........................................................................................................................50

IV.1.1 Installationd’unebasededonnéesRepository..........................................................51

IV.1.2 Etape1:InstallationdulogicielGridInfrastructure(facultative)...............................52

IV.1.3 Etape2:Installationdulogicieldebasededonnées.................................................53

IV.2ConfigurationdelabasededonnéesRepository..................................................................57

IV.2.1 RenommagedesfichiersdedonnéesCloudControl..................................................58

IV.2.2 Désactivationdel’optimisateurderécupérationautomatiquedesstatistiques.......58

IV.2.3 Créationdegroupesderedologsadditionnels..........................................................59

ImplémentationdesHugePages...............................................................................................60

IV.2.4 ActivationdelabasededonnéesFlashback(FlashbackDatabase)...........................61

IV.2.5 ActivationduBlockChangeTracking..........................................................................62

IV.2.6 ExécutionduKitdeprérequisdeOEMenmodeindépendant..................................62

IV.3InstallationetConfigurationd’OracleEnterpriseManagerCloudControl...........................63

IV.3.1 Réactivationdel’optimisateurderécupérationautomatiquedesstatistiques.........63

IV.3.2 Miseenœuvredesvariablesd’environnementsurleserveur-hôteOMS.................63

IV.3.3 PlanificationdespurgespériodiquesdesfichierslogsdeCloudControl...................64

MiseenplacedelapolitiquedesauvegardedescomposantsdeCloudControl.....................65

IV.4ConfigurationdelaconsoleCloudControl............................................................................65

IV.4.1 Miseenplacedesméthodesdenotification..............................................................66

IV.5Conclusion.............................................................................................................................69

V AprèsProjet...............................................................................................................................70

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|8

V.1 Conduiteduchangement......................................................................................................70

V.1.1 Détailsetexplicationsdel’administrationdeCloudControl.....................................70

V.1.2 Analysedesaméliorationsd’administration..............................................................71

V.2 Maintenanceopérationnelle.................................................................................................76

V.2.1 Alarmes,alertesetmétriquesdesupervisions...........................................................76

V.2.2 Configurationdesrèglesd’incidentsdansOEM12c..................................................78

VI Conclusion.................................................................................................................................79

Glossaire...........................................................................................................................................80

RéférencesBibliographiques............................................................................................................81

Annexes............................................................................................................................................82

Tabledesmatières........................................................................................................................82

I. 11gR2DatabaseInstallation(11.2.0.4)onLinuxserverx64.....................................................83

II. OracleEnterpriseManagerCloudControl12cInstallation.......................................................99

1. StartingCloudControlandallItsComponents...................................................................106

2. StoppingCloudControlandallItsComponents..................................................................107

III. OEM12cAgentinstallation&DatabaseDiscoverywithCloudControl..................................108

IV Planningprévisionnel..............................................................................................................119

Implémentationetexploitationd’OracleEnterpriseManagerCCv12c.........................................120

InstallingandexploitingOracleEnterpriseManagerCCv12c........................................................120

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|9

ListedesfiguresFigure1:Présentationdudépartement...........................................................................................14

Figure2:Schémaduprocessusdenotification................................................................................18

Figure3:Planningprévisionnel........................................................................................................27

Figure4:Architectured’OracleEnterpriseManagementCloudControl12c...................................33

Figure5:Fluxdedonnées.................................................................................................................40

Figure7:Miseenplacedesadressesmailsdesadministrateurs......................................................67

Figure8:Ecrandel’emploidutempsdesnotificationsàl’œuvrechezEssilorError! Bookmark notdefined.

Figure9:Ecrandel’emploidutempsdesnotificationsàl’œuvrechezEssilor................................68

Figure10:EcrandemiseenplacedelapérioderotationchezEssilor.............................................68

Figure11:Fenêtredecréationd’uneaccréditation.........................................................................72

Figure12:Fenêtredecréationd’uneaccréditation.............................Error!Bookmarknotdefined.

Figure13:Fenêtredegestiondedélégationdesprivilèges.............................................................73

Figure14:Fenêtred’auditdecontrolOEM12c...............................................................................74

ListedestableauxTableau1:Prérequisréseauxminimumnécessairesdeconnexion.................................................30

Tableau2:Ordredegrandeurdessitessupervisés..........................................................................45

Tableau3:Adéquationentrelatailledusitesuperviséetlataillerecommandéedesredologs....56

Tableau4:Statutactifdel'AutoOptimizerStatsCollection............................................................59

Tableau5:Hugepage........................................................................................................................60

Tableau6:Statutinactifdel'AutoOptimizerStatsCollection.........................................................63

Tableau7:Commandesd'arrêtetdedémarragedel'agent............................................................64

Tableau8:ObjectifsetméthodesdéployéespoursécuriserOEMCloudControl...........................75

Tableau9:Seuilsd'alertesOEM.......................................................................................................77

Tableau10:Règlesd'incidentOEM..................................................................................................78

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|10

TabledessiglesetabréviationsASLM:ApplicationServiceLevelManagement/Niveaudeserviced’applicationASM:AutomaticStorageManagement/GestiondeStockageAutomatiqueASMM:AutomaticSharedMemoryManagement/GestionduPartagedelaMémoireAutomatiqueBP:BestPractice/MeilleureméthodeCC:CloudControl/OEM12cCFC:ColdFailoverClusterCNAM:ConservatoireNationaldesArtsetMétiersCPU:CentralProcessingUnit/UnitéCentraledeCalculDBA:DatabaseAdministrator/AdministrateurBasededonnéesDBCA:DatabaseConfigurationAssistant/AssistantdeConfigurationdebasededonnéesDR:DisasterRecovery/RécupérationaprèsDésastreERP:EnterpriseRessourcePlanning/Gestiondesressourcesd’entrepriseEUS:EnterpriseUserSecurityFMA:FunctionalMaintenanceApplicative/EquipedeMaintenanceFonctionnelleFRA:FastRecoveryArea/ZonedeRécupérationRapideGC:GridControl/OEM10gGI:GridInfrastructure/InfrastructureGridGigE:GigabitEthernetHA:HighAvailability/HauteDisponibilitéHTTP/HTTPS:HypertextTransferProtocol/HypertextTransferProtocolSecureICMP:InternetControlMessageProtocol/ProtocoledeControldeMessageInternetJDBC:JavaDatabaseConnectivity/ConnectivitédebasededonnéesJavaMAA:MaximumAvailabilityArchitecture/ArchitecturedeDisponibilitéMaximaleNAS:NetworkAttachedStorage/StockageRéseauxNC:NamedCredential/AccréditationnominativeNLS:NationalLanguageSupport/SupportdeLangageNationalOAS:OracleApplicationServer/Serveurd’ApplicationOracleOCI:OracleCallInterfaceODG:OracleDataGuardOEM:OracleEnterpriseManagerOHS:OracleHTTPServerOMA:OracleManagementAgentOMF:OracleManagedFileOMR:OracleManagementRepository/BasededonnéesRepositoryOMS:OracleManagementServerORON:RealApplicationClusters(RAC)OneNodeOUI:OracleUniversalInstaller/InstallateurUniverselOraclePSU:PatchSetUpdate/GroupedemisesàjourRAC:RealApplicationClusterRAM:RandomAccessMemory/MémoireàAccèsAléatoire

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|11

RMAN:OracleRecoveryManager/GestionnairedeRécupérationOracleSAN:StorageArrayNetworks/RéseaudeStockageSGA:SystemGlobalArea/ZoneGlobaleSystèmeSGBD:SystèmedeGestiondeBasededonnéesSLA:ServiceLevelAgreement/ContratdeniveaudeserviceSLB:ServerLoadBalancing/ServeuràRépartitiondeschargesSMTP:SimpleMailTransferProtocol/ProtocoledetransfertdeMailSSL:SecureSocketLayerTMA:TierceMaintenanceApplicative/EquipedeMaintenanceTechniqueT-Center:DeveloperTeam/EquipededéveloppeurWLS:WebLogicServerWWSCP:WorldWideSupplyChain/Logistique

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|12

I IntroductionDans le cadre de ma formation d’ingénieur informatique enapprentissage j’ai été recruté par ESSILOR en tant qu’apprentiadministrateurdebasesdedonnéesOracleetOracleApplicationpouruneduréedetroisans.

J’aiétéintégréauseindel’équipeDBAOracle(Administrateurdebasededonnées)dudépartement logistiqueWWSCP (WorldWideSupplyChainProject)quiappartientàlabranchelogistiqued’EssilorsurlesitedeCréteil.

CetteéquipeestcomposéedesixDBAOracle(troisenFranceettroisenAsie)etd’unmanagerquipilotel’activitédecetteéquipe.

Il s’agit d’une équipe opérationnelle qui est chargée de lamaintenancedetouteslesbasesdedonnéesOracleutiliséesdanslesapplicationsgéréesdansledépartementWWSCP.

Cetteéquipejoueunrôlecléauseindecedépartementcarellegèrenotamment lesbasesdeproduction.Cesbases sont stratégiquescarellessontdirectementliéesàl’activitédecedépartement.

Je vaismaintenant vous présenter le contexte demon travail, l’équipe dans laquelle j’effectuemonapprentissage,ainsiquelamissionquim’aétéconfiéedanslecadredecemémoire.

I.1 Présentationdel’entreprise

Activités

EssilorInternational,leadermondialdelaproductiondeverreophtalmiques,doit sa position de leader tant à la qualité de ses produits que de sesservices.En2015,lechiffred’affairedelasociétéaaugmentéde18.4%parrapport à l’année2014avec6716M€.Essilor faitpartiede l’indiceCAC40depuis2005.

StructureOrganisationnelle

Lamajeurepartiedel’activitéd’Essilors’orientesurles4axesprincipauxsuivants:

Cesaxessontgérésautraversdesonsystèmed’informationquiaénormémentévoluédepuislacréationdel’entreprise.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|13

Systèmed’Information

Aujourd’hui,c’estluiquicoordonnelesactivitésdel‘entreprise,quivéhiculel’informationauseindel'organisation,etquireprésentel'ensembledesressourcesetsystèmesdugroupeayantpourbut:

Ø LasaisiedesinformationsØ LestockagedesinformationsØ LetraitementdesinformationsØ LarestitutiondesinformationsØ LatransmissiondesinformationsØ etc.

DifférentssupportssontutiliséspourmatérialisercesinformationsdansleSItelsque:

Ø Lesbasesdedonnées(Oracle,SQLServer,etc.)Ø Lesserveursdefichiers,Ø Lesintranets,Ø LesGED,Ø etc.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|14

I.2 Présentationdudépartement

Chez Essilor, suite à une récente réorganisation des services, l’équipe DBA précédemmentbaséeàVincennesa rejoint ledépartementWWSCPàCréteilOudry;WorldWideSupplyChainProject, service dans lequel j’évolue dans le cadre demon apprentissage à Essilor. Elle travailleconjointement avec les équipes Projets / TMA (Tierce Maintenance Applicative) et FMA(Functional Maintenance Applicative) qui sont notamment chargées du support technique etfonctionneldesapplications.

De plus, avec les réattributions des responsabilités liées à l’augmentation de la taille del’entrepriseetdesoninternationalisation,lescopedebasesdedonnéesgéréesparl’équipeDBAs’est considérablement diversifié et élargi; notamment par la gestion de nouvelles basesanciennementgéréespard’autreséquipestravaillantpourl’essentielàl’étranger.

Le scope couvert par les DBA (Administrateur de bases de données) comprend aujourd’hui unensembledebasesdedonnéesfonctionnantsurplusieursversionsdeSGBD(SystèmedeGestiondeBasedeDonnées)notammentOracleetSQLServeur,hébergéessurdifférentsOS(Linux,Unix,WindowsServer,…),etsurdifférentssites(Asie,Europe,US,…).

Notre équipemaintient plus d’une dizaine de base de données de production. Ces bases sontparticulièrement surveillées car elles sont essentielles au fonctionnement de nos modules ERPOracleApplication.Deplusnousgéronségalementdesbasesdedonnéesissuesd’environnementsdetestetd’intégrationquisontprincipalementutilisésparleT-CenteretlaTMA.

Figure1:Présentationdudépartement

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|15

I.3 PrésentationdupostePour comprendre et apprendre le métier de DBA, il convient de connaître tout d’abord lesdifférentsrôlesquel’administrateurbasededonnéesdoitpouvoirgéreretmaîtriser:

Ø Laconceptiondumodèlededonnées:bienqu'elleincombenormalementàl'analysteouau concepteur, les principes de modélisation des données doivent être parfaitementmaitrisés par le DBA. En effet, les facteurs de dégradation des performances sont enpremierlieuliésàlastructurationdesdonnées.

Ø La définition et la gestion des espaces de stockage: Comme une base de données abesoin de beaucoup de place pour les données, il doit dimensionner les espaces destockage physiques (ex: Disque dur) et logiques (ex: Tablespaces) de façon précise.

Ø L'intégritédesdonnées: ilvérifieouaideàvérifier lacohérencedesdonnéesde labaseafinqu'ellesnerentrentpasenconflitaveclesprincipesdusystèmeréel.

Ø Lagestiondes incidents: ildoitcréerettesterdessolutionsdemaintien(procéduresderécupération)afind’assurerlacontinuitédelaproductionencasd’incidents.

Ø Lemaintiendelaperformance:ildoits’assurerquel'accèsauxdonnéessefassedansuntempsraisonnableetquecetteperformancesoitmaintenuedansletemps.

Ø L'optimisation: il doit régulièrement et de manière proactive faire des campagnes demesure afin de débusquer les problèmes de contention ou de temps de réponse avantqu'ils ne deviennent handicapants pour l'exploitation de l’entreprise.

Ø Migrationetmisesàjour:ildoitrégulièrementappliquerlesmisesàjourpréconiséesparleséditeurs(systèmeetSGBD).

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|16

I.4 PrésentationdelamissionMonsujetdemémoiredefind’étuded’ingénieurCNAMportesurmamissionprincipaledecettetroisièmeannéed’ingénieurenentreprise.Celle-ciconsisteauremplacementprogressifdenotrelogicieldesupervisiondebasesdedonnéesOracleEntrepriseManager(OEM).

Plusprécisément,jevaisprocéderauremplacementdelaversion10gexistantedecetoutilparsaversionlaplusrécenteen12c.

Jevaisdirectementintervenirdanslapartiesupportdusystèmed’informationd’Essilor.

Le premier objectif qui m’a été donné par l’équipe DBA (Database Administrator ouAdministrateur de base de données) est d’identifier puis demettre en place tous les élémentspermettantl’implémentationdelaversion12cdulogiciel,plansdemaintenanceinclus.

Ce nouvel outil permettrait de faire bénéficier dans un premier temps à l’équipe DBA d’unesupervisiondesbasesdedonnéesaméliorée,deparamétragesplus finsdusystèmed’envoidesalertes ainsi que de métriques plus détaillées pour faciliter la résolution des incidents. Cecipermettantd’optimiserlasupervisiondesbasesdedonnéesstratégiquesdel’entreprise.

Le second objectif de cette mission est double. Je suis chargé d’analyser les nouvellesfonctionnalitésdu logicieletde lescommuniqueràmonéquipeafinde lui faireprofiterdemesdécouvertes.Jedoiségalementpréparerlaconduiteduchangementafindefaciliterlatransitionentrelesdeuxversionsd’OracleEntrepriseManager.

Mon sujet se situe donc dans la continuité de mon rapport de recherche rédigé l’annéeprécédente. En effet, celui-ci portait sur la supervision informatique dans lequel ont étédéveloppéslesenjeuxetlesméthodologiesdelasupervisiondesbasesdedonnéesainsiquelespotentielles améliorations fonctionnelles et ergonomiques qu’apporterait la montée d’OracleEntrepriseManagerenversion12c.

Cettemissionm’aétéconfiéedanssonintégralité,depuis larédactiondel’expressiondubesoinjusqu’àlaphased’aprèsprojetaveclarédactionduplandemaintenanceetduplandeconduitedechangement.

CeprojetestsoumisaucontrôledenotreexpertDBAOraclequiestchargédemaformationpourlespartiestechniquesdelaréalisation.Plusconcrètementlesphasesd’installationdelabasededonnées dépôt et du logiciel Oracle Entreprise Manager seront opérées sur un serveur Linuxdonné via une connexion à distance. Les étapes suivantes seront, quant à elles, effectuéesdirectementsurl’interfaceOEM.

Jedisposeégalementd’unedocumentation spécialiséedestinéeàme formeret àdécouvrir lesspécificitésdelaversion12cdecenouveloutil.

Lesaspectsorganisationnelsde lamission sont,quantàeux, soumisàmonsupérieur,managerd’équipe.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|17

II DéfinitionduprojetNous allonsmaintenant définir complètement le référentiel du projet. Nous développerons lesélémentsduréférentielduprojetsuivant:

• L’expressiondubesoin• L’étuded’avant-projet• Lecahierdescharges• L’étudedefaisabilité

Cettephaseestparticulièrement importantepournouscarellevanouspermettredemettreenœuvreunedémarchedeconduitedeprojetorganisée,cohérenteetcollective.

II.1 ExpressiondubesoinDanslecadredemamissiondecettetroisièmeannéeenentreprisejesuischargédemettreenœuvretouteslesétapessuivantes:

1èreétape:Implémentationetmiseenfonctionnementd’OracleEnterpriseManager12c

2ièmeétape:Rédactiondesprocéduresd’installationetdedéploiementdulogiciel

3ième étape: Analyse et transmission à l’équipe DBA des nouvelles fonctionnalités phares de lanouvelleversiondel’outil

4ièmeétape:Miseenœuvredelaconduiteduchangementdulogiciel

LadatedefindelamissionestfixéepourlafinJuin2016.

II.1.1 Note de cadrage Nous expliquerons dans cette partie les principaux enjeux liés au déploiement de la nouvelleversiond’OEM.Après avoir explicités les raisons de cettemission, nous nous intéresserons auxobjectifsquenousnoussommesfixéspermettantderépondreàlaproblématiqueexposée.

II.1.1.1 ContexteEn ce jour, le département World Wide Supply Chain (WWSCP ou Logistique) dans laquellel’équipe DBA opère possède une architecture informatique hétérogène en raison durenouvellement progressif du parc informatique et logiciel d’Essilor (machines, systèmesd’exploitation,ordinateursdebureau,licenceslogiciellesetc.)Commetoutesociétéquipossèdedessystèmesinformatiques,Essilordoitgérerl’obsolescencedesessystèmesetdesesapplications.En effet une partie de nos serveurs et de nos applications vieillissantes sont renouveléesprogressivement.Essilorpossèdedecefaitdesenvironnementstechniquesdifférentsadaptésauxapplicationsplusoumoinsrécentesfonctionnantsurnossystèmes.En raison de l’hétérogénéité de ces environnements, notre parc de bases de données estégalement diversifié car elles sont hébergées sur des architectures techniques adaptées à cesapplications.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|18

Nous possédons par conséquent des bases de données Oracle dont les versions vont desanciennesversions7jusqu’auxplusrécentesen11gR2.Afin de faire face à la complexité engendréepar les problèmesd’accessibilité, de réseauoudeperformanceetde faciliter lamaintenancedesbasesdedonnées, l’équipeDBAadûmettreenplace trois outils de surveillance qui sontdestinés à alerter les administrateurs de tousdisfonctionnementsetcomportementsanormauxdesbasesdedonnéesdontilsontlacharge:

Ø Patrol(logicieldelasociétéBMCSoftware)o Versionv3.5:assurelasurveillancedesbasesOracle:versions7à8io Versionv7.6:assurelasurveillancedesbasesOracle:versions9ià10g

Ø OEM(OracleEntrepriseManager,logicieldelasociétéOracle)o Version11g:Assurelasurveillancedesbases11gR2.

LaFigure2résumeleprocessusdenotificationexistantdesalertesprovenantdeslogicielsPatroletOEM.

Note: L’encadré «Rapport Alertesmultiplateformes» a fait l’objet demamission de suivi desalertesdemapremièreannéedecycleingénieur.

Figure2:Schémaduprocessusdenotification

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|19

II.1.1.2 ProblématiqueAu cours de ces dernières années, le parc de bases de données a subi une forte augmentationpourrépondreauxbesoinscroissantsdel’entreprise.Defaçonparallèle,lesbesoinsentermesdemaintenabilitédesbasesdedonnéessesontintensifiésetlaperformancedel’outilexistantquilessupervisen’estaujourd’huiplussatisfaisantepourplusieursraisons:I. Laversionde l’outildesupervisionexistantOEMv10gnecentralisepas lesalerteset les

incidentsdetouteslesbasesdedonnéesqu’ellesupervise.PlusprécisémentchaqueDBAdoit se connecter individuellement sur chaque serveur hébergeant la ou les bases enquestion pour effectuer son analyse ou ses modifications. Cela complique la tâched’administrationduDBAetengendreaumêmetitreunepertedeproductivité.

II. Undesobjectifssous-jacentsdelamiseàniveaud’OEMensaversion12cestderemplacerà court terme le logiciel Patrol v3.5 et Patrol v7.6. Ceci aurait pour conséquence desimplifier l’architectureapplicativede l’entrepriseetdebénéficierpar lamêmeoccasiond’unoutil certifiéuniquepour toutesnosbasesdedonnéesOracleetOracleapplication(ERP).

Notreéquipeestdoncconfrontéeàuneproblématiquemultiple:CommentimplémenteretexploiterOEM12causeindenotreenvironnementinformatiquetout

engarantissantunesupervisioncontinuepournosbasesdedonnées?

II.1.1.3 ObjectifsàatteindreL’outildesurveillancedebasesdedonnéesOEMenvoie lesalertessous formedemaildont lesmessagessont formatésde façonà rendreune informationqui soit rapidementdéchiffrable. LeremplacementdesversionsexistantesdePatrolpermettradoncderécupérersouslamêmeformeet via le même biais de communication tous les incidents et alertes de bases de donnéessuperviséesparnotreéquipe.Cettesolutionprésentel’avantagedepermettreànotreéquipedecréerdesfiltressurlamessageriequileurestcommune.Decettefaçon,chacunpeutdiscriminerefficacementlacriticitédesalertesetdesincidentsencours.

De plus, la montée de version d’Oracle Entreprise Manager fera bénéficier toute l’équipe denombreuses nouvelles fonctionnalités destinées à simplifier et à améliorer l’efficience de notretravail.Cesnouvellesfonctionnalitésserontexplicitéesendétailplustarddanscemémoire.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|20

II.2 Etuded’avant-projetNous présenterons dans cette partie lamanière dont fonctionneOracle EnterpriseManager enétudiant ses éléments internes et leurs interactions. Nous nous pencherons également sur lesdifférentes contraintes liées notamment aux prérequis du logiciel auxquels nous devronsrépondre.

II.2.1 Présentation du produit OracleEnterpriseManagerCloudControl12c (plussouvent référencécommeCloudControl,CC,ouCC12c)estunesolutionOraclepoursuperviserunenvironnementinformatiquecompletqu’ilsoitcomposédeproduitsOracleounon.L’outilCloudControlréunitlesinformationsconcernantunsystèmeinformatiqueencentralisantsasupervisiondansunrépertoirecentral.OEMCCafficheles informationsauxadministrateurs responsablesdansuneconsolewebpuis l’outil leurenvoiedesalertesbaséessurdesseuilsplusoumoinscritiques.Lessuperviseurspeuventalorsutilisercesinformations pour que Cloud Control opère les tâches permettant la supervision de tout lesystèmeinformatiquedel’entreprise.

OEMv12cestbasésurlatechnologieOracle,unebasededonnéesOracleetunserveurWebLogicde niveau intermédiaire (Middle Tier) qui héberge l’application OMS (Oracle ManagementService). Pour résumer, une base de données Oracle va servir de base de données «dépôt»appelé aussi OMR (Oracle Management Repository), celle-ci va stocker toutes les données demétriquesdesciblessupervisées.CesdonnéessontcollectéesettransmisespardesagentslocauxappelésOMA(OracleManagementAgents).CesagentsenvoientcesdonnéesauserviceOMSquivaenvoyeràsontourcesinformationsàlabasededonnéespourquecelle-cilesstocke.LeserviceOMSvagénérerunepaged’interfacewebauxadministrateurs,celle-civaservirdepasserelledecommunicationentrelesopérateursCCetlabasededonnéesDépôt.

II.2.2 Architecture technique d’OEM Cloud Control L’installationetl’architectured’OracleEnterpriseManagerGCv10getdeCCv12cnesontpaslesmêmecar leurscomposantsdiffèrent.Deplus, lesmodesdefonctionnementduserviceOMSetdelabasededonnéesdépôtsontbiendistincts:

II.2.2.1 InstallationetarchitecturedulogicielOMSLaversion12d’OracleManagementServiceestbaséesurunServeurWeblogicOracle(WLS)11gR1 (10.3.5) tandis que la version 10g d’OMS est basée sur un serveur d’application Oracle (v10.1.2.3). Cette améliorationd’architecturea renforcé la sécuritédes fluxdedonnéesentre lesdifférentscomposantsdeCloudControl.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|21

II.2.2.2 InstallationdelabasededonnéesdépôtDanslesversions11get12cd’OEM,l’installationdelabasededonnéesdépôtou«Repository»est séparéede l’installationd’OEM.Dans la versionGC10g,unedesoptionsd’OracleUniversalInstaller (OUI)était (enplusde l’installationd’OMS)decréerunenouvellebasededonnées10gpourservirdebasededépôt.LesversionsGC11get12cdel’outilnedisposentpasd’unebasededonnéesintégréepourservirdebaseRepository.Contrairementàlaversion10g,nousavonsdonctoutd’abordpréinstalléunebasededonnéesOraclepourprocéderà l’installationde laversion12c.Néanmoins, CC v12.1.0.4proposeunmodèledans l’assistantde configurationdebasesdedonnées(DatabaseConfigurationAssistantouDBCA)quicréerunebaseRepositorypréconfigurée.

II.2.2.3 Prérequisdel’installationd’OracleCloudControl12cAvantdeprocéderàl’installationd’OEM12c,nousdevonsd’abordinstallerunebasededonnéescertifiéepourhébergerlesdonnéesdesupervisiondulogicielcontrairementàOEMGridControl10goùl’ondevaitchoisird’installerdansunpremiertempsunebasededonnéesOracle10gou11g par l’intermédiaire d’Oracle Universal Installer. Il s’agit ici d’une différence d’architecturesubstantielle entre la version v10g et les celles en v11g et v12c. Cela est dû au fait qu’Oracleproposeàcejourtropdetypesd’installationsdebasesdedonnéesdifférentes(groupesdepatchsinclus)dansOEMv11getv12cpourlesincluredansl’installateurdel’outil.Les versions des bases de données et des groupes de patchs inclus les versionsv11.2.0.1+,v11.1.0.7etv10.2.0.5+.

Lestypesd’installationproposéssontvariés:

• UnOracleRAC(RealApplicationCluster)• UnOracleRACone-node(ORON)• Une base de données unique: C’est le choix que notre équipe DBA a pris. Nous

expliqueronslesraisonsdecechoixunpeuplusloindanscemémoire.• UnColdFailoverCluster(CFC)

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|22

II.2.2.4 DifférencesconcernantWLSDans la version 10g, le service OMS est une application de niveau intermédiaire basée sur laplateformeJava2EntrepriseEdition(J2EE)quigénèrel’interfaceutilisateur,c’est-à-direlaconsoleGC. (J2EE est un environnement de développement et de déploiement d’applicationsd’entreprise). La couche intermédiaire de GC 10g qui utilise Oracle Application Server (OAS ouOracleAS)10g,contient3éléments:

1. Oracle Application Server Containers pour J2EE (OC4J) ou Serveurs Conteneursd’applicationsOracle

2. OracleHTTPServer(OHS)ouServeurHTTPOracle3. OracleASWebCache

OHSdéploielaversion10gduManagementServiceJ2EEwebApplication.OMS10gquantà lui fait techniquementpartied’OC4J toutefois, la couche intermédiairedeGC10gfaithabituellementréférenceàOMS.OracleASWebCachefournitunmoyensupplémentairedes’identifierdanslaconsoleGC.Contrairementàlaversion10goùOMSestdéployédanssonpropreconteneurOC4J,chacunedesplateformes intergiciels GC v11 et CC 12c se composent d’une instanceWLS dans laquelle undomained’applicationOMSestcréé(appeléGCDomain).

Deplus,OracleASWebCachen’estpasutilisédanslesversionsGCv11getCCv12calorsquecelui-ciestexploitédanslaversionGCv10g.Decefait,lesversions11get12cpossèdentunavantagecertainvis-à-visdelaversion10gpourplusieursraisons:

OracleASWebCachenes’avèrefinalementpastrèsutiledansGCv10gcarcederniernefournitqu’un très léger gain de performance par rapport à l’identification directe sur OHS depuis laconsoleGC.Laplupartdesrequêtesde laconsoleétantadhoc,celles-ci sont faitespour traiterdes données dynamiques avec très peu de données en cache. Généralement, les données selimitentàdesicônes,desitemsdemenus,desen-têtesetpiedsdepage.

OracleASWebCachecompliquelediagnosticdesproblèmesdeGCv10g.

Enfin,L’accèsàlaconsoleOEMvialeWebCachen’estpassécurisé(surHTTPport7777)lorsquel’on sortdes sentiersbattus. Eneffet, leprocessusde configurationpour sécuriserun tel accèsn’estpasaiséetn’estpasdocumenté.Ils’agiticid’unefailledesécuritépourlessitesquiveulentutiliserWebCacheetquiontbesoinderenforcer lasécuritédescommunicationsentretous lescomposantsdeGCv10g.

Bienqu’Oracledonneàsesclients lechoixdeconstruire leurspropresapplicationssurOC4JouWLS,elleachoisid’implémenterWLSdanssasolutionCloudControl,pourdesraisonsdesécuritéetdemaintenabilitélogicielle.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|23

II.3 CahierdeschargesNous expliquerons dans cette partie quelles sont les contraintes et les attentes liées à CloudControl.

II.3.1 Les contraintes Nous allons nous intéresser maintenant aux contraintes nécessaires à l’installation et àl’exploitationdenotreenvironnementCloudControl.Nousallonsmettreenlumièrelesdécisionsauxquellesnotreéquipedoitseconfronterauniveaudel’architecturedel’outil.

Nous parlerons notamment de la question dunombred’environnement CC 12c à installer ainsiquedel’architecturechoisiedeseséléments.

NousnousintéresseronsiciauxprérequisdesélémentsdeCCsuivant:

• OracleManagementService:Unservice«OMS»doitêtreinstallésurleserveur-hôtesurlequell’installeurestexécuté.

• OracleManagementRepository:Labasededonnéesdépôtappeléeaussibasedépôtou«OMR»estcrééeàpartird’unebasededonnéesquevousdevezavoirpréinstallée.

• OracleManagement Agent: Un agent ou «OMA» est installé sur chaque serveur-hôteque vous voulez superviser avec Cloud Control. Il existe deux types d’agents: l’agentpréinstalléetl’agentautonome.

• Agentpréinstallé:L’installationdecestypesd’agents(Chain-installedAgent)estcoupléeavec celle OMS, par conséquent, celle-ci est réalisée de façon automatique parl’installateurOUI.Commen’importequelagent,ilsuperviselesciblesduserveur-hôtesurlequel il est installé dont OMS et la base Repository si ces derniers sont installés sur lemêmeserveur-hôte.

• Agentautonome:Contrairementà l’agentpréinstallé, lesagentsautonomes(StandaloneAgents) doivent être installés manuellement sur tous les serveur-hôtes hébergeant descibles superviséesexcepté le serveurOMS lui-mêmesur lequel l’agentestpréinstallé. Ledéploiementd’agentsautonomesdoitêtreopéréaprèsl’installationdelabaseRepositoryetduserviceOMS.Cesdeuxtypesd’agentexigentlesmêmesprérequis.Unefoisinstallés,cesagentssontentoutpointidentiques.

• CCConsoleClient: Il s’agit icide laconsoleclientdeCloudControl.Celle-ciest réservéeauxadministrateursdebasesdedonnées.Cesderniersseconnectentà laconsoleviaunnavigateur internet. La console est affichée par OMS et celle-ci n’a pas besoin d’êtreinstallée séparément. Les seuls prérequis nécessaires relatifs à la console concernent labandepassanteduréseauetlalatencemaximaleautoriséeentreleposteclientetOMS.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|24

Lesprérequisexplicités ici s’appliquentauxserveurs-hôtessur lesquelsOMR,OMSet lesagentspréinstallésserontinstallés,àceuxoùlesagentsautonomesserontdéployésetauxpostesclientschargésd’afficher laconsoleCloudControl.Touscesprérequis représentent,enplusdesautresbasesdedonnéesquihébergentlabasededépôt,l’ensembledetouslesprérequisnécessairesàl’installationetàl’exploitationd’unenvironnementCC12c.

Lestâchesdepré-installations’organisentenquatrecatégories:

• Conceptionarchitecturale:LepremierprérequisconsisteàconcevoirunearchitecturedeCCquiprendencomptelenombred’environnementsCCàmettreenplaceetlenombredeserveursOMSàinstaller.Nousdevonségalementprendreencomptetouslescritèresdehautesdisponibilités(HA)etdesplansderécupérationaprèssinistre.

• Configuration réseaux: Après s’être mis d’accord sur l’architecture de Cloud Control àdéployer,ladeuxièmeétapeconsisteàsatisfairelesprérequisdelaconfigurationréseauxenpassantpar les règleset lescontraintesdenommagedesserveurs-hôtes, les testsdeconnectivité entre les différents éléments de CC, la configuration des pare-feux et dusystèmed’équilibrage(LoadBalancing)deschargesduserveursiuntelsystèmeestutilisé.

• Prérequismatériel:CettecatégoriefournitdesspécificationsconcernantOMR,OMSetlesserveurs-hôteshébergeantlesagentsrelatifsauxressources(espacedisque,RAM,swapetrapiditéduCPU)nécessairespour satisfaire lesprérequisnécessaires à l’installationet àl’exploitationdeCC.

• Prérequis logiciel: Nous devons tout d’abord vérifier que les plateformesOMS et OMRrépondent aux prérequis nécessaires à la certification Cloud Control. Il faut créer lesgroupes systèmes, les utilisateurs et les répertoires. Il faut synchroniser les fuseauxhoraires des serveurs-hôtes et satisfaire les prérequis des plateformes logiciellesspécifiques.

Ilestimportantdesoulignerquenousavonsdûtoutd’abordssatisfairelesprérequisnécessairesàl’installation deOMR etOMS avant d’exécuter l’installateur de Cloud Control (Oracle UniversalInstaller).Toutefois, lesprérequisnécessairesàl’installationdesagentsautonomespeuventêtreretardésetêtresatisfaitaprèslaphased’installationdeCC.Ilestfortementconseillédes’assurerauminimumquelesprérequisdesagentspréinstallés(chain-installedagent)soientsatisfaitssurles serveur-hôtes sur lesquels les agents autonomes sont opérationnels. En effet, un certainnombre de ces prérequis sont relatifs aux exigences réseaux demandées qui sont la plupart dutempsvérifiésparl’administrateurréseauxlui-même.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|25

II.3.2 Critères de satisfaction a. Lacentralisationdesinformations

Dansceprojet,leprincipalcritèredesatisfactionattenduparl’implémentationdecettenouvelleversion d’OEM repose sur la centralisation des informations relatives aux bases de donnéessupervisées. En effet jusqu’à maintenant il fallait configurer pour chaque base supervisée unensemble de règles d’incidents et de notifications. Cela pouvait poser problème en termes demaintenabilitédecesbasesdedonnées.GrâceàlanouvelleinterfacefourniedansCloudControl,ilseradésormaispossibledesurveillerlesactivitésdel’intégralitédenosbasesdedonnéesvialamême console utilisateur ce qui représente une amélioration substantielle dans le travail demaintenancequotidiennedenotreéquipe.

b. Fonctionnalitésaméliorées

Oracle Enterprise Manager 12c nous fera profiter des fonctionnalités améliorées. Voici deuxexemplesdesaméliorationsattendus:

• Amélioration du fonctionnement interne de Cloud Control: Beaucoup d’opérations decontrôle des agents de supervisions sont maintenant disponibles. Par exemple ledémarrage, le redémarrage et l’arrêt des agents sont dès à présent accessibles surl’interfacedegestiondusystème.Deplus,tousproblèmesentrelesagentsdesupervisionsetleserviceOracleManagementsont désormais automatiquement détectés et peuvent être traités dans la section detraitementdes incidentsdu système.Danscette section,onpeutaccéderau supportdetestquivaétablirpourvouslediagnosticduproblèmerencontré.Cesupportpeutpar lasuiteutiliser lediagnosticétablipour l’envoyerausupportOraclequipourratrouverunesolutionàceproblème.Celaapouravantagedefaireéconomiserdutempsauxéquipessupportconcernésdel’entreprise,notammentenmatièrederésolutiondesincidents.

• Améliorationdesmétriques:Lesmétriquesdel’interfaceutilisateurontétéamélioréeset

permettentunemeilleurenavigationetunmeilleuraccèsauxdonnéesdemesure.Onaaccès aussi auxmétriques dont les alertes ont été le plus souvent déclenchées sur septjours la nouvelle fonctionnalité de suggestion de seuils est maintenant disponible pournousaideràaffinernotreconfiguration.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|26

c. Nouvellesfonctionnalités

J’aiparailleurslisterlesnouvellesfonctionnalitésproposées,afind’étudierl’évolutiondumétierde maintenance pour les DBA au sein de l’équipe d’Essilor. Deux nouveaux dispositifs sontdisponibles:

• Lesactionscorrectivessurlesincidents:Nouspourronseffectuerdesactionscorrectivessurdes incidentsdansungroupeouunsystèmedepuis le tableaudebordsystème.Cesactionspeuventêtresassignéesàdespersonnesetunelistedeprioritépeutêtreétabliesurlesincidentslesplusurgentsàrésoudre.

• Lamise enplaced’alertes sensibles au temps: Différents seuils d’alertes pourront être

configurésenfonctiondutemps.Parexemple,durantlajournée,nouspourronsétablirunseuil d’alerte relativement exigeant, pouvant détecter tout délai anormal concernantl’émissionderequêtesSQLparlesutilisateurs.Maisensoirée,parcequ’uncertainnombredescriptstournent,nouspouvonsbaisserlesseuilsd’alertescarlesenjeuxnesontpaslesmêmesenjournéeetensoirée.

II.3.3 Détail des versions logicielles déployées • Versiondulogicielinstallé:OracleEnterpriseManagerCloudControl12cv12.1.0.4

• Versiondelabasededonnéesinstallée:OracleDatabasev11.2.0.4

• Versiondumodèledebasededonnéesinstallée:DBTemplatev12.1.0.2

• Versiondesagentsdéployéssurlesserveurs-cibles:OracleEnterpriseAgentv12.1.0.2.0

II.3.4 Budget & Délais a. BudgetLogiciel

Oracle EnterpriseManager est logiciel de gestion de bases de données proposé par Oracle enlibre-service. Contrairement aux logiciels concurrents tels quePatrol utiliséspour supervisés lesbasesdedonnéesOraclev7ietv8i.

Bienqu’il soit gratuit, ce n’est pas le critère qui a été pris en comptequant à l’adoptionde celogiciel.D’autrescritèresplus importantstelsque ladisponibilitédedocumentationsen ligne, lacertification de prise en charge des bases Oracle (versions supérieures à 8i) par OEM et de lafiabilitéd’Oracleontétéprisencompte.

b. BudgetHumain

Lesméthodes de déploiement et de configuration d’OEMont été supervisées par l’expert DBAOracledenotreéquipe,undeuxièmeadministrateurOracleetmoi-mêmependantunpeuplusde6mois.Pour des raisons de confidentialité, il n’est pas possible de fournir plus de détails vis-à-vis dubudgetallouéàceprojet.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|27

c. Délais

Ledétailduplanningprévisionnelestfournienannexe.Leprojetadébutélepremierdécembre2015ets’estréellementterminéele20mai2016.

Voiciunbrefrécapitulatifduplanningprévisionneldesdifférentesphasesduprojet

Figure3:Planningprévisionnel

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|28

II.3.5 Cahier des charges fonctionnel Outrelesbesoinsprécédemmentdéfinispourl’équipedeDBAentermesdemaintenance,OracleEnterpriseManagerCloudControlpossèdedenombreusesfonctionnalités.Iln’estpaspossibledetouteslesénumérericimaisenvoiciunelisterésumée:

• Fonctionnalités d'administration centralisée des bases de données pour la gestion desbasesdedonnéesOraclelocalesetdistantes.

• SimplificationdestâchesduDBAgrâceàuneinterfacegraphiqueintuitive.• ExécutiondetâchessanssaisiemanuelledelasyntaxeSQL,PL/SQLouRMAN.• GestiondesinstancesetdessessionsdebasededonnéesOracle.• Gestiondesobjetsde schéma, comme les index, les tables, lespartitions, lesvueset les

procéduresstockées.• Gestiondesutilisateursdebasededonnéesetdeleursprivilèges,profilsetrôles.• Gestion des exigences de la base de données enmatière d'espace physique et d'espace

logique,notammentlagestiondesfichiersdecontrôle,desespacesdisquelogiquesetdesfichiersdejournalisation.

• Entrée et extraction de données dans les bases de données à l'aide des assistants degestiondesdonnées.

• Impression et enregistrement des informations récapitulatives relatives à la base dedonnées,commel'ensembledesutilisateursdebasededonnées.

• Création et programmation des travaux de sauvegarde via les assistants de gestion dessauvegardes(disponiblessiconnectéeàOracleManagementServer).

• Visualisationdesdépendancespourlesobjetsdelabasededonnées.• Visualisation etmodification des données accessibles par l'intermédiaire des tables, des

vuesetdessynonymes.• Suppressionrapideetfaciledecolonnesdetable.• Analysedesobjetsdebasededonnéesàl'aided'assistants.• MiseàdispositiondeplusieursétatsprédéfinisquipermettentauxDBAdepersonnaliser,

deprogrammeretdepubliercesétatsvérifierl’étatdelabase.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|29

II.4 EtudedefaisabilitéA travers cette étude nous allons prouver que le projet est techniquement faisable etéconomiquement viable. Ainsi nous expliciterons dans cette partie les ressources techniques ethumainesnécessairesàlaréalisationdeceprojet.

II.4.1 Etude Réseaux LesétudesréseauxetmatériellesontétéréaliséessuccinctementcarlelogicielOracleGridControl10g, qui est une ancienne version d’Oracle Enterprise Manager, est installé et utilisé sur nossystèmesdepuisplusdecinqans.Lesélémentsinternesd’OEM12cétantsemblablesàceuxdelaversion10g,iln’apaséténécessairedefairedesétudesréseauxetmatérielsapprofondiespourimplémenterlasolutionCloudControl.NousallonsnéanmoinsexposericilesprérequisréseauxàrespecterpourimplémenterunesolutionOEMquelquesoitlaversionduproduitdéployée.

Pourcalculeretdoncconnaitrelenombred’environnementsCloudControlàinstallerenfonctionde l’éloignement géographique des cibles supervisées il faut connaitre les prérequis réseauxnécessaires pour la communication entre les composants d’OEM 12c ainsi que la performanceréseauxdesserveurshébergeantceséléments.(Voirtableaun°1)

LagestiondeserreursréseauxdeCloudControlestrobuste.Ellepermetentreautresdetolérerdes bugs et des interruptions réseaux entre les différents composants d’OEM. Toutefois, lesproblèmesréseauxentreunagentetOMSouentrelaconsoleetOMSn’ontquetrèspeud’impactsur lesperformancesglobalesdeCCcomparéàceuxpouvantaffectés lescommunicationsentreOMS et OMR. La connexion d’un agent ou d’une console à OMS peut être interrompue sansimpacterlesfonctionsdusystèmeCloudControl.Néanmoins,unproblèmeréseauxentreunOMSactifetOMRpeutréduirelesperformancesglobalesdusystèmedesupervision.Laconnexiondela console, le systèmedenotificationautomatique, l’exécutiondes tâchesetpresque toutes lesautresfonctionsdeCCpeuventêtreimpactés.

Enrèglegénérale,laperformanceréseauxminimalerequiseentreleshôtesOMSetOMRdictelechoix d’implantation géographique de ces deux composants car les performances réseaux decommunication entre les agents et le serveur OMS passent au second plan. Il n’existe pas delimitations spécifiques propres à l’application OEM car celle-ci a été conçue pour administrerplusieurscentainesdemilliersdeciblesparplusd’unecentained’administrateurs.

Letableau1metenévidencelabandepassanteréseauminimaleainsiquelalatencemaximaleàrespecterentreunOMSactif,labaseRepositoryetlesagentsOMA.LesprérequisnécessairesdeconnexionréseauxentreOMRetsesdisquesdestockagessontengénéralprisencomptelorsquel’hôte OMR n’est pas physiquement couplé avec ses propres équipements de stockage. Lesserveurs-hôtes situés dans le Cloud («Cloud hosting» ou «Cloud storage») représentent unexempleconcretdecetteréalité.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|30

Tableau1:Prérequisréseauxminimumnécessairesdeconnexion

Remarque:IlsembleimportantdesoulignerquelesprérequisdeconnexionréseauxexplicitésicisebasentsurlepostulatqueleréseauestentièrementdédiéautraficdeCloudControl.

Ce même tableau montre à quel point la bande passante minimal et la latence maximaledemandéesontbienplusexigeantesquecellesrequiseentre leshôtesOMAetOMS. Ils’agit icid’undifférentielde10xpourlalatenceetdeplusde3000xpourlabandepassante.Ilestessentieldeconnaitrelesordresdegrandeurdesprérequisréseauxentrelesdifférentscomposantd’OEMet de les comparer avec les performances réseaux de l’entreprise pour pouvoir allouerl’équipementadéquataubonfonctionnementdeCloudControl.EnraisondesfortesexigencesdeconnexionentreOMSetlestiersOMR,laplupartdessitesréunissentauseindeleur(s)centre(s)de données (Datacenters) aumoins un serveur-hôte dédié àOMS à celui dédié àOMR. EssilorpossèdeunéquipementréseauGigabitEthernet(GigE)ousupérieur.Noussommesdonccapablesde répondre au prérequis de 1Gbpsminimum demandé en bande passante entre les serveursOMSetOMR.

II.4.2 Ressources allouées Notremissionanécessitédemettreenplaceuncertainnombrederessourcesmatériels,logicielsethumaines.Voiciledétaildesressourcesutiliséesdurantleprojet.

II.4.2.1 Ressourcesmatériellesetlogicielles• Miseàdispositiond’unserveurLinuxx64• Créationd’unFilesystemde100Gosurledisquedurallouéauserveur• Créationd’uncomptesystèmeutilisateurstandardsurleserveur• Xming. Logiciel destiné à lancer les exécutablesDBCA (DatabaseConfigurationAssistant)

pour la création de la base Repository et OUI (Oracle Universal Installer) pour lancerl’installationdeCloudControl

• Putty. Logicieldeprisedecontrôleàdistancepourseconnecter sur le serveurdestinéàhébergerOracleEnterpriseManager12c.

Connexion entre les élémentsdeCloudControl

BandePassanteMinimaleRequise

LatenceMaximaleautorisée

ConsoleClient<->OMS 300Kbps 300msOMA<->OMS 300Kbps 300msOMS<->OMR 1Gbps 30msOMR<->StockageOMR 1Gbps 10ms

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|31

II.4.2.2 Ressourceshumaines:lesacteurs• ExpertAdministrateur base de donnéesOracle: Il a joué le rôle de superviseur pendant

touteslesphasesduprojet.SesconseilsetsesavertissementsontpermisànotreéquipederésoudrecertainspointsbloquantsnotammentsurlaphasedeconfigurationdeCloudControl.

• Unadministrateurbasededonnéessénior:Ilm’adonnélesréférencesdontj’avaisbesoindurantlaphasederecherchedesnouvellesfonctionnalités.

• Moi-même,apprentiadministrateurbasededonnées

II.4.3 Les risques et les impacts Le remplacementde la versiond’Oracle EnterpriseManager10gpar la version12centraineuncertainnombrederisquesauniveaudelasupervisiondesbasesdeproductiondontnousavonslacharge.Voici lesétapesauxquelles il a falluêtreparticulièrement vigilantauniveaudes risquesencourus:

1. Lerapatriementdenosbasesdedonnéessurlanouvelleversiond’OEMa. DésinstallationdesanciensagentsOEM10gb. InstallationdesnouveauxagentscompatiblesOEM12c

2. Laconfigurationdesseuilsd’alertesdesmétriquesdesbasesdedonnées3. Laconfigurationdesnotificationsdesincidents

II.4.3.1 Lesrisquesassociés1. La perte des informations de supervision. L’enjeu principal de cette étape a consisté à

maintenir la supervision continue de nos bases de données de production pendant lapériodedetransitionentreOEM10g-OEM12c.Afindeseprémunircontretoutediscontinuitédelasurveillancedecesbasesstratégiques,nousavons,dansunpremiertemps,testénosprocéduresdedéploiementdesagentssurdes serveurs qui hébergeaient des bases de données non-stratégiques pour l’entreprise.Nousavonségalementprofitédecespremiersdéploiementspour testernosprocéduresdeconfigurationdesseuilsd’alertesetdesméthodesdenotification.Cesétapesayantétéréaliséssansdifficulté,notreéquipeaoptépour:

• L’adoptionimmédiateetglobaledeCloudControlpournosbasesdedonnéesnon-

stratégiques.• Unetransitionlenteetprogressivedenosbasesdedonnéesdeproduction.

Nousavonsdoncgardél’environnementOEM10gpournousprémunircontred’éventuelsbugscritiquesdelanouvelleversion12cdéployée.Eneffetnousaurionspuàtoutmomentdéciderdereveniràl’ancienneversiondulogicielsidetelleserreursétaientsurvenuessurCloudControl.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|32

2. Lasurvenanced’incidentssurlesbasesdedonnées.Lorsquelesseuilsd’alertessontmalsconfigurés, certains problèmes peuvent ne pas être détectés à temps et le niveau deperformancedenosapplicationsetdenosbasesdedonnéesensubit lesconséquences.Celapeutnousmeneràdevoirarrêterunebasededonnéespourlaréparer(Downtime).Inversement, des seuils trop sensibles peuvent amener à ce que des alarmes soientdéclenchées à cause de simples opérations de routine de nos systèmes. Dans de telsscénarios,lesalarmesgénèrentdesalertessansqu’aucunmaln’aitétéfaitausystème.

Non-détectiond’alertesetd’incidents. Si laméthodedenotificationdesalerteset incidentsestmalconfigurée, lesadministrateursnesontpasnotifiésde l’apparitiondeproblèmesauseindeleurs bases de données. Par conséquent, si des alertes sont générées, celles-ci ne seront pastraitéesàtempsetdesincidentscritiquespeuventsurvenir.Delamêmefaçon,sidesincidentsnesont pas détectés, les performances globales des bases de données et des applications sontdirectementimpactéesetcelles-cipeuventcesserdefonctionner.

II.4.3.2 LesimpactsassociésLedéploiementdeCloudControlnousacontraintàmettreenœuvredenouvellesprocédures.

• Procédured’installationdelabaseRepository• Procédured’installationd’OEM12c• Procédurededéploiementdesagentsetd’ajoutdesbasesdedonnéesdansOEM12c• Procéduredeconfigurationdelaméthodedenotificationparmail• Procéduredeconfigurationdesseuilsd’alertesdebasesdedonnées• Procéduredecréationderèglesd’incidents

Toutes ces procédures ont dû être réalisées en amont de la phase de déploiement grâce à ladocumentation que l’éditeur Oraclemet en libre-service sur son site internet. Celles-ci ont ététestéeset validéespar l’expertadministrateurbasededonnéesOracledenotreéquipeetmoi-même.CloudControlafait l’objetd’uneétudeapprofondieetd’untravaild’uniformisationdesdiversesconfigurationsexistantesdesbasesdedonnées.CesprocéduressontparlasuitecommuniquéesauxéquipesDBAdeThaïlandeetpermettentdetransmettredesnouvellesméthodesetdenouveauxsavoir-faire.La clarification de l’expression du besoin, la rédaction du cahier des charges et de l’étude defaisabilité nous a permis de mieux appréhender les enjeux de la mission. Nous pouvonsmaintenant analyser l’architecture d’OEM 12c pour comprendre le fonctionnement interne dulogiciel.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|33

III La solution Oracle Enterprise Manager CloudControl12c

Danscettepartie,nousanalyseronstoutd’abordl’architecturedeCloudControletlesdifférentschoixdedéploiementquinoussontproposés.Nousseronsainsicapablesdechoisirl’architecturelogicielle d’OEM la plus à même de répondre aux besoins liés à la maintenance de nosenvironnementsinformatiques.Pourcefaire,nousdévelopperonslespartiessuivantes:

• Analysedel’architectured’OEM• LeschoixarchitecturauxdeCloudControl

III.1 Analysedel’architectured’OEMNousallonsexaminerdansunpremiertempsquelssontlescomposantscommunsauxdifférentesversions de l’outil de supervision sorties à ce jour. La structure classique de Cloud Control sedécomposeenquatrecomposantsprincipauxquisont:

1. LaconsoleCloudControl2. L’agentd’OracleManagement(OMA)3. LeserviceOracleManagement(OMS)4. LabaseRepository(OMR)

Chaquecomposantpeutêtreséparéparunfirewall.

Figure4:Architectured’OracleEnterpriseManagementCloudControl12c

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|34

III.1.1 Cloud Control Console LaconsoleCloudControlestuneapplicationbaséesurunnavigateurwebautraversdelaquellenouspouvonssuperviserdefaçoncentraliséelesenvironnementsinformatiques.Lapaged’accueildonneunevued’ensembledel’infrastructuretechniquesuperviséedanslaquellenousaccédonsàuneciblebienpréciseadministréeparlelogiciel.LaconsoleCCestcertifiéepourfonctionneraveclesnavigateursinternetlesplusconnuscommeInternetExplorer,Firefox,Safari,GoogleChromemaisaussiavecleplug-inAdobeFlashPlayerpourcertainesautresfonctionnalitésdelaconsole.

La console n’a pas besoin d’être installée par nos soins, c’est le service OMS qui se charged’affichercette interface. Ilsuffitd’ouvrirunnavigateur internetetdeseconnecterà laconsolevial’URLd’identificationd’EntrepriseManager.

La console d’OEM nous permet donc de nous connecter quasiment partout via son navigateurinternet. L’interface de la console étant codée enHTML, celle-ci utilise par défaut le protocoleHTTPS(ouHTTPsi l’accèsestnon-sécurisée)qui larenddoncfluide, faciled’accèset facilementconfigurablepourd’éventuelspare-feux.

Lamanièrelapluscourantedenousidentifierà laconsolesefaitpar l’intermédiairedelabarred’adresse du navigateur en utilisant le format suivant: <nom-serveur-hôte>:<port>/em.L’installationdeCloudControlrestreintlesaccèsdunavigateurpoursécuriserlescommunications(SSL), cependant après l’installation, celle-ci vous permet d’établir des accès HTTP avec uneconfigurationminimale.

Dans GC v10g, nous pouvions nous identifier directement via le serveur HTTPOracle (OHS) ouindirectement via OracleASWeb Cache qui vous relayait ensuite à OHS. En revanche, dans lesversionsOEM11getCC12c,vousnepouvons le fairequ’àtravers leserveurApacheWLS(WLSApacheWebServer)avecleprotocoleHTTPSetleportpardéfaut7799.Iln’yapasd’accèsparlecacheWebauxconsolesGC11getCC12c.

Dans la version 10g d’OEM, presque toutes les fonctionnalités de la console Java d’OEM v9iavaientétéreprisesetredéveloppéesencodeHTML.Pourexécuterlesanciennesfonctionnalitésdesversions9ipropresauxclientslourdsJavaquin’étaientpasencoredisponiblesdanslaconsoledeGC10gcommelagestionavancéedelaréplicationOracle,nousdevionstéléchargerlelogicielclientOracle10get installer lescomposantsde laconsoleJavad’OracleGC10g.LaconsoleJavad’OEMfonctionnedefaçonautonome,elleneseconnectepasauserviceOMS.DansGC11g,iln’yaplusbesoind’installeruneconsoleJavaenmodeclientlourd.DanslesversionsGC11getCC12c,touteslesfonctionnalitéssontaccessiblesvialeurconsole.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|35

III.1.2 Oracle Management Agent L’agent de supervision installé sur chaque serveur-hôte supervisé surveille ce dernier ainsi quetoutes lesciblesqu’ilhéberge.Celui-ci communiqueégalement toutes les informations relativesauxcomposantsciblésauserviceOMSprovenantdesproduitsOracleoudesociétésextérieures.CloudControlpeutsuperviserplusde200typesdeciblesdifférentes.Chaqueinstanced’untypedecibleparticulierprésentsurleserveur-hôtecomptecommeuneciblesupervisée.Lestypesdecible les plus répandues sont par exemple les instances de bases de données, les Listeners (ouAuditeur),leserveurOracleApplicationetleserveur-hôtehébergeantcesmêmescibles.

Lesplug-insd’OEMpermettentquantàeuxdecontrôlerdefaçonspécifiquedesciblesOracleetnon-Oracle.DanslesversionsGridControlv10getv11g,certainstypesdeciblescoupléesavecleproduit sont maintenant packagés comme de simples plug-ins dans CC 12c. Cela permet auxéquipesdedéveloppementOracledemettreàjourlesplug-insindépendammentdesversionsduproduitlui-même.Eneffet,lesplug-insétantàlafoisdéveloppésparlasociétéOracleetpardessociétéspartenaires,ceux-cisontnonseulementutilisésdanslesproduitsOraclemaiségalementdans beaucoup d’autres produits non-Oracle. Par exemple, les produits Microsoft SQL Server,Microsoft Active Directory, IBM WebSphere Application Server ainsi que d’autres produits lesutilisent.

LelogicielCloudControlsemonitorégalementlui-mêmeparconséquentunagentOMAdoitaussifonctionnersurtous lesnœudshébergeant lesservicesOMSetOMR.Surchaquehôtesurveillé,virtueletnonvirtuel,seulunseulagentdoitêtreopérationnel.Oracle certifie son agent pour les versions actuelles 12c (v12.1.0.2) sur les serveurs-hôtesd’infrastructure32-bit64-bitenpassantparlessystèmesLinuxx86-64etx86,OracleSolarisavecSPARC (64-bits), Oracle Solaris 64-bit, IBM Linux sur système Windows (x64 et x86) et HP-UX(Itanium,PA-RISC).

OMSfaitpartieduFrameworkd’OracleEnterpriseManager, l’agentestcodédans le langagedeprogrammation C pour des raisons de performance et de ressource. Les bibliothèques deprogrammationducœurOraclesontutiliséesparunprocessusparallélisé(multithread)etcesontOracleCallInterface(OCI)etOracleSecureSocketLayer(SSL)quisechargentdelesécuriserpardéfaut.Pourcomprendredefaçonpluspréciselefonctionnementdel’agentnousallonsexpliciterles étapes de découverte des cibles des agents à l’intérieur des serveur-hôtes sur lesquelles ilssonthébergés.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|36

III.1.3 Gestion et découverte des cibles supervisées Danscettepartienousallonsnous intéresserauxagentsde supervisiond’OEM.Lesagents fontpartie intégrante d’OEM. Nous expliquerons leur fonctionnent et le rôle qu’ils jouent au seind’OEM.

Il ne peut y avoir qu’un seul agent opérationnel au sein d’un serveur-hôte supervisé.Un agentOMSquiaétécorrectementinstallécommenceparsesurveillerlui-mêmepuisvérifiel’étatdesonhôte,duserviceOMSsicelui-ciestprésentetdesautresproduitsOracleprésentssurlamachine(Listeners,Basesdedonnéesetc.).Ilestànoterquel’agentlui-mêmeetsonhôtesonttraitésparCloudControlcommedesciblesàpartentière.Ladécouverteautomatiquedesciblescommencedès que l’agent est installé et démarré. Les cibles qui n’ont pas été découvertes par l’agentpeuventêtremisesenlumièreparlaconsoleOEM.Cettedernièreméthodepermetégalementdedécouvrirdenouvellesciblesdefaçonmanuelleouautomatique.

Lesciblespeuventsedécomposerenplusieurstypesdecatégoriescommenousl’avonsexpliquéprécédemment,cependant,uncertainnombredeplug-insdeGC11gn’ontpasencoreétémisàjourpourCC12cmaisilesttrèsprobablequ’ilssoientprisenchargedansunfuturproche.

L’agent utilise un niveau de supervision par défaut pour la récolte des données des ciblessurveillées.Cesdonnéessonttransmisesausystèmedesupervision.OMAenvoieimmédiatementles métriques d’alertes et émettent de façon périodique des informations de supervision auserviceOMS.L’agenteffectuedestâchespourlecomptedeOMSquipeuventêtrededifférentesnatures:

• Destâchesmétiersappelés«jobs».Cesontdesunitésdetravailcrééspourautomatiserdes tâches administrateurs comme l’application de patchs ou l’implémentation desauvegardesrégulières.

• Des tâches de coupure qui arrêtent la récolte de données sur les cibles supervisés poureffectuésdesmaintenancesplanifiées.Cescoupurespermettentd’obteniruneimageplusjuste et plus précise des performances de la cible supervisée car celle-ci permet nonseulement de libérer des ressources supplémentaires pour le serveurmais elle autoriseégalement l’arrêt planifié du service OMS. De ce fait, le contrat de niveau de service(ServiceLevelAgreement)delaciblenes’enretrouvepasaffecté.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|37

III.1.4 Oracle Management Service Dans la version 10g, le service OMS est une application de niveau intermédiaire basée sur laplateformeJava2EntrepriseEdition(J2EE)quigénèrel’interfaceutilisateur,c’est-à-direlaconsoleGC.LesagentstransmettentlesdonnéesrelativesauxciblessuperviséesauserviceOMS.Celui-citraite les données entrantes avant de les envoyer à son tour à la base de données dépôt, pluscommunément appelée Repository (OMR). La couche intermédiaire de Cloud Control estcomposéed’uneinstanced’OracleWebLogicServerv10.3.5quisechargededéployerl’applicationWebJ2EE.

NousdevonsinstallerOMSsurunouplusieursserveur-hôtesafindepouvoirgarantirpournotreenvironnement informatiquesupervisé,desniveauxdedisponibilitéetdeflexibilitéacceptables.Chaque servicede supervisiondoit êtreopérationnel sur le serveur-hôtequ’il héberge.OMSetOMR peuvent se situer sur le même hôte mais, pour des raisons de performance, Oracle nerecommande pas cette configuration pour un environnement de production de plus de millecibles.Tous leshôtesphysiquesd’OMSéchangentdefaçon indépendanteavec leserviceOracleManagementService.Enrevanche,plusieurshôtesd’OMSayantunrépertoirepartagépeuventsecoordonnerpourtraiterlatransmissiondesfichiersdechaqueagentdanscemêmerépertoire.

Le service de supervision d’Oracle est déployé avecWLS v11gR1 (10.3.5). Commenous l’avonsdéjàexpliqué, l’installationd’OMSestcoupléeavec l’installateurdeCC12c.Lorsqu’OUIcréerunnouveau système de supervision, une instance de WLS est installée dans le sous-répertoirewlserver_10.3 du répertoire dédié à la couche intermédiaire de l’application. (Par exemple:/u01/app/Middleware). OMS est déployé dans un nouveau domaine appelé GCDomain dansl’instance WLS et n’utilise aucun domaine déjà existant de l’architecture en place. Pourcomprendredefaçonprécisel’architectured’unserveurOMSilfautd’abordcomprendrelerôlequejouechacundesélémentsquilacompose.WLS10.3.5(quicontientleserveurHTTPOracle)etl’applicationJ2EEd’OMSquifontpartiedudomainedeWLSFusionréunissentàeuxseulscequenousappelonscommunément«OMS».

Tous les composants de ce service sont installés sur le même serveur indépendamment de laméthode d’installation de Cloud Control utilisée (via OUI ou installation silencieuse). On peutdéployernéanmoinsplusieursOMSsurdesserveurs-hôtesdifférents.Enrevanche,surchacundeces serveursdoivent êtreprésents tous les composantsd’OMSetdoiventobligatoirement faireréférenceàlamêmebaseRepositorypourunenvironnementCloudControldonné.ChacundecesservicescommuniquentaveclabasededépôtviaJDBCquisertd’interfacestandardJavapourlesconnexionsentreJavaetlesbasesdedonnéesrelationnelles.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|38

III.1.5 Oracle Management Repository NousexpliqueronsicilerôleetlefonctionnementdelabaseRepositoryauseindel’architectureOEM.Celle-cijoueunrôlecentraletnécessited’êtreétudiéepourcomprendresespossibilitésdedéploiementetdeconfiguration.

LabasededonnéesdépôtagitcommeunentrepôtdedonnéespourCloudControl.Celle-cipeutêtrepréinstalléemanuellementouparlemodèleEMdansl’assistantdeconfigurationdebasededonnées DBCA. Le Repository est créée par défaut par le schéma utilisateur SYSMAN, celui-cicontientlesinformationssurtouteslesciblesdeCloudControl,schémasadministrateurscompris.Labasededonnéesdépôtorganisetoutescesdonnéesdefaçonàcequ’OMSpuisseaccédermaisaussi afficher ces informations dans la console d’administration. Cloud Control n’utilise qu’uneseule base centrale Repository. Celle-ci peut être une base de données simple ou issue d’unensemble RAC et doit être en version 10gR2 (10.2.0.5), en 11gR1 (11.1.0.7.0) ou en 11gR2(11.2.0.1+)qu’Oraclepréconise.

Les consoles administrateur et agent communiquent avec OMS de façon directe ou parl’intermédiairedescripts(endehorsdesalertes).Ilsutilisentlesprotocolesréseauxrespectifs:

• Nouspouvonsémettredes requêtesdans la consoleà travers leprotocoleHTTP(S)dansnotre session de navigateur internet, celles-ci seront traitées par OMS. Le serveur varécupérer les données demandées par ces requêtes dans la base dépôt et les afficherdirectementdanslaconsole.

• Les agents envoient les informations au serveur OMS via le protocole HTTP(S) et lestransmet à son tour à OMR via JDBC (Java DataBase Connectivity). La base RepositoryretournecesdonnéesàOMSvia lemêmeprotocoleet les relaientà l’agentOMAviaunprotocoled’écouteHTTP.

Touteslesconsolesadministrateursontaccèsauxinformationsprésentesdanslabasededonnéesdépôtpourunniveaudedroitd’accèsdonné. Les informationsdontdispose labaseRepositorysont:

• Lesdétailsdeconfigurationsdesciblessupervisées.

• Lesinformationsdedisponibilitédesciblessurveillées.

• L’historiquedesmétriquesetdesinformationsrelativesauxalertes.

• Lesdonnéesconcernantlestempsderéponsedescibles.

• Lesinformationsd’inventairedespatchsetdesproduitsinstallés.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|39

Toutescesinformationsvontnouspermettre:

• De superviser l’ensemble de nos environnements (Bases de données, serveursd’application,serveur-hôtesetc.),lesapplicationsmodéliséesetlestâchesautomatisées.

• D’analyserlesdonnéesdestatutsetdeperformances.

• Demettreenplacedesniveauxdeserviceapplicatif(ASLMpourApplicationServiceLevelManagement).

• Depisteretd’effectuerdeschangementsdeconfiguration.

• Etdemeneràbienbeaucoupd’autrestâchespoursuperviserdessystèmesd’informationcomplexesfonctionnantdepairavecdestechnologiesOracleetnon-Oracle.

NousallonsmaintenantexaminerleschémautilisateurdeOMRainsiqueleschémapropriétaire,les«tablespaces»(segmentslogiquesdebasesdedonnées)etdesobjetsquifontpartiedecesschémas. L’utilisateur SYSMAN correspond à la fois au schéma propriétaire et au compte pardéfautduSuperAdministrateur.Onnepeutsupprimerourenommercecompte,celui-ciestutilisépour:

• Effectuer laconfigurationdeCloudControlcommeparexemple lacréationdeprivilèges,derôles,decomptesadministrateursouderèglesdenotifications.

• Ladécouvertedenouvellescibles

• La création de tâches génériques pouvant être exécutées sur tout hôte ou base dedonnées.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|40

III.1.6 Flux de données Afindemieuxcomprendrelemodèled’architecturedeCC,nousallonsmaintenantnousintéresserà la façon dont les composants interagissent. Le diagramme ci-dessous montre les différentesinteractionsquis’opèrentauseindel’outil.

Figure5:Fluxdedonnées

Nousallonsprocéderétapeparétapeensuivantlefluxdedonnées:

1°)LaconsoleOEMetlesagentspeuventutilisertroistypesdecommunicationsdifférents

a) Nous nous identifions dans la console en se connectant à l’adressehttp[s]://<serveurhôteOMS>/<port>/em via le serveurHTTPOracle (OHS) duWLS. L’URLd’identificationdépenddelasécuritédelaconnexionutiliséeparl’administrateur.

• Connexionsécurisée:https://<serveurhôteOMS>:7799/em

• Connexionnon-sécurisée:http://<serveurhôteOMS>:7788/em

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|41

b) L’agent envoie lesmétriques qu’il récolte et les alertes qu’il détecte à l’URL du serveurHTTPOracleduserveurWebLogic.OMAenvoieégalementpériodiquementdesmessagestestappelés«Agentping»àsonserviceOMSluifaisantétatdesadisponibilité.L’URLpardéfaut des deux types de communication se font via une connexion sécurisée ou non-sécurisée définie dans la propriété «REPOSITORY_URL» du fichier de configuration«emd.properties».

• Connexionsécurisée:https://<serveurhôteOMS>:1159/empbs/upload

• Connexionnon-sécurisée:http://<serveurhôteOMS>:4889/empbs/upload

c) L’agentcontourneleserviceOMSenseconnectantdirectementàlabaseRepositorypourlui rapporter tout changementdesmétadonnéesdes cibles superviséeset toutesalertescritiques.

2°)L’administrateurétablitsademandedanslaconsoleoul’agentémetlademandeàOMSpourlatransmettrevialeprotocoleHTTPouHTTPSàl’applicationOMS

3°)Leservicedesupervisiond’Oracleenvoielarequêteémisedelaconsoleoudel’agentàlabasededonnéesdépôtviaJDBC.Dèsréception,OMSaffichelerésultatdelarequêtedanslaconsoleadministrateur.

4°)OMScommuniqueavecOMAdeplusieursfaçons:

a) OMStransmetdirectementlesdonnéesàl’agentviaHTTP(S)àl’agentintégréauListenerHTTP. Celui-ci écoute l’URL de l’agent à l’adresse: http(s)://<OMAhost>:3872/emd/main(https par défaut), défini par la propriété «EMD_URL» localisée dans le fichier deconfiguration de l’agent «emd.properties ». OMS soumet également des tâches dedifférentesnaturesàtraverscetURL.

b) Si la communicationOMS-Agent échoue, le serviceOMSva vérifier le statutdu serveur-hôte sur lequel l’agent réside en lui envoyant des pings via des requêtes échos (EchoRequests)passantparleprotocoleInternetControlMessageProtocol(ICMP).

c) OMSenvoietoutelesrequêtesSQL*NETauxportsTCPdesListenersdesbasesdedonnéessupervisées sur les serveurs-hôtesoù les agents sont installés. (Ex:Applicationdepatchsurunebasededonnées)

Toutes ces informations peuvent être utiles pour identifier les sources possibles d’unproblèmedonné.

Atraversl’étudedétailléedel’architectured’OEM,nousavonspucomprendrelefonctionnementinterne de ses différents composants qui sont à l’origine de flux de données complexes. Cetteanalysevamaintenantnouspermettredecomprendrelesdifférentschoixd’architecturequenouspouvonsadopterpendantlaphasededéploiementdulogiciel.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|42

III.2 Leschoixd’implémentationd’OEMCloudControl12cAvant d’installer Cloud Control, nous devons prendre des décisions clés concernant le choixd’architectureadoptéparOEM12c.Decettefaçon,nousnousassuronsquelesystèmesurlequelnous opèrerons répondra aux prérequis nécessaires à la supervision de l’infrastructureinformatiqued’Essilor.Nosdécisionsdoiventprendreencomptedescritèresimportantstelsquele niveau de disponibilité nécessaire à l’environnement Cloud Control ainsi que le plan derécupération à adopter après désastre. Ces types de questions doivent peser sur le choixarchitecturaldeCCquenousimplémenterons.

Afindefournirunhautniveaudedisponibilité(HighAvailabilityouHA)etderepriseaprèssinistre(DisasterRecoveryouDR),nousavonsbesoindefaireappelauxservicesd’Oracleet/ouàd’autrestechnologiesdontOracleRealApplicationClusters(RAC),OracleAutomaticStorageManagement(ASM),StorageArrayNetworks(SAN)etNetworkAttachedStorage(NAS),dessolutionsexternesde récupération du cluster à froid (Cold Failover Cluster ou CFC), Oracle Data Guard, OracleRecoveryManager(RMAN),OracleFlashback,despare-feux,desserveursproxysetdesserveursderépartitiondecharges(ServerLoadBalancingouSLB).

Nous n’avons pas besoin d’intégrer ces technologies HA et DR lorsque l’on installe pour lapremièrefoisOracleCloudControlmaisilpeuts’avérerplusfaciledelefaireenpremiersicertainsprérequisdel’outilledemande.Ilafalluquenousprenionsencomptedesdécisionspréliminairesconcernantl’architectureàadopterpourpermettreàcestechnologiesd’êtreimplémentéesdanslefutur.

CettesolutiontemporaireapourbutdedonnerletempsnécessaireànotreéquipeDBApourlamiseenplaced’unearchitectureCloudControlHA/DRplusconforme.Uneanalysecoût/bénéficedoitêtreeffectuéeetpriseencomptepourévaluerleséconomiesdemain-d’œuvreréaliséesviala construction d’une architecture complète d’un système CC 12c vis-à-vis des coûts dereconfiguration des éléments de Cloud Control effectuée après mise en place de l’outil. Cetteanalyseadoncpourobjectifd’arriveràunearchitecturefinaledelafaçonlaplusefficiente.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|43

Auxbénéfices fournispar l’implémentationdeCCs’ajoutentencored’autresavantagesque l’onpeuttirerpourlareconfigurationdessolutionsHA/DR:

• NouspouvonscomptersurlesfonctionnalitéspropresàCloudControlpouraméliorerlessolutionsdehautesdisponibilitésetderécupérationaprèssinistrequiontétédéployées.Par exemple, OEM 12c peut aider à construire ou à convertir la base Repository pourOracleRealApplicationClusterquibénéficiedemeilleursstandardsdedisponibilités.Cetoutil peut également créer dans un premier temps une base de données temporairepouvanthébergerlesdonnéesdelabasededépôtetlaplacerdansunsecondtempsdansuneconfigurationDataGuardentantquebaseprimaire.

CloudControlpeutêtreutilisépourdéfiniretpisterunContratdeNiveaudeService(ServiceLevelAgreementouSLA)etdemesurerladisponibilitéetlaperformancedel’outilvis-à-visdecemêmeSLA.Apartir de cettedonnée,nouspourrions convenirquant à lanécessitéd’implémenterdesinstancesOMSsupplémentairesoudeconvertir labaseRepositoryenRACpoursatisfaire leSLAmisenplace.

• IlestpossibledemettreenplaceunsystèmeCloudcontrolsupervisantunenvironnementdeproductionetde le reconfigurerpourqu’il superviseunautre typed’environnement.Celasefaitpar lasuppressiondesciblesdeproductionetpar ladécouverteet l’ajoutdenouvellescibles.

Quel’ondécidedemettreenplaceunenvironnementCloudControlbasiqueenlaissantdecôtélesélémentsdeconfigurationsavancéeoud’installerunenvironnementCCaveclestechnologiesHAetDR,nousdevonsprendredeuxdécisionsclésconcernantl’architectured’OEM12cavantdel’installer.Pourcelanousnoussommesposéslesquestionssuivantes:

• Combiend’environnementsCloudControldevons-nousmettreenplace?

• Quelestletyped’installationdontnousavonsbesoin?

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|44

III.2.1 Définition du nombre d’environnements Cloud Control mis en œuvre UnenvironnementCloudControlsedéfinitparunsystèmecomposéd’unouplusieurscouplesdeserveurs-hôtesOMSetOMRassocié(s)àdesagentsOMAsur les serveurs-cibles supervisés. Lesenvironnements CC fonctionnement demanière indépendante. Ils ne communiquent pas entreeux et on ne peut pas les lier entre eux ou les sérialiser. La décision de la mise en place deplusieursenvironnementsdesupervisionOEMestdictéeparplusieurschoix:

• Nouspouvonsfaire lechoixd’utiliserdeuxenvironnementsCC.Nouspouvonschoisirparexemplede séparer la supervisiondenotreenvironnementdeproductiondenosautresenvironnementsmoinsstratégiques.

• Les limitationsduréseaud’entreprisepeuventexiger l’instaurationdeplusieurssystèmesOEM.

III.2.2 Environnement de production Vs Environnement de non-production L’élément décisif qui va déterminer le nombre d’environnements Cloud Control que nousutiliserons dépend du choix que nous aurons fait pour superviser nos environnements deproductionetdenon-production.Eneffetsinousdécidonsdeséparerleursupervision,lenombred’environnementsvaaugmenter.Noussommesdoncconfrontésàdeuxchoixdestratégie:

• Installer deuxenvironnementsCloudControl, unpour les ciblesdeproductionet l’autrepour ceux de non-production et de gestion de l’instance deCC (Mises à jour, correctifs,etc.)pourtesterleschangementsd’infrastructured’OEMetdelesappliquersurl’instancedédiéeàlaproduction.

• InstallerunseulenvironnementCloudControlpour lesuniversdeproductionetdenon-production.

Ilsemble importantdesoulignerque lesentreprisesutilisentsouventplusieurs instancesd’OEMpoursuperviserdesenvironnementsdenon-productionégalement.Unepourledéveloppement,unepourl’intégrationetc.Toutefois,unenvironnementdesupervisionestdanslaplupartdescassuffisantpourtestertoutchangementd’infrastructuredeCC.

Lameilleurepratique(BestPractice)reconnueestd’utiliserunsystèmeCloudControldédiépoursuperviser des cibles de production. Cette méthode empêche toutes cibles de non-productiond’impactersurleFrameworkCloudControldeproduction.

Sinousfaisonslechoixdeséparerlasupervisiondenosenvironnementsdeproductionetdenon-production, l’usageestd’implémenterd’abord lasolutionOEM12cpour lesenvironnementsdenon-production. Nous devrions alors assigner un ou plusieurs serveurs pour démarrer lesinstallations. Dès lors, nous devrions avoir décidé si ces serveurs-hôtes seront attribués à unenvironnementCCdeproductionoudenon-production.

NousallonsmaintenantdévelopperdeuxsectionsoùnousdétermineronsdansunpremiertempslenombredeserveursOMSetdeserveurshébergeantOMRnécessaires.Nousnousintéresseronsdansunsecondtempsàlaquestiondelaréuniondecesdeuxcomposantssurlemêmeserveur.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|45

III.2.3 Décision du choix d’architecture d’Oracle Cloud Control Les choix architecturaux de Cloud Control auxquels nous sommes confrontés doivent répondreauxquestionsessentiellesconcernantlesdiversesimplémentationspossiblesd’OEM.

• Quellearchitecturedebasededonnéesdevons-nousutiliserpourlabaseRepository?

• QuellearchitectureOMSdevons-nousdéployer?

• Avons-nousbesoinque labaseOMRetOMSsoientsur lemêmenœud lorsquecesdeuxélémentssontphysiquementaumêmeendroit?

Tableau2:Ordredegrandeurdessitessupervisés

Le tableau ci-dessus répond de façon résumée aux trois questions précédentes en listant lesconfigurationsrecommandéesparOracle.Celles-cisontdonnéesenfonctiondelatailledusitedeproductionquel’onveutsuperviser.Cetordredegrandeurestdéfinipartroisvariablesquisontlenombre de cibles, d’agents et de sessions concurrentes actives. Pour chaque taille de site, letableau liste lenombredeserveursOMSetOMRactifs*ainsique lenombre totalde serveursrequispourunetailledesitedonnée.CenombreminimumdeserveursprenddéjàencomptelasolutionoùOMSetOMRsontsurlemêmeserveur.

Remarque:Sinousavionsbesoind’unehautedisponibilitépournosbasestiercesOMR,nousenaurions également besoin pour les instancesOMS (actives ou passives). En effet, OMR etOMSdoivent fonctionner pour permettre à Cloud Control de rester opérationnel. Toutes lesconfigurationslistéesci-dessousprennentenconsidérationcesélémentsdeHA.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|46

III.2.4 Décision concernant sur le choix d’architecture de la base de données Repository

Nous pouvons installer OMR à partir de n’importe quelle version certifiée de base de donnéespour Repository sur une plateformedonnée.Néanmoins,Oracle nous recommande d’utiliser laversionlaplusrécentedelav11gR2.L’architecturedelabaseOMRàadopterdépenddescritèresdehautedisponibilitéqui sont en vigueur chez Essilor et de la taille denotre environnement àsuperviser.Ilexistedeuxchoixd’architectureCCdisponible:unequinedisposequed’uneseulebase Repository et une autre qui en dispose de plusieurs. Si nous avons besoin d’une hautedisponibilité pour notre base ou si nous devons superviser un environnement informatiquecomprenantplusde1000cibles,Oraclenousrecommanderaitalorsd’utiliserplusieurs instancesdebasesdedépôt.Cependant,nousnenoussituonspasdanscecas,parconséquentuneseulebaseRepositorysuffit.Nousavonsdonclechoixentredeuxtypesdebasededonnéesuniques:

• StandaloneDatabase:Uneseule instancedebasededonnéespeutêtreutilisée.Celle-cidisposedefichiersstockéssurleserveur.

• Oracle Restart database: Il s’agit d’une fonctionnalité des bases de données en version11g. Celle-ci est utilisée sur des serveurs qui ne sont pasmis en grappe. Oracle Restartredémarre automatiquement les éléments de la base de données (instance, service,listeneretinstanceASM)aprèsunéchecd’unmatérieloud’unlogicieloualorsencasderedémarrageintempestifduserveur-hôte.Toutefois,bienquecettefonctionnalitépuisses’avérerutile,celle-cin’estpasconsidéréecomme une solution de haute disponibilité car il n’existe pas de seconde instance deRepositorypouvantprendre lerelaisencasdepannecritique.Parconséquent,unebasede données Oracle Restart doit être considérée comme une simple base de donnéespendantl’étapededimensionnementdeCloudControletd’évaluationdescritèresHA.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|47

III.2.5 Décision concernant le choix d’architecture d’Oracle Management Server

Il existe plusieurs choix d’implémentation pourmaintenir un haut niveaude disponibilité sur leserveurOMS.Cessolutionsvontdépendredenosbesoinsentermesdehautedisponibilité.ServeurOMSsimple:UnseulserveurOMSpeutsuffiresil’environnementsuperviséparOEM12cest petit (inférieur à 1000 cibles) et s’il ne nécessite pas d’être hautement disponible. Ce cascorrespondàceluid’Essilor.MultipleServeursOMS:Sinousavionsbesoind’unehautedisponibilitépournotreserveurOMS,NousdevrionsdéciderdunombredeserveursOMSàimplémenteretdumodedeconfigurationdans lequel ils vont fonctionner. Il peut s’agir de configuration Actif/Actif ou Actif/Passif. NousdevrionségalementfairelechoixdelalocalisationdecesserveursOMS.

• Pourmaintenirunhautniveaudedisponibilitésurdepetitssites,deuxserveursOMSsontrequis.IlspeuventêtreconfigurésenmodeActif/ActifouActif/Passif.(Deuxserveurssonten effet requis pour la HA car un des deux serveurs peut rester passif dans desenvironnementsrelativementpetitscar lachargedestraitementseffectuésrestegérablepouruneseuleinstanced’OMS).

• Pour les sites supervisés de taillesmoyennes ou grandes, deux serveurs OMS enmode

Actif/Actifsuffisent.Toutefois,Ilexisteégalementunesolutionréunissantlesdeuxmodesde configurations cités. On peut par exemple utiliser la configuration Actif/Passif surchaque OMS déjà implémentés en mode Actif/Actif. Si les serveurs OMS sontgéographiquement éloignés l’un de l’autre, mettre en œuvre une solution CFC (ColdFailoverCluster)pourchaqueOMSactifpeutsemblerredondantvoireinutileétantdonnéque les serveursOMSactifs fournissent déjà unbonniveaudeHA. Cependant, le CFC al’avantagedefournirunesolutionlocaledeHA.

• Ilexisteplusieursfacteurspouvantjustifierl’implémentationdeplusieursserveursOMS.La

flexibilité, la haute disponibilité et les besoins en termes de couverture réseauxreprésentent tous des raisons valables pourmettre au point une telle configuration. Ledernier facteur précédemment évoqué est particulièrement important car lacommunication Agent-OMS nécessite une bande passante d’au moins 300 Kbps et unelatencemaximalede300ms.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|48

• Nous pourrions installer un serveur OMS actif ou passif à l’endroit où le dispositif derécupération aprèsdésastre (DisasterRecoveryouDR) estmis enplace.NouspourrionsconfigureruneinstanceOMSdeveilledepuislelieuderécupérationprêteàl’emploiencasdedésastre.Une instanceactivepermettraitquantàellede l’utiliser soitenSLB (ServerLod-balancer)pourrépartirleschargesentrelesdifférentsserveursOMSactifssoitenSLBgéographique ayant l’avantage de donner plus de flexibilité vis-à-vis des contraintesréseauxconcernantlescommunicationsOMS-Agent.

L’expertadministrateurbasededonnéesOracledenotreéquipeetmoi-mêmeavonsfaitlechoixdel’implémentationd’uneinstanceuniqueOMSauseindel’environnementCloudControlétantdonné lenombremodestedeciblesàsuperviserauseindenossystèmesdeproduction(<1000cibles).

III.2.6 Décision concernant le choix de regroupement du serveur OMS et de la base OMR

Aprèsavoirfaitlechoixdesarchitecturesd’OMSetd’OMR,noussommesmaintenantconfrontésàlaquestiondelaréuniondecesélémentssurlemêmeserveur-hôte.Ilexisteplusieurssolutionsà cettequestion car celles-ci dépendentdes choix architecturauxquiontétépris concernant labaseRepositoryetOMR:

• Installation d’OMR et d’OMS sur des serveurs hôtes différents: C’est la configurationadéquatepourdesenvironnementsCloudControldemoyenneetdegrandetaille(>1000cibles).

• Installationd’OMRetd’OMSsurlemêmenœud:OMSetOMRpeuventêtreinstalléssurlemêmenœud.Celui-cipeutêtrerépliquépourdesraisonsdehautedisponibilitéet/oudeflexibilité.

• Installationd’OMRetd’OMSsurlemêmeserveur-hôte:Cettesolutionn’estappropriéequesurdesenvironnementsCloudControldepetitestailles(<1000cibles)quinerequiertpas d’une haute disponibilité. C’est la solution la plus adéquate pour l’environnementinformatiqued’Essilor.

• Installationd’OMRetd’OMSsurdemultiplesnœuds:InstallerdesinstancesOMSsurdesnœuds de RAC OMR est une solution supportée par OEM 12c et appropriée pour desenvironnements CC de petites tailles. Toutefois, cette configuration peut présentercertainsdangerspourdesenvironnementsCloudControldeproductiondemoyennesetdegrandestailles.Eneffet,ilexisteundangerdesaturationdesressourcesdisponiblesdesnœuds pour OMR et OMS pendant les périodes de fortes charges. C’est la raison pourlaquelle les instances OMS doivent être installées sur des nœuds dédiés, séparés desnœudsdebasesdedonnéesOMRpourdessitesOEMdemoyennesoudegrandestailles.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|49

NotreéquipeDBAafaitlechoixdel’installationd’OMRetd’OMSsurlemêmeserveurhôteétantdonnélapetitetailledel’environnementCloudControlsupervisé.LespériodesdeforteschargesétantfacilementgéréesparOEM,nousavonsdécidédemaintenircetypedeconfigurationpourOEM12c.

III.3 ConclusionNousavonspugrâceà l’analysedesdifférentesarchitecturesdisponiblesdansCloudControldechoisirlaconfigurationdedéploiementlaplusadaptéauxbesoinsdenotreentreprise.Nousavonsfinalement opté pour l’installation d’OMR et d’OMS sur lemême serveur-hôte. Deux facteursessentielsontétéprisencompte:

• Lapetitetailledenosenvironnementsdesupervisions

• L’absencedebesoinentermesdehautedisponibilité

Maintenantquenousavons choisi laméthodededéploiementdeCloudControl,nouspouvonspassésàl’étapederéalisationduprojet.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|50

IV RéalisationDans les parties précédentesnous avonsdétaillé les prérequis liés à l’installationdesdifférentscomposantsd’OEM12cettrouvédessolutionspouryrépondre.Puisnousavonschoisi,àtraversune étude approfondie des différents choix d’implémentation proposé par Cloud Control,l’architectureOEMlaplusadaptéànosbesoins.

IV.1 IntroductionNousallonsmaintenantnousintéresserauxprocessusd’installationd’unebasededonnées11gR2préconfiguréepourhébergerlabaseRepository(basededépôtdesdonnéesOEM)deOEMCloudControl.Distingueronslesétapessuivantes:

• Partie I:Cettepremièrepartieexplicite lesétapesnécessairesà l’installationd’unebasededonnéesenmodeRepository,celle-cisedécomposeendeuxsous-parties:• Effectuerune installation logicielsimple (sofware-only)d’unebasededonnées11gR2

et lui appliquer le plus récent ensemble de patchs disponible (Patch Set Update ouPSU).

• Créer une base de données via l’assistant de configuration de base de données(Database Configuration Assistant ou DBCA) avec le nouveau modèle nommé«DB11.2.0.4 EM seed database» qui préconfigure la base Repository avec tous sesobjets.

• Partie II:Cette seconde partie décrit comment terminer la configuration de la base dedonnéespoureffectuerdesopérationsspécifiquesàunebaseRepository.

o Configurationdesredologso ImplémentationduHugePageo Activationsdefonctionnalitésavancées

Danscesdeuxparties,nousallonsexplicitertouteslesétapesd’installationd’unebasededonnées11gR2 selon lesmeilleurespratiquesde l’ArchitectureOracledeDisponibilitéMaximum (OracleMaximumAvailabilityArchitectureouMAA).

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|51

IV.1.1 Installation d’une base de données Repository Avantdeprocéderà l’installationd’OEM12c,nousdevonsdansunpremier temps installerunebasededonnéesdestinéeàhébergerOMR.Nous allonsexpliquer lesprocédures à suivre concernant les installationsdeGrid Infrastructure(GI), de la base de données et de l’application de leur PSU respectif. Ceux-ci peuvent êtreappliquéessurdesarchitecturesdebasededonnéesindépendantesouengrappe(RAC).

• 1erétape(facultative):InstallationdeGIOraclehomeavecsondernierPSU(Sinousavionsrecoursà l’architecturedeGI).Nousn’utiliseronspascettesolutiontoutefoisnousavonsjugéimportantd’inclurelesprocéduresàsuivrepourmettreenœuvrecetteméthode.

• 2èmeétape:InstallationdelabasededonnéesOracle11gR2avecsondernierPSU.SinousutilisionsGI,nousdevrionsappliquerledernierPSUdeGIsurlabasededonnéescarcelui-cicontientégalementlamêmeversionduPSUpourlabasededonnéeselle-même.

Il est important de respecter l’ordre des étapes indiquées. Si nous utilisions GI, nous devrionsprocéder à l’installationde la basededonnéeset de sonPSU seulement après avoir installé etpatchéGI.Patcherlelogicieldebasededonnéesavantquecelle-cinesoitinstalléefaciliteraitleprocessus d’installation car cela permettrait de contourner les étapes de post-installation descomposants.Ils’agiticidelameilleureméthode(Bestpractice)concernantlacréationd’unebasededonnéesOracle.Enrèglegénérale,nousprocéderionsàl’installationdeGIetdesondernierPSUpuisrefuserionsl’étapedecréationdelabase.DansunsecondtempsnousappliquerionsGIavecsondernierPSUetferionsdemêmepourlabasededonnées.Enfin,NouslancerionsDBCAenmodeindépendant(standalone)pourenfincréerlabasededonnées.Remarque: Il est fortement recommandé par Oracle d’installer la dernière version certifiée debasededonnéesetduPSUpourlaquelleilexisteunmodèleEnterpriseManagerdansDBCApourprofiter des dernières fonctionnalités de la version 11.2, des derniers correctifs de bugs et del’utilisationd’EMtemplate.Bien que nous ayons opté pour une installation basique de bases de données (correspondantuniquementà ladeuxièmeétapecitéeci-dessus)pourhébergerlesdonnéesd’OMR,nousavonsdécidéd’explorerlesopportunitésquepourraientnousapporterl’architectureGridInfrastructure.En effet, le seul fait de pouvoir redémarrer automatiquement tous les services d’une base dedonnéesaprès leredémarrage(prévuou imprévu)d’unserveurreprésenteraituneaméliorationnon négligeable concernant la disponibilité de nos bases de données. De ce fait, nous allonsbrièvementnousintéresserauxétapesd’installationdecelogiciel.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|52

IV.1.2 Etape 1 : Installation du logiciel Grid Infrastructure (facultative) Laprocédured’installationdeGIetdesondernierPSUpeutdifférerselonlechoixd’architectureadoptéparlabasededonnées(Simpleouengrappe):

• InstallationdeGIsurserveurindépendant(OracleRestart).• InstallationdeGIsurunclusterdeserveurspouruneconfigurationenRACouORON.

Nousdévelopperonsicibrièvementlesétapesfondamentalesdecesprocédures.Duranttouteslesétapesd’installation,nousdevonsprendrelesoindevérifierquelaversiondelabase de données installée par GI et celle de Cloud Control implémentée au sein du systèmeinformatiquesontcertifiéespourfonctionnerensemble.

a. InstallationdeladernièreversionlogicielleGI11gR2

Sinouschoisissonsd’utiliserGridInfrastructure,nousdevonsinstallerladernièreversiondel’outildisponiblepourlaplateformeduserveursurlequell’installationestmiseenœuvre.IlfautdeplusquenousnousassurionsquelaversiondulogicielimplémentéeestcertifiéepourfonctionneraveclaCloudControl12cetqu’ilexistelaversionéquivalentepourlabasetemplate.

b. InstallationdudernierPSUdeGIpourlelogicieldelabasededonnées11.2.0.x

Après l’installation de la dernière version de Grid Infrastructure, il nous faut lui appliquer ledernierensembledecorrectifs(PSU).

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|53

IV.1.3 Etape 2 : Installation du logiciel de base de données Nous allons expliciter la procédure classique de l’installation du logiciel de la base de données11gR2.Nousindiqueronscependantlesoptionsàsuivrequisontadaptéesauxchoixd’Essilor.Option d’installation: Il nous faut choisir l’option «Installer uniquement le logiciel de base dedonnées».Commenousl’avonsdéjàexpliqué,nousdevonsd’abordappliquerledernierPSUdelabasededonnéesavantd’installerlabasededonnéeselle-même(étapesuivante).Optiond’installationGrid:Nousavonslechoixentretroisoptionsd’installation.Seullechoixenbleuestadaptéaucontexteetauxchoixd’Essilor:

• Installationd’uneseuleinstancedebasededonnées(Single-instancedatabase)• InstallationdebasesdedonnéesenmodeOracleRealApplicationClusters(modegrappe)• InstallationdebasesdedonnéesRACOneNode(Uneseule instancedebasededonnées

estactivéeparmilagrappe)

NousavonsmaintenantaccèsauxélémentsdeconfigurationssuivantviaDBCA:• Langage du produit: Il s’agit de l’étape de sélection de la langue, Essilor demande

d’installer les produits Oracle en anglais afin d’être en accord avec la configurationeffectivesurlesserveursdeThaïlande.

• Typedelabasededonnées:Pourlesmilieuxprofessionnelscommelenôtre,ilnousfautchoisirlaversionEnterpriseEditionmaiscen’estpastout:nousdevonscocherlacasedepartitionnement Oracle. C’est une option obligatoire car la base Repository crée unnombreconséquentdetablespartitionnéesetd’indexesdansleschémaSYSMANafindestocker les nombreuses métriques de supervision. Les autres éléments listés sontfacultatifs.

• Localisation de l’installation: nous devons spécifier un certain nombre d’élémentsconcernantlechemind’installationdulogicieletceluidelabaseOracle:

o Chemind’installationdelabase(OracleBase):/u01/app/oracleo Chemind’installationlogiciel(SofwareLocation):

/u01/app/oracle/product/11.2.0/db_1• Groupe d’appartenance système (Operating System Groups): Il nous faut spécifier les

valeurs concernant les groupes d’appartenance système pour les groupes OSDBA etOSOPER:

o Grouped’administrateurbasededonnéesOSDBA:dbdb.Essilorachoisi lavaleurdbdb.

o GroupedesopérateursOSOPER(Facultatif):dbdb.Essilornespécifiepascechamps

• Sommaire:Vérificationdeschoixeffectuésetfinalisationdel’installation.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|54

IV.1.3.1 InstallationdudernierPSUComme nous l’avons déjà mentionné, après l’installation du logiciel de base de données nousdevonsluiappliquersonPSUleplusrécent.UnelistedesPSUestdisponibledanslesnotesMOS(MyOracleSupport)n°7566671.1auchapitre«PatchsOracleRecommandés–BasesdedonnéesOracle».

IV.1.3.2 ModèleEnterpriseManagerDBCAAvantdecommencer cettepartie, ilnous faut impérativementnousassurerque le logicielGridInfrastructure(siGIestchoisi)ouquelelogicieldebasededonnéesaitétéinstalléavecsonPSUleplusrécent.Cettedernièreétapeconsisteàcréerunebasededonnéesconformepourservirdebasedépôt(Repository)enfaisantappelàl’assistantdeconfigurationdebasededonnéesDBCA.Celui-ciestdirectementexécutabledanslerépertoire$ORACLE_HOME/bin.Pour créer une instance unique (single instance) de base de données pour la base Repository,Oraclerecommanded’utilisersonpropremodèledebasededonnéesnomméeEMtemplatequenousallonsbrièvementintroduire.IntroductionaumodèleEMtemplate

Enplusdecréerlastructureadéquate,EMtemplatedéfinituncertainnombredepropriétésquivont s’aligner avec les prérequis de la base Repository. Par exemple, l’outil peut définirautomatiquement les valeurs les plus compatibles concernant attributs de stockage, lesparamètresd’initialisationetc.

Dans lapremièreversiondeCloudControl (v12.1.0.1), seul l’installeurdeCCpouvait installeretconfigurerlabaseRepository.Toutefois,lesversionsCC12.1.0.2ousupérieurscontiennentensonseinunmodèleDBCApréconfiguréappelé«DB11.2.0.3EMseeddatabase»ou«EMtemplate»qui va nous permettre de créer une base de données 11.2.0.3 contenant une base Repositorypréconfigurée.De telles bases de données diffèrent des bases de données classiques tant dansleurs structuresquedans leursdonnées. Dans ce casprécis, la base crééepar le EM templateissuedeDBCAcontiendradèssacréationunebasededonnéesRepositorycontenant:

• Tous les schémas requis par OEM Cloud Control 12c: SYSMAN, SYSMAN_APM,SYSMAN_MDS,SYSMAN_OPSSetSYSMAN_RO.

• Tous les espaces de stockages logiques (Tablespaces): MGMT_AD4J_TS,MGMT_TABLESPACEetMGMT_ECM_DEPOT_TS)

• Lesdifférentsobjetsdebasesdedonnées.

LemodèleEMtemplateapparaitdansl’outilDBCAdanslafenêtredeschoixdesmodèlesdebasesdedonnéesàcôtédesautrestemplatesstandard.

Vis-à-vis de cette option, l’équipe DBA a opté pour suivre les recommandations d’Oracle et desélectionner le modèle spécialement destiné à OEM 12c. En effet, faire le choix d’un modèlestandard d’EM template pour une base Repository demanderait des étapes de configurationsmanuellessupplémentaireset fastidieusesdans lesétapesd’installationsetdepost-installationsdelabasededonnées.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|55

Cela impliquerait notammentde consulter ladocumentationoracleen lignepoureffectuerunesérie de scripts supplémentaires sur la base Repository. Cela aurait pour effet de ralentirconsidérablementl’étapedeconfigurationd’OMR.

IV.1.3.3 ConfigurationdelabasedépôtavecEMtemplateAvant l’avènement du modèle EM template pour les versions Cloud Control 12.1.0.2 etsupérieures, il nous fallait sélectionner un modèle EM générique dans DBCA et configurermanuellement les propriétés de la base de données pour qu’elle puisse accueillir une baseRepository.Parexemple,nousdevionsspécifiquementexpliciterlesparamètresd’initialisationetla taille des journaux d’évènements (Redo Log). Aujourd’hui, quasiment toutes les étapes deconfiguration de la base de données sont effectuées par l’assistant de configuration avec letemplateEM.Celui-ciestspécialementconçupourcréerunebasededonnéesaveclespropriétés,lesstructures,lesdonnéesetlesobjetsadéquatspourservirdebaseRepositoryàCloudControl.Néanmoins,ilexisteplusieursprérequisetquelquesbonnespratiquesqu’ilnousresteàeffectuer.

L’équipe DBA a fait le choix d’adopter la plupart des éléments de la configuration par défautproposéeparletemplateEMdel’outilDBCApourdesraisonsdesimplicitéetdemaintenabilitéetd’adéquationavecnosbesoinsactuels.Nousnousintéresseronsdoncdansunpremiertempsauxoptionsquidiffèrentvis-à-visde laconfigurationpardéfautpuis,dansundeuxièmetemps,auxétapesdeconfigurationdelabaseRepositoryqueletemplateEMnecouvrepas.

IV.1.3.4 Paramètresd’initialisationChoixsurletypedemémoireutilisé:LorsdelaconfigurationdelabaseRepositoryvialelogicielDBCA, il estpossiblede choisir un certainnombredeparamètred’initialisationdont celui de lamémoire. Lors de cette étape, nous avons le choix entre l’optionde gestion automatiquede lamémoire (Automatic Memory Management ou AMM) qui est coché par défaut et l’option degestion automatique du partage de la mémoire (Automatic Shared Memory Management ouASMM).CesoptionssonttouteslesdeuxdeschoixvalidespourgérerlamémoiredédiéeàlabaseRepository.Néanmoins,nousavonsoptéspourletypedemémoireASMMcarseulcelui-cipermetl’implémentation de la configuration HugePages qui fait partie des meilleurs pratiques (BestPractices ou BP) préconisées par Oracle. Bien qu’il s’agisse ici d’une configuration optionnelle,celle-cipermetdebénéficierd’unplusgrandespacedemémoirepartagé(SystemGlobalAreaouSGA)pourtouslesprocessusOracle.Parconséquent,leHugePagesaméliorelesperformancesdelamémoiremêmepourdesallocationsmémoirestrèsfaibles(2Gominimum).

Nousnousintéresseronsplusendétailsàlamiseenplacedecetteconfigurationunpeuplusloindanscettepartie.

Choixsurlejeudecaractèreutilisé:Lorsduchoixdujeudecaractères(CharacterSet)utiliséparlabasededonnées, lemodèleEMTemplatechoisipardéfautceluiquiestutiliséparlesystèmed’exploitationduserveur.NousavonschoisicommeOracle le recommande,d’adopter le jeudecaractère Unicode qui permet de stocker plusieurs groupes de langages. Bien que la politiqued’Essilor soit d’utiliserprioritairement l’anglais sur ses logiciels, notreéquipeDBAa choisi cetteoptionpourdesraisonsdeflexibilité.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|56

Redéfinitionde la tailledesgroupesdesRedoLogs: Lorsduchoixde l’allocationmémoiredesgroupesderedologs,ilnousfautspécifieràlafoislenombredegroupesàcréeretlenombredemembresàutiliserdanschaquegroupe.

Concernantlatailledesfichiersredoquenousdevonsadopter,lemodèleEMTemplatecréepardéfauttroisgroupesderedologsde100Mo.NotreéquipeDBAafaitlechoixd’agrandircettetailleà600Mopourrespecterlesrecommandationsd’Oracle.Eneffetcettetailleestplusappropriéeaveclenombrederedologsquepeutgénérerunpetitenvironnementdeproductionquichangedefichierslogstoutesles20minutes.Deplusagrandirlatailledecesfichiersdiminuentlesopérationsdemaintenancelesconcernantetaméliorelesperformancesdel’écritureetdel’archivagedelabasededonnées.

Il est plus aisé de laisser l’installateur DBCA créer des fichiers redo logs avec la bonne taillemémoirequedelamodifiermanuellementplustard.Lataillepréconiséedecesfichiersdépenddel’importancedu système supervisé par CloudControl. Voici le tableau ici des recommandationsd’Oracle:

Tableau3:Adéquationentrelatailledusitesuperviséetlataillerecommandéedesredologs

Tailledusitesupervisée TaillerecommandéedesfichiersRedoLog(Mo)Petite 600Moyenne 1024Grande 1536Lorsdel’étapedecréationdesgroupesderedologs,lemodèleEMTemplateproposepardéfautdenecréerquetroisgroupesdecesfichiers.Cependant,nousavonsoptéspourlacréationd’ungroupe supplémentaire servant de de groupe tampon (Buffer group) et ce, malgré la taillemodeste de notre environnement à superviser. En effet, une base de données en modeARCHIVELOG restera en suspend si un groupe de redo logs est sollicitémais ne peut pas êtrearchivé.

Enfin,concernantlenombredemembresredologàcréerpourchacundecesgroupes,nousavonsoptépour lemultiplexagedes fichiers redo loget les fichiersdecontrôle. Il s’agit icid’uneBestPracticerecommandéeparOracleetquenousavonsadoptée.

Rappel:Lesfichiersredologspermettentàlabasedegarderunetracedetouteslesaltérationsdedonnées,ainsiencasdecrashdelabase,ilspermettentderejouerlesmodificationsapportéesàlabase.Cesfichiersdoiventêtreaumoinsaunombrededeuxetnécessitentuneattentiontouteparticulièretantauniveaudelasauvegardequedel'optimisationdesaccès.

En mode ARCHIVELOG, les redo logs sont archivés afin de garder une trace de toutes lesmodificationsapportéesetnonpasseulementdanslalimitedelatailledesfichiersderedolog.

Sauvegarde du Template EM: Après ces étapes de configuration du template EM, nous avonschoisi comme nous le propose l’outil DBCA de sauvegarder cemodèle au cas où nous aurionsbesoindecréerundeuxièmeenvironnementCloudControl.Eneffetlamiseenplacedenouvellesbases aux Etats-Unis et en Asie nous forcera peut-être de monter des environnements de

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|57

supervision entièrement dédiés à ces sites. De ce fait, sauvegarder ce Template présenteraitl’avantagedenepasrepasserparlesétapesdeconfigurationdumodèlelorsdelamiseenplaced’unefuturebaseRepository.

IV.2 ConfigurationdelabasededonnéesRepositoryL’étape de configuration de la base Repository a un double objectif: elle doit répondre auxprérequis imposés par l’installation d’OEM 12c et d’implémenter un certain nombre defonctionnalitésnécessairesaufonctionnementetàlafiabilitédelabaseRepository.

LesétapesdeconfigurationdelabaseRepositoryquisuiventsontàeffectueraprèsl’exécutiondeDBCA.

Lapremièreétapeconsisteàrenommerlesfichiersdedonnées(Datafile)deCloudControlpourqu’ilscorrespondentauxnomsattenduparl’installeurdeCloudControl:OracleUniversalInstallerouCCOUI.Deplus,ayantchoisilemodedegestiondesdonnéesOMF(OracleManagedFile)nousdevonsdésactiver l’optimisateurde récupérationautomatiquedesstatistiques.Cetteétapedoitfaire l’objet d’une attention toute particulière car elle peut bloquer le logiciel OUI de CloudControl.

LesautresétapesdeconfigurationontpourprincipalobjectifdesuivrelesBestPracticepréconiséspar Oracle en termes de disponibilité d’une base de données 11gR2 (Maximum AvailabiltyArchitectureouMAA).CesmeilleuresméthodessontdécritesdansladocumentationquefournitOraclesursonsiteinternetetsontaussibienpertinentespourunebaseRepositoryquepourunebasededonnéesstandard.

CeslignesdirectricespeuventêtremisesenpratiqueàlafoissurdesbasesenmodeGrappe(RAC)etsurdesbasesdedonnéesindépendantes.VoicidonclesétapesdeconfigurationsadditionnellesàeffectuersurlabaseRepositoryfaisantpartiedesBestPracticesreconnuesparOracle:

1) Renommage des fichiers de données Cloud Control destinés à aligner leur nom avec ceuxattendusparl’installeurdeCloudContolOUI.

2) Désactivationdel’optimisateurderécupérationautomatiquedesstatistiques.3) Définitionduparamètred’initialisationcompatibleaveclaversiondupatchappliquéeàlabase

dedonnées.4) Créationdegroupesde redo logsadditionnels (Ayantchoisi lemodedegestiondestockage

desdonnéesOMF,nousdevonsfairecetteétapeaprèsavoirexécutél’outilDBCA).5) Vérificationdel’adéquationdelaconfigurationdusystèmed’exploitationduserveurlocalavec

laconfigurationNLSdelabasededonnéesRepository.6) Vérificationdel’adéquationdesfuseauxhorairesentrelesystèmed’exploitationduserveuret

celuidelabasededonnées.7) ImplémentationduHugePages.8) ActivationdumodeFlashbackpourlabasededonnées.9) ActivationdumodeFORCELOGGING.10) ActivationduBlockChangeTrackingpourlamiseenplacedesauvegardeincrémentale.11) ExécutionduKitdeprérequisdeOEMenmodeindépendant.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|58

Seuleslesétapesenbleuferontl’objetd’explicationsdétaillées.L’ordred’implémentationdecesétapesn’apasd’importancecarcelles-cisontindépendanteslesunesdesautres.

Pourdesraisonsdesécurité,nousavonschoisid’effectuerunesauvegardedelabasededonnéesRepository.Decette façon, labasedonnéesetsaconfigurationpourrontêtre restauréesencasd’erreursirrécupérablesdelabasededonnéesdurantlesmanipulationsàsuivre.

IV.2.1 Renommage des fichiers de données Cloud Control Ayant sélectionné le mode de gestion Oracle-Managed File durant la création de la base dedonnéesdansl’onglet«Chemindestockage»deDBCA,nousdevonsimpérativementrenommerlestroisfichiersdedonnéescréésparcetoutilpourqu’ilscorrespondentauxnomsattendusparlelogicielinstalleurdeCloudControl.Eneffet,ilnenousestpaspossiblederenommerdirectementlesfichiersdecontrôledurantl’étaped’installationd’OEMCloudControl.Voicilamarcheàsuivre:

SQL>selecttablespace_name,file_namefromdba_data_files;SQL>AltertablespaceMGMT_AD4J_TSoffline;SQL>!mvo1_mf_mgmt_ad4_8gmfqckg_.dbfmgmt._ad4j.dbfSQL>Alterdatabaserenamefile‘/orahome/app/oraoem/oradata/EMREP/datafile/o1_mf_mgmt_ad4_8gmfqckg_.dbf’to‘/orahome/app/oraoem/oradata/EMREP/datafile/mgmt._ad4j.dbf’;SQL>AltertablespaceMGMT_AD4J_TSonline;

IV.2.2 Désactivation de l’optimisateur de récupération automatique des statistiques

Il s’agit icide l’uniqueprérequisauquel l’outilDBCAnepeutpas répondrependant laphasedecréationdelabasededonnées.Ils’agiticid’uneopérationdemaintenanceàlaquellenousavonsimplicitement adhéré lorsque nous avons laissé par défaut l’option «Activer les tâches demaintenanceautomatique»danslesoptionsdegestiondeDBCA.

Notre expert administrateur base de données Oracle et moi-même avons laissé cette optioncochée car elle permet d’activer deux tâches (jobs) supplémentaires qui s’avèrent utiles pouradministrerplusfacilementlabaseRepository.Ils’agitdesfonctions«AutoSpaceAdvisor»etde«SQLTuningAdvisor».

Larequêtesuivantepermetd’afficherl’étatdecesfonctionnalités:

SQL>SelectCLIENT_NAME,STATUSFROMDBA_AUTOTAST_CLIENT;

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|59

Tableau4:Statutactifdel'AutoOptimizerStatsCollection

CLIENT_NAME STATUSAutoOptimizerStatscollection ENABLED*AutoSpaceAdvisor ENABLEDSQLTuningAdvisor ENABLED*ActivéPourdésactiverl’optimisateurautomatiquederécoltedesstatistiques,nousdevonsexécuterlescommandes suivantes puis vérifier à nouveau le statut de cette fonctionnalité en exécutant denouveaulacommandeexplicitéeci-dessus:SQL>execDBMS_AUTO_TASK_ADMIN.DISABLE(SQL>client_name=>‘autooptimizerstatscollection’,SQL>operation=>NULL,SQL>window_name=>NULL);

IV.2.3 Création de groupes de redo logs additionnels Lorsdelacréationdelabasededonnées,l’assistantDBCAnecréequetroisgroupesderedologsqui représente le nombreminimum requis pour effectuer des opérations sur une base Oracle.AyantvoulusuivrelesmeilleuresméthodespréconiséesparOracle,nousavonscrééungroupederedo log supplémentaire (Groupe 4). Ayant opté pour l’option OMF, nous devons créermanuellement ce groupe additionnel car l’outil DBCA n’est pas encore capable de gérer cetteétapecréation.

Voicilenomdel’utilisateursystèmeetlacommandeSQLquinousontpermisdecréercenouveaugroupe:

ATLERDATABASEADDLOGFILEGROUP4SIZE600;

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|60

Implémentation des HugePages Sur la plupart des systèmes d’exploitions UNIX (Linux et AIX compris) et Windows, Oraclerecommandeauxadministrateursdeconfigurerl’optiondesHugePages(GrandesPages)pourdesbases de données dont le SGA (System Global Area) est supérieure à 2 Go. Cette option nouspermet également de mieux supporter l’allocation mémoire des instances ASM (AutomaticStorage Management). La fonctionnalité HugePages est aussi connue sous le nom de «LargePages» pour les systèmes AIX et Windows. Afin de rester dans le contexte d’Essilor, nous neparleronsiciquedesétapesd’implémentationdecettefonctionnalitésurunsystèmeLinuxx64.

HugePages est une fonctionnalité intégrée dans les systèmes Linux depuis la version 2.6 quipermetd’utiliserdegrandesquantitésdemémoireSGAde façonoptimaleen s’assurantque lamémoire ne fait jamais appel au disque dur. HugePages nous permet d’utiliser des pagesmémoiresbeaucoupplusimportantes(2Moou4Mo)comparéesauxpagespardéfautdetaillede4Ko.Celaapourprincipalavantaged’améliorerdefaçonconséquentelesperformancesdelabasededonnéessurLinux.Lesavantagesdecettefonctionnalitésontd’autantplusmarquésquenousdisposonsdeserveursdegrandescapacitésdontlamémoiredépasse100Go.

Le seul point sur lequel nous devons prêter attention concerne la restriction sur le type demémoire choisi durant l’étapede configurationde lamémoiredeDBCA. Eneffet, commenousl’avons explicité précédemment dans ce mémoire, HugePages ne peut pas être utiliséconjointementaveclagestionautomatiquedelamémoire(AutomaticMemoryManagementouAMM). Nous devons veiller à cocher le mode de gestion automatique de mémoire partagée(Automatic Shared Memory Management ou ASMM). Par conséquent, il a fallu peser lesavantagesetlesinconvénientsavantd’opteraufinalpourlemodeASMM.Deuxcritèresontétédécisifs:legainconséquentdeperformancesoulignéparOracleetlagrandequantitédemémoiredontnosserveursdisposaient.Nousavonspudecefaitallouerplusde100Gosansinconvénients.

Pourvérifiersicettefonctionnalitéestimplémentée,ilsuffitdetaperlacommandesuivante:grepHuge/proc/meminfoLe tableau suivant montre la différence de configuration entre le HugePage configuré et nonconfiguré.

Tableau5:Hugepage

HugePagenonconfigurée HugePageconfiguréechezEssilorAnonHugePages 53248Ko AnonHugePages 55296KoHugePages_Total 0 HugePages_Total 2050HugePages_Free 0 HugePages_Free 1551HugePages_Rsvd 0 HugePages_Rsvd 1550HugePages_Surp 0 HugePages_Surp 0Hugepagesize 2048Ko Hugepagesize 2048LesvaleursrecommandéesdespropriétésdutableausontdéfiniesdansleMOSID401749.1

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|61

IV.2.4 Activation de la base de données Flashback (Flashback Database) LabasededonnéesFlashbacknouspermetderestaurerunebaseàunmomentprécisdesonétatantérieur sans utiliser le moindre media. Lorsqu’une base de données est active, FlashbackDatabaseécritdansunezonetampondesimagespasséesdesblocksdedonnées(Datablock)dansles fichiers logsdeFlashback.Ceux-cisontgénéréspardéfautdansdestablespacespermanentslocalisés dans la zone de restauration rapide du système (Fast RecoveryArea ou FRA). Les logsFlashbackpermettentàlabasededonnéesFlashbackdegagnerdutempssurlacorrectiond’uneerreurinattenduenrestaurantlabaseoriginaledansunétatprécédentjugéplusfiable.

L’équipeDBAadoncadoptécettefonctionnalitépourluidonnerplusdeflexibilitélorsd’erreurscritiques inattendues. En effet, l’expert DBA Oracle de notre équipe et moi-même avonsdéterminéqu’ilestparfoisplusjudicieuxderestaurerunétatantérieurfiableplutôtqued’essayerdetrouverlasourcedel’erreuretdelacorriger.Cetypederestaurationestd’autantplusefficacequ’ilestrapideàmettreenœuvre.

Afin de mettre en œuvre cette fonctionnalité, il est indispensable d’activer le mode FORCELOGGING.

IV.2.4.1 ActivationdumodeFORCELOGGINGPourfinaliserl’activationdeFlashbackDatabasenousavonsdûactiverlemodeFORCELOGGING.Cetteoptionpermetdeforcer l’écriturederedologpourcertainstypesdecommandeSQLn’engénérant pas par défaut. Par exemple, les commandes de créations de table CREATE TABLEautorisentlaclauseNOLOGGING.Ceciapourinconvénientmajeurd’empêcherlarestaurationdecettetableàunétatantérieur.

Parconséquent,nousavonsdoncactivécettefonctionnalitépourpermettreàlabasededonnéesFlashbackdeconstruireuneimagefidèledelabaseRepository.

PouractiverlamodeFORCELOGGING,ilsuffitd’exécuterlescommandesSQLsuivantes:

SQL>shutdownimmediate;SQL>startupmount;SQL>alterdatabaseFORCELOGGING;SQL>alterdatabaseOPEN;

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|62

IV.2.5 Activation du Block Change Tracking Lorsque l’on active cette fonctionnalitédansunebasededonnées v11g,Oracle fait l’inventairedes chemins physiques de toutes les modifications de la base afin de créer une sauvegardeincrémentaledansletemps.Decefait,lelogicielRMAN,quiestl’outildegestiondessauvegardeset de restaurations des bases de données Oracle, utilise automatiquement cet inventaire pourdéterminerlesblocksdedonnéesquidoiventêtreluspendantunesauvegardeincrémentale.

Dans un deuxième temps, RMAN accède à ces données pour les sauvegarder. Lorsque lafonctionnalitéBlockChangeTrackingn’estpasactivée,c’est l’intégralitédublocdedonnéesquidoitêtreluparRMAN.Deplus,siunetoutepetitepartiedesdonnéesdublocaétémodifiée,c’estleblocdedonnéestoutentierquiserasauvegardé.Ceciapourprincipaldésavantagedegrossirinutilementlatailledessauvegardeseffectuées.

Nous avons donc décidé d’activer cette option qui permet d’optimiser la taille mémoire dessauvegardeseffectuées.

Cetteoptions’activeàpartird’unfichierbinaire localisédans lazonederécupérationrapidedusystème (FRA). Ce fichier est localisé dans le même répertoire que les fichiers de la base dedonnées.

Pourvérifiersicettefonctionnalitéestactivéeilsuffitd’exécuterlacommandeSQLsuivante:SQL>Select*FromV$BLOCK_CHANGE_TRACKING;Voicicommentprocédermaintenantàl’activation:SQL>AlterdatabaseenableBLOCKCHANGETRACKING;

IV.2.6 Exécution du Kit de prérequis de OEM en mode indépendant LekitdeprérequisEnterpriseManagerestunlogicielquivérifiedefaçonautomatiquesitouslesprérequisnécessairespourlabaseRepositoryontétéinstallés.Eneffet,nousdevonsnousassurerquetouscesprérequissontsatisfaitspourprocéderàl’installationdeCloudControl.Cekitpermetégalementd’entreprendrecertainesactionscorrectivesquandunprérequisfaitdéfaut.

L’installateur OUI d’OEM 12c exécute automatiquement ce kit mais nous pouvons égalementl’exécuter indépendamment de cet outil comme nous l’avons fait en exécutant la commande :emprereqkit

Notre expert DBA et moi-même avons pensé qu’il serait plus pratique de corriger lesmanquements signalés dans le rapport transmis par cette commande que de les résoudre à lavoléependantl’installationdeCloudControl.

Lavalidationdesprérequisparcekitreprésentel’aboutissementdesétapesdeconfigurationdelabase Repository. Il va maintenant falloir installer OEM 12c et le configurer à son tour pourbénéficierdesfonctionnalitésdenotificationsd’alertesetd’incidents.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|63

IV.3 InstallationetConfigurationd’OracleEnterpriseManagerCloudControlDans cette partie nous allons principalement nous intéresser aux étapes de configuration dusystème de supervision. Cela nous permettra notamment de bénéficier des fonctionnalitésavancées de notification d’alerte et de configuration des seuils de métriques. Les étapesd’installation du logiciel et de l’agent sont consultables dans les annexes de cemémoire. Voicidonclesétapesdeconfigurationquel’onaeffectuépourOMSetOMR:

• Réactivationdel’optimisateurderécupérationautomatiquedesstatistiques• Miseenœuvredesvariablesd’environnementsurleserveur-hôteOMS• PlanificationdespurgespériodiquesdesfichierslogsdeCloudControl• MiseenplacedelapolitiquedesauvegardedescomposantsdeCloudControl

IV.3.1 Réactivation de l’optimisateur de récupération automatique des statistiques

Lorsdel’étapedeconfigurationdelabaseRepository,nousavionsdésactivécettefonctionnalitéafindenousprépareràl’installationdeCloudControl.UnefoisOEMdéployé,ilestimportantderéactiver l’optimisateur de récupération automatique des statistiques pour optimiser les plansd’exécutiondescommandesSQL.Pourcefaire,ilsuffitdeprocéderdelamanièresuivante:SQL>execDBMS_AUTO_TASK_ADMIN.ENABLE(SQL>client_name=>‘autooptimizerstatscollection’,SQL>operation=>NULL,SQL>window_name=>NULL);Larequêtesuivantenouspermetdevérifierlestatutdecettefonctionnalité:SQL>SelectCLIENT_NAME,STATUSFROMDBA_AUTOTAST_CLIENTorderby1;

Tableau6:Statutinactifdel'AutoOptimizerStatsCollection

CLIENT_NAME STATUSAutoOptimizerStatscollection ENABLED*AutoSpaceAdvisor ENABLEDSQLTuningAdvisor ENABLED*Activé

IV.3.2 Mise en œuvre des variables d’environnement sur le serveur-hôte OMS Commepourunegrandemajoritédelogicielsinformatiques,OEMCloudControlestplusfacileàadministrer lorsque l’on peut définir des variables d’environnement qui viennent raccourcir etdoncsimplifiercertainesécrituresdecheminsderépertoire(cheminsabsolus).L’utilisationdecesvariablesd’environnementpeutmêmes’avérerobligatoirelorsquel’onveutdémarreroustopperunélémentdeCloudControl.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|64

Par exemple, pour stopper ou démarrer l’agent OMA, nous avons dû mettre en mettre lesvariablesd’environnementsuivantes:

exportAGENT_HOME=/IDBO/oem/core/12.1.0.4.0exportORACLE_HOME=/IDBO/oem/core/12.1.0.4.0exportPATH=$ORACLE_HOME/bin:$PATHIlsuffitmaintenantdelancerlescommandesd’arrêtoudedémarrage:

Tableau7:Commandesd'arrêtetdedémarragedel'agent

Consignesadministrateur

Commandessystème

Réponsesattenduesdusystème

Démarragedel’agent emctlstartagent ‘AgentisRunningandReady‘Arrêtdel’agent emctlstopagent ‘AgentisnotRunning‘Statutdel’agent emctlstatusagent ‘Agent is Running and Ready ‘/ ‘Agent is not

Running‘

IV.3.3 Planification des purges périodiques des fichiers logs de Cloud Control Les fichiers logsgénérésparCloudControlpeuventnousêtreutilespourdébogueret résoudrecertainsproblèmesd’accèsàlaconsoleOEMetdetransmissiondesdonnéesdesagents.Touslesfichiers logsgénérésparOMSetWLS (WebLogicServer)dépassantunecertainetaillegénèrent,une foisarrivésà leur limite (5Mo)denouveaux fichierseteffacent lesanciens fichiers logsdefaçonautomatique.Cependant,toutes lesanciens logsnesontpassystématiquementeffacésetrequièrentunesuppressionmanuelledelapartdel’administrateur.

Sans cette intervention, l’espace disque que nous avons alloué à OMS pourrait se saturerrapidementcequiauraitpourconséquenced’arrêterlesactivitésdesupervisiondeCloudControlcommel’envoiedesalertes,larécoltedesmétriquesetlatransmissiondesdonnéesdesagents.

Etant donné la taille modeste de notre environnement de supervision et de l’espace disquedisponiblesurnotreserveurOMS,l’équipeDBAaplanifiéeunepurgedesanciensfichierslogstouslestrentejours.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|65

Mise en place de la politique de sauvegarde des composants de Cloud Control Afin de finaliser les étapes d’installation et de configuration d’OEM12c, notre équipe amis enplace une politique de sauvegarde de Cloud Control pour se prémunir contre des défaillancesmatérielles, logicielles et humaines qui pourraient potentiellement nous amener à repasser partoutes lesétapesd’installationetdeconfigurationeffectuées jusqu’àmaintenant.Voicidonc lesdifférentespartiesdenotrepolitiquedesauvegarde:

• Sauvegarde de la base Repository: La base de donnéesOMR ainsi que son logiciel sontsauvegardésrégulièrementselonlesmeilleuresméthodesrecommandéesparOracledontvoicilerésumé:• Sauvegarde des répertoires Oracle homes et de l’Oracle Inventory dans la zone de

sauvegardedusystèmed’exploitationduserveur.• SauvegardedelabasededonnéeshébergeantlabaseRepositoryaveclelogicielRMAN

vialaconsoleCloudControlouviadesscriptsdelignesdecommandes.• Planificationdesauvegardesrégulièresd’OMS:

• Sauvegarde des répertoires Oracle homes et de l’Oracle Inventory dans la zone desauvegardedusystèmed’exploitationduserveur.

• Capturedelaconfigurationd’OMSvial’utilisationdesfonctionnalitésemctlsuivantes:Emctlexportconfigoms-dir<backup_dir>-sysman_pwd<pwd>

Ainsi,ensauvegardantàlafoislesdonnées(datafile)etlelogicieldelabaseRepository,ilestaiséderecréeruneimagefidèledelabaseaprèslasurvenanced’undésastre.

IV.4 ConfigurationdelaconsoleCloudControlUne fois finalisée l’installation et la configuration d’OEM12c, il nous fautmettre enœuvre lesméthodesdesupervisiondestinéesàsurveillerl’activitédenotreenvironnementdeproduction.

LesétapesdeconfigurationdeCloudControls’effectuentviasaconsole.Nousyaccédonsdepuisunnavigateur internet avecuneURL indiquéeparOEM lors de son installation. Ces étapesontpour objectif d’activer les fonctionnalités de notification d’incidents survenus sur les bases dedonnéessupervisées.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|66

IV.4.1 Mise en place des méthodes de notification Lesméthodesdenotificationreprésententlesmécanismespermettantdenouscontacterlorsquecertainsévènementsontlieu.Parexemple,l’apparitiond’alertesdemétriquesoulechangementde l’étatd’unebasesontdesévènementsquidoiventnousêtrenotifiésenpermanenceafindenous permettre d’administrer correctement nos bases de données. Nous avons fait le choix denotificationssousformedemailsdestinésàlamessageriecommunedenotreéquipeenFranceetàcelledeThaïlandequi travailleencollaborationavecnousenhorairedécalé. Ilexisted’autresmoyensdenotification(procéduresPL/SQLouscriptsOSetc.)maispourdesraisonsdesimplicitéetdemaintenabiliténousavonsdécidéd’adoptercemoyendecommunication.

Pourrecevoirdesnotificationsausujetdecertainsévènements,l’administrateurdoitenpremiersouscrire à des règles de notifications que nous expliquerons plus en détail dans la suite de cemémoire.Danscesrègles,ilestpossibleentresautresdedéfinirlesdestinatairesdesnotificationsmaisaussi lanaturedesévènementsdontnoussouhaitonsnousteniraucourant.Pourcefaire,l’administrateurdoitavoirconfiguréaupréalableuneméthodedenotification.

a. ServeurMail

LemailrestelaméthodedenotificationprincipalequenousutilisonschezEssilor,qu’ils’agissedesuperviser des environnements de production ou de non-production. Pour mettre en place cesystème,ilfautqu’unsuperadministrateur(notreexpertDBA)définisseaumoinsunserveurmailàtraverslequelCloudControlpuisseenvoyerdesnotificationsauxdifférentsadministrateurs.Lechamp du serveur mail sortant (SMTP) sur la page présentée ci-dessous contiendra déjà uneentréesil’onaspécifiéunserveurSMTPlorsdel’installationdeCloudControl.Pour que nous puissions fournir une haute disponibilité concernant la transmission denotificationsilnousestpossibledespécifierdesserveursmailsadditionnels.Unefoisquetousleschampssontspécifiés,ilneresteplusqu’àtesterlaconfiguration.

b. Spécificationdesadressesmailspourlesutilisateurs

Maintenant que nous avons configuré le serveurmail sortant nous devons définir les adressesmails des administrateurs chargés de lamaintenance des bases supervisées. L’image ci-dessousmontrelasectiondelaconsoleutilisateuroùl’onpeutrenseignercesadresses.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|67

Pour finaliser cetteétape,nousdevonsutiliser la fonctionnalitéde testproposéepar leproduitpours’assurerdel’intégritédesadressesrenseignées.

c. Configurationdel’emploidutempsdesnotifications

Atraverscettefonctionnalité,ilnousestpossiblededéfinirpourchaqueadministrateurdenotreéquipe les adresses et les horaires pendant lesquelles ils recevront les notifications de CloudControl.L’emploidutempsestconfigurable.Nouspouvonsparexemplerenseigneruneadressedenotificationdifférentepourchaqueheure.Encequiconcernenotreéquipe,nousavonslaisséles notifications activées à toutes les heures durant toute la semaine, weekend compris pourl’adressemailde l’expertDBAOracledenotreéquipe.Eneffet, celui-cidirige lesopérationsdemaintenanceenFranceetenThaïlandeetdecefait,ildoitresternotifiéenpermanence.

L’emploidu tempsproposéparCloudControl autorisedes rotationsallantd’uneàhuitheures.Celaestd’autantpluspratiquequebeaucoupdeprofessionnelsde l’informatiquetravaillentsurunerotationdeseptjourscomposéedecinqjoursouvrésetdedeuxjoursderepos.

Voicilamarcheàsuivrepourmeneràbiencetteétape:

1. Définirdeshorairesetdelarotationeffectuéesurl’emploidutemps.

2. Renseignerlafréquencederotationdésirée

3. Modifierouremplacerl’emploidutempsexistant

4. Définirladatededébutdel’emploidutempsàLundi.

5. Choisirlefuseauhorairedanslequell’administrateursesitue

Figure6:Miseenplacedesadressesmailsdesadministrateurs

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|68

d. SécuritédeCloudControl

La sécurité est une partie importante de l’administration d’Oracle EnterpriseManager. Celle-cis’est beaucoup renforcée dans la version 12c vis-à-vis des versions 10g et 11g via l’apparitiond’identifiantspartagés.

Cettenouvellefonctionnalitépermetàcertainsprivilègesdontnousdisposonsd’êtreattribuésàplusieursautresadministrateurs(situésenThaïlande).Decefait,celaréduitconsidérablementlenombredepersonnessepartageant lesmêmesmotsdepasse.S’agissant icid’uneaméliorationde sécurité substantielle, j’ai été chargé d’étudier ce sujet afin d’en expliquer les avantages àl’expert DBA oracle de notre équipe dans l’optique d’une future implémentation de cettefonctionnalité.

Nous nous intéresserons également aux améliorations concernant les commandes Sudo etPowerBroker.

Figure7:Ecrandel’emploidutempsdesnotificationsàl’œuvrechezEssilorFigure8:EcrandemiseenplacedelapérioderotationchezEssilor

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|69

IV.5 ConclusionL’étape de configuration de Cloud Control nous a permis d’implémenter des fonctionnalitésessentiellesàlasupervisiondenosbasesdedonnées.Eneffet,lesfonctionnalitésdenotificationd’alertesetd’incidentssontcellesquenotreéquipeutiliseprincipalementpoursurveillerl’activitéde nos bases de production dans la version 10g d’OEM. Cependant, afin d’être notifier desévènementssurvenussurnosbasesdedonnéessupervisées,ilestnécessaireque:

• LabaseRepositoryfonctionnecorrectement• L’agentprésentsurleserveuretlesagentsprésentssurlesserveurs-ciblesfonctionnement

également• LeserviceOEMsoitactivé

Nedisposantpasdedispositifsderedondance,nousnepouvonspasassurerencasdesinistrelacontinuitédelasupervisiondenosbasesdedonnées.Decefait,siunincidentcritiqueàlieupendantlamaintenanced’OMRoud’OMS,nousneserionspasnotifiésdecetévènement.Enrevanche,nousdisposonsdessauvegardesnécessairespourrécupérerl’intégralitédenotrebaseRepositorysicelle-civenaitàtomberenerreur.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|70

V AprèsProjetMaintenantquenousavonsdéployéetconfiguréOEM12c,nousallonsexpliciterdanscettepartiecomment fonctionne l’administration d’OEM. Cette première étape est nécessaire pourcomprendre par la suite les améliorations qui ont été apportées dans Cloud Control. Dans unsecond temps, nous donnerons les explications nécessaires à l’exploitation des nouvellesfonctionnalitésd’administrationdeCloudControl afinque leséquipesdeThaïlandepuissententirerparti.

V.1 ConduiteduchangementDanscettepartienousallonsanalyser lesprincipalesaméliorationsd’administrationquiontétéapportéesdanslaversionCloudControlpuisbrièvementexpliquercommentlesexploiter.

Avantdecommencerlaphased’analysenousallonsmettreenévidencelesdifférentsacteursdel’administration d’Oracle Enterprise Manager afin de mieux comprendre le fonctionnement del’outildanssaglobalité.

V.1.1 Détails et explications de l’administration de Cloud Control Chaque utilisateur de Cloud Control est appelé administrateur. Il existe trois types d’utilisateurOEM:l’administrateur,lesuperadministrateuretlepropriétairedelabaseRepository.LecompteSYSMANestl’uniquepropriétairedecettebasededonnées.Lesuperadministrateuraquantàluitous les privilèges dont dispose un administrateur standardmais il dispose également de ceuxpermettantdegérertouslesadministrateursauseindel’environnementCloudControl.

CommelerecommandeOracle,chaqueutilisateurdeCCdisposeauseindenotreéquipedesonpropre compte, composéd’un identifiantetd’unmotdepassequi lui appartient. Il existe troistypes de rôles disponibles pour un administrateur: le concepteur et l’opérateur et le superadministrateur:

• Le Super Administrateur: Un compte Super Administrateur est semblable à un compteadministrateurstandard,néanmoinscelui-cidisposedelacapacitédegestiondescomptesadministrateurs de Cloud Control. Celui-ci dispose d’un accès total à toutes les ciblesmonitoréesparOEM.Deplus,lesuperadministrateurdisposedesdroitsdecréationetdemodificationdecomptesadministrateurs.

• Le concepteur: Un concepteur est un administrateur disposant des autorisations luipermettantdecréerdesmodèlesdeprocéduresdedéploiement,desplansetdesmodèlesdecorrectifs.

• L’opérateur: un opérateur est un administrateur qui dispose de droits réduits sur lesprocéduresdedéploiementet lesbibliothèques logiciels.Unopérateurdéploieetutiliselesprocédures,lespatchsetlesmodèlesdecorrectifs.Iln’estpascensémodifiernimêmecréercesprocédures.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|71

• LepropriétairedelabaseRepository:LepropriétairedelabaseRepositoryappartientàlaclasse des Supers Administrateurs et possède des droits additionnels lui permettant degéreretdemaintenircettebase.Pardéfaut,lecompteSYSMANestlepropriétairedecettebaseetsonutilisationestréservéeàdesopérationsdemiseàjouroudemaintenancedelabaseRepository.

Au sein de notre équipe, nous disposons tous de comptes administrateurs nominatifs. L’expertDBA Oracle dispose quant à lui du compte Super Administrateur car il est le responsable desopérationsenFrance.

V.1.2 Analyse des améliorations d’administration Lesaccréditations

Lesaccréditions(credentials)sontaucœurdelasécuritéd’OEMCloudControl.Lorsquenousnousconnectons à l’interface de l’outil, nous n’avons d’abord accès qu’à une vue basique desinformationsde supervision récoltés par les agents. Pour accéder à une vision complètede cesinformations il est nécessaire que nous nous identifiions à la base de données via uneaccréditationdéfiniepourchaquecompteutilisateur.Celapermetànosdéveloppeursdebasesdedonnées, à nos gestionnaires et à notre équipe administrateurs de se connecter à la base enutilisant nos accréditations respectives. C’est une mesure essentielle pour sécuriser et auditerOEM.

Lesaccréditations sontmaintenantgéréesde façonnominative.Plusprécisément, celles-ci sontsauvegardéessousformedenomscequifacilitegrandementleurgestionmaisaussileurpartage.Lesnomsdesaccréditationssontsauvegardésetpeuventêtreutiliséspourseconnectersurdesciblessupervisées.Deplus,desaccréditationspréférentiellespeuventêtreutiliséspouruncertainnombredeconnexionpardéfautetpeuventêtresauvegardéesdanslabaseRepository.

Lanouvellefonctionnalitédepartagedesaccréditationsprésenteplusieursavantages:

• Réductiondupartagedesmotsdepasses:NotreexpertDBAOracleestmaintenantlaseulpersonneayantbesoindeconnaitrelemotdepasseducomptesystempourunebasededonnées.Les informationsdeconnexionsontcachéesmaispeuventêtrepartagéesentreplusieursautresadministrateurs.

• Miseenplacedepermissiondegroupe:Ilnousestpossiblededonneraccèsàunebasede données à certains groupes d’utilisateurs uniquement. Par exemple, nous pouvonsdéciderquetous lesadministrateursconcepteursaientaccèsenlectureseulementàunebasededonnéesquiinitialementleurétaitinterdite.

Il s’agit icid’unefonctionnalitéquinousaétéparticulièrementutile lorsde laconfigurationdesseuils d’alertes des métriques et des règles d’incidents. En effet, mon compte administrateurstandardapuhériterdecertainsdroitsducompteSuperAdministrateurdel’expertDBAdenotreéquipe.Decefait,celam’apermisdeconfigureravecsonaccordetsespréconisationsuncertainnombredecesdispositifs.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|72

Accréditationsnominatives

Les accréditations nominatives (Named credentials ou NC) sont sauvegardées et associées àchaqueadministrateurdans labaseRepository.Celles-cipeuventcontrôlerselon leurnature lesaccèsàunebasededonnées,unserveur-hôteoubienuneapplication.Aucœurdel’accréditationsont définis un identifiant et un mot de passe qui sont associés au type de cible visé. Uneaccréditationnominativepeutêtreutiliséesuruneouplusieursciblessilesidentifiantsetlesmotssontlesmêmespourchacuned’entreelles.LesNCpeuventêtregéréesdansOEMCloudControlvia la fenêtre «Security Named Credentials». Nous pouvons y supprimer ou modifier lesaccréditationsexistantesouencoreencréerdenouvelles.

Lacréationd’accréditationvarielégèrementenfonctiondel’authentificationexigéeparletypedeciblesélectionnédansle«TargetType».

Cechampdétermineégalementlespropriétésquiserontdisponiblesdanslapartie«propriétédel’accréditation»

Accréditationsautomatiques

Les accréditations automatiques sont stockées et assignées en général à des cibles spécifiques.Néanmoins, nous pouvonsmettre en place ces accréditations pour des cibles ou des types deciblesplusgénéralesvial’outild’accréditationautomatique«PreferredCredential».Sicestypesd’accréditations ne sont pas définies, nous sommes contraints d’entrermanuellement la bonneaccréditationàchaquefoisquenousdésironsavoiraccèsàtouteslesinformationsdelacibledontnoussouhaitonsnousrenseigner(l’accèsauxinformationsbasiquesn’exigentpasd’accréditationsparticulières).

Figure9:Fenêtredecréationd’uneaccréditation

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|73

ChezEssilor,lamiseenplacedecesaccréditationsestpeuenvisageablecarchaqueserveur-hôte,chaquebasededonnéesetchaqueapplicationrequiertdifférentsidentifiantsetmotsdepasse.Ilfaudrait par conséquent créer autant d’accréditations qu’il existe de cibles différentes. C’est laraisonpourlaquellenousn’envisageonspaspourlemomentdemettreenplaceuntelsystème.

Accréditationsdesupervision

Les accréditations de supervision sont utilisées par les agents OMA pour superviser des ciblesspécifiquesdansl’environnementOEMCloudControl.Celles-cipeuventêtremisenœuvreparunSuperAdministrateuret fonctionnerpour tous lesagentssi les identifiantsdeconnexionsur lesserveur-hôtessontlesmêmes.Demanièregénérale,nousattribuonsuneaccréditationspécifiquepourchaqueserveursurlequelunagentestinstallé.L’accréditationestrenseignéeuneseulefoislorsdelaphasededéploiementdel’agentsurleserveur-hôte.

CesaccréditationssontessentiellespourlebonfonctionnementdeCloudControletsontfacilesàmaintenir. Il est indispensable que nous changions les mots de passe des accréditationsrenseignées dans OEM lorsque nous changeons les mots de passe système (ou de base dedonnées).

Cetteremarqueestd’autantplusimportantequenotreéquipemetenapplicationsapolitiquedechangementdemotsdepassepourrenforcerlasécuritédesessystèmes.

Délégationdedroits

La délégation de droits ou de privilèges permet aux utilisateurs système d’un serveur-cibled’obtenir unniveaudeprivilège supérieur via les commandes SudoouPowerBroker. Cesdroitssont utilisés durant le processus de configuration de l’agent et dépendent de sa méthoded’installation.Toutefois,sil’onsouhaiteutiliserlafonctionnalitédedélégationdeprivilègesaprèsl’étaped’installationdel’agent,ilestnécessairedeconfigurercettedélégationdanslasectiondegestiondedélégatiodesprivilèges.

Figure10:Fenêtredegestiondedélégationdesprivilèges

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|74

Caspratique:Prenonslecasd’unadministrateuropérateurd’OEMvoulantstopperoudémarrerunagentsurunserveur.Cederniernedisposepasnécessairementdesprivilègessuffisantpoureffectuercestypesd’opérations. En revanche, il est très probable que le Super Administrateur d’OEMdispose desprivilèges suffisant sur ce même serveur. Grâce à l’outil de délégation des privilèges,l’administrateur opérateur pourra donc demander au Super administrateur de configurer cettefonctionnalitéafinqu’ilpuissehériterdesdroitsdontilmanque.

Dans notre équipe, tous nosmembres possèdent des comptes utilisateurs disposant des droitssuffisantsàeffectuerdesopérationsdemaintenancesurlesagentsOMA.Cettefonctionnaliténenousestdoncpasnécessairepourlemoment.

AuditavecCloudControl

Lafonctionnalitéd’auditdeCloudControlestdestinéeàsurveillersonutilisation.Lesinformationsdeconnexionetdedéconnexionsontenregistréesetnouspouvonslesconsulterdepuislasection«AuditData»deCloudControl.Afinquecettesurveillancesoitefficace,chacundesDBAOracledoit se connecter avec son propre compte. En effet, dans le cas contraire, si tous lesadministrateurss’identifientàlaconsoleOEMaveclecomptesuperadministrateurSYSMAN,ilestimpossibledeconnaitrelesréelsutilisateursdel’outil.

ChezEssilor,l’accèsàOEM12crestetrèsrestreintcariln’existequetroispersonnesquiontaccèsàlaconsoleutilisateur:

UnexpertDBAOraclequipossèdelecompteSuperAdministrateur.

UnadministrateurséniorOraclequidisposed’uncompteadministrateur.

Moi-mêmequidisposeducompteutilisateurSYSMAN.

Grâceàcettefonctionnalité,ilnousesttrèsaisédecontrôlerl’accèsàOEM.Voiciunexempledecequepeutaffichercettefonctionnalité.

Figure11:Fenêtred’auditdecontrolOEM12c

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|75

Ils’agit icid’uncastrèssimplen’affichantqueles informationsdeconnexionetdedéconnexiond’uneseuleaprès-midimais ilestpossibled’agrandir l’intervalledetempsàplusieursannéesenconfigurantleschampsadéquats(iciStartDateetEndDate).SécurisationdestransfertsdedonnéesdeCloudControl

OEMCloudControldisposed’unemultitudedefonctionnalitésluipermettantd’assurersasécuritéauniveaudesonapplicationetauniveaudesélémentsaveclesquelselleinteragit.Celles-cisontaccessiblesvialaconsoledel’outilouviadeslignesdecommandes(emctlsousOMS_HOME).Leséléments sous-jacents tels que la base de données Oracle 11g et OMS/Oracle HTTP Serverpossèdent leurspropres fonctionnalitésde sécurité intégréesqueCloudControl cooptepour seprotéger.

Tableau8:ObjectifsetméthodesdéployéespoursécuriserOEMCloudControl

ObjectifsdesécuritédeCloudControl Méthodechoisiepouratteindrel’objectif

Protéger les données sensibles (mots depasseetc.)

Sécuriserlacléemkey

Fournirlapossibilitéd’auditerpourlessitesquienontlebesoin

Activer la fonctionnalité d’audit de CloudControl

Refuser les utilisateurs non-autorisés àaccéder à la console OEM; donner lesdroitsd’accèsaupersonnelautorisé

Renforcer les droits d’accès desadministrateurs

Adoption des standards de sécurités desentreprises pour sécuriser les éléments deCCetlesserveurs-hôtes

Mettre en place des politiques de sécuritépourlesélémentsdeCCetlesserveurs-hôtes

SécuriserletransfertdesdonnéesentrelesagentsetleserveurOMS

Activer le Framework de sécurité «EMFrameworkSecurity»

CrypterlestransmissionsdesdonnéesdelabaseRepository

Utiliser la fonctionnalité avancée de sécuritéd’Oracle:«OracleAdvancedSecurity»

Sécuriser les données transférées entre lenavigateur internet et la console OEM etrestreindre le nombre d’utilisateur de laconsole

RenforcerlasécuritéduserveurHTTPd’Oracle

Intégrer CC avec d’autres technologiesOracle permettant d’identifier lesutilisateurs

IntégrerCCauseind’EUS

Déployer CC lorsque les pare-feu sont misenplace

Configurer les propriétés dans le fichier deconfiguration de CC, renforcer la sécurité desserveursproxyetconfigurerlespare-feu.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|76

Letableauci-dessusfaitlalistedesobjectifsdesécuritéàatteindreetdelaméthodeàadopterlessatisfaire.CebrefrécapitulatifaétéutilepourévalueretmettreenplaceuncertainnombrededispositifsdesécuritélorsdudéploiementdeCloudControl.LeslignesenbleumontrentlesobjectifsatteintsàcejourparnotreéquipeDBA.Leslignesenorangedésignentlesobjectifsencourderéalisation.Leslignesennoirsontlesobjectifsquirestentàmettreenœuvre.

V.2 MaintenanceopérationnelleIl existe deux types de maintenance de Cloud Control: la maintenance opérationnelle et lamaintenancephysiquedulogiciel.Lamaintenanceopérationnellerenvoieauxfonctionnalitésquenotre équipe doit implémenter pour automatiser les tâches de détection des problèmes et denotification des évènements qui se sont produits. Les environnements informatiques que nousavons la charge de maintenir sont composés de plusieurs centaines de cibles nécessitant unesupervisionconstante.NousnepourrionsdoncpasgérerdetelsenvironnementssansdeslogicielsdesupervisioncommeOEM.Eneffet,lecœurdelamaintenanceopérationnelledeCloudControlconcerneàlafoislaconfigurationdesalarmesvialesmétriquesdesupervisionetlaconfigurationdesrèglesd’incidents.

Après avoir défini brièvement les notions d’alarmes, d’alertes et demétriques dansOEM,nousexpliqueronslesraisonsquinousontamenésàmettreenplacedesseuilsd’alertesspécifiquesàcertainesciblessupervisées.

Nousexpliqueronspar la suite les règlesd’incidentsquenousavonscrééespoursupervisernosbasesdedonnéesdeproduction.

V.2.1 Alarmes, alertes et métriques de supervisions Une alarme est un élément de configuration décrivant le changement d’état d’un système.Typiquementilmetenévidenceunchangementindésirableàtravers lafluctuationdepointsdedonnéesdansunesériededonnées.Lesalarmessontcomposéesdemétriquesdesupervision,demesuresdedatesetdetempsetpeuventpotentiellementdéclencherd’autresalarmes.

Unealerteestunenotificationd’unproblèmepotentiel,celui-cipeutprendredifférentesformes:un e-mail, un SMS, un appel téléphonique.Une alerte est transmise par une alarme lorsque lesystèmedétecte,parl’intermédiairedusuperviseur,qu’undesesseuilsd’alerteaétéatteint.Parexemple, on peut configurer une alarme pour vous alerter quand le système dépasse 80 %d’utilisationCPUsurunepériodecontinuede10minutes.

Unemétriquedesupervisionestattachéeàunesériededonnéesetévaluecettedernièrepours’assurerqu’aucunseuiln’aétéfranchi.Leseuilestconstituédelimites(expriméessouslaformedenombredepointsdonné)etdeladuréepourlaquellecemêmeseuilaétéfranchi.Lorsquelespointsdedonnéessortentducadredéfiniduseuild’alerte,leseuilestditatteintoufranchietlesuperviseur passe de l’état normal («Clear») à l’état alerte («Alert»). De la même manière,

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|77

lorsquelespointsdedonnéesreviennentdanslecadreleslimitesdéfiniesparleseuild’alerte,lesuperviseurrevientà l’étatnormal.Lesétatsdusuperviseursontutiliséscommedes indicateurscléslorsquel’onveutapprécierlesétatsdesalarmes.

Parmi toutes lesmétriques disponibles dans l’onglet de configuration des seuils d’alertes, nousavonsdécidésdemettrel’accentsuruntypedemétriqueenparticulier:

TablespaceSpaceUsed (%) : L’espaceallouéàun tablespaceestégaleà la sommedesespacesmémoiresoccupésparsesfichiersdedonnées.Cettemétriquecalculel’espaceutilisépourchaquetablespaceexistant.

Lestablespacesfontl’objetd’uneattentionparticulièreauseindenotreéquipecarnousvoulonssurveiller leur agrandissement. Plus précisément nous voulons connaitre comment évoluent lesfichiers de données (Datafile) situés dans chaque tablespace. De cette façon nous pouvonsconnaitrecommentévoluentnosbasesdedonnéesetdétecterdesactivitésanormalessurcelles-ci. De plus, surveiller l’accroissement des tablespaces nous permet de mieux anticiper lesproblèmeséventuelsdestockagematériel.

Nousavonsdécidédemettreenplace laconfigurationsuivantepourtousnostablespaces(Voirligne«Allothers»):

Nousavonsmodifié les seuilspardéfautduchamp«Allothers»quiétait initialementà94-97.Nousavonsdescendulesseuilsd’alertes«Warning»et«Critical»à85-90pourdonnerplusdeflexibilité à nos équipes. Nous voulons dans la mesure du possible éviter d’entreprendre desmodificationsdansdessituationsdestress.

Deuxtablespacesfontl’objetd’uneattentionparticulière:

• APPS_TS_MEDIA:Cetablespacestocketouslesdocumentsliésàl’ERPOracleApplication

• APPS_TS_TX_IDX:Cetablespacestockelesindexesdelabasededonnées.

Ce sont des tablespaces qui évoluent très lentement dans le temps, nous avons donc gardé laconfigurationinitialed’OEMuniquementpourcesdeuxtablespaces.

Tableau9:Seuilsd'alertesOEM

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|78

V.2.2 Configuration des règles d’incidents dans OEM 12c Pourprofiterdesnotificationsd’alertesetd’incidents,ilnousafallucréerdesrèglesd’incidents.Pourcefaire,nousavonscopiéetmodifiélepremierensemblederèglesqueproposepardéfautCloudControl(voirTableau10).

Tableau10:Règlesd'incidentOEM

Ces règles permettent d’automatiser les fonctions comme la notification d’évènements, lacréationd’incidentsetlapurged’évènementsselondesscénariosquenouspouvonsconfigurer.

Parmicetensemblederègles,nousnousintéresseronsenparticulieràrègledecréationd’incidentpourlesalertescritiquesdesmétriques(«Createincidentforcriticalmetricalerts»).Nousavonseneffeteffectuéuncertainnombredemodificationssurcette règlepour l’adapterauxbesoinsd’Essilor:

Répétition des notifications d’alertes: A cause de certains impératifs de production, nous nepouvonspas toujours traiter immédiatement les alertes émises parOEM.Afin de s’assurer quetoutes les alertes sont résolues au jour le jour, nous avons instauré en guise de rappel unerépétitiondesalertesexistantessurnosbasesdedonnéestoutesleshuitheures.CettefréquencederappelpermetànoséquipesenThaïlandequitravaillentàdeshorairesdécalésparrapportànous d’intervenir également sur les alertes qui n’ont pas pu être traitées à temps pendant noshorairesdetravail.

Notificationdesalertes:Nousavonsconfigurélarègledecréationd’incidentafindenerecevoiruniquement les alertes d’avertissement (Warning), les alertes critiques (Critical) et les purges(Clear).Deplus,nousavonsdifférenciélesdestinatairesdecesalertesenfonctiondeleurpriorité.Plusprécisément,lesalertesd’avertissementetlespurgessontuniquementenvoyésauxéquipessupport (TMA,Analystes)et lesalertescritiquessontenvoyésauxéquipesDBAdeFranceetdeThaïlande ainsi qu’au centre d’assistance Essilor (Helpdesk). Cela nous permet de prioriser larésolution des alertes et des incidents survenus et de répartir selon les différents niveaux decompétenceslachargedetravail.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|79

VI Conclusion

Nous avons exposé dans ce mémoire les méthodes d’implémentation et d’exploitation de lasolution Cloud Control pour satisfaire nos besoins en termes de supervision de nos bases dedonnéesdeproduction.

Il en résulte une réflexion et uneméthodologie clairement définies pour identifier nos besoinsd’architectureOEM,satisfairelesprérequis,installerlescomposantsdel’outilmaisaussiidentifieretmettreenœuvrenosimpératifsdesupervision.

Eneffet,nousavonsdansunpremiertempsétudiélesdifférentespossibilitésd’architecturedescomposantsdeCloudControlcequiapermisànotreéquipededéfinirl’infrastructureinternedulogiciellaplusadaptéeaucontexteEssilor.

Nous avons ensuite mené une analyse approfondie vis-à-vis de la configuration de la baseRepository et des nouvelles fonctionnalités proposées dans la version 12c afin d’améliorer lafiabilitédenosbasesetdefaciliterlesopérationsdemaintenancedenosbasesdedonnées.

Enfin, nous avons mis en évidence les impératifs de supervision auxquels notre équipe doitrépondre en termes deméthode de notification et de configuration des seuils d’alertes et desrègles d’incidents. Ce travail nous a permis de reproduire et d’améliorer les méthodes desupervisionexistantesdanslaversionCloudControl.

LetravailréalisédanslaphasedeconduitedechangementapermisauxéquipesdeThaïlandedecomprendre le fonctionnement du nouvel outil et de leur transmettre les connaissancesnécessairesafinqu’ilspuissentpleinementexploiterlesprincipalesfonctionnalitésduproduit.

Cettemissionadoncpermisderemplacer laversionexistanted’OracleEnterpriseManagerGridControlparlaversionCloudControltoutenassurantlacontinuitédelasupervisiondenosbasesde données. De plus, l’implémentation et l’exploitation de ce nouvel outil nous a permisd’automatisercertainesroutinesmanuellesdesurveillanceautrefoisopéréesparlesmembresdenotreéquipe.Nouspouvonsdoncconclurequelechangementdeversiond’OEMs’esttraduitparuneaméliorationsubstantielledelaqualitédemaintenancedenosbasesdesupervision.

Toutefois, nous devrons continuer demaintenir nos logiciels de supervision additionnels Patrolv3.5etPatrol7.6carCloudControlnepermetpasdemaintenirnosbasesdedonnéesOraclev7etv8. Par conséquent, nos bases de données ne bénéficient pas toutes des mêmes niveaux defonctionnalitésetdesupervision.Pourremédieràceproblème,nousmettronsàjourcesbasesdedonnéesdanslecadred’unfuturprojet.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|80

Glossaire

accréditationsautomatiques,72

accréditationsdesupervision,73

accréditationsnominatives,72

Administrateurdebasededonnées,12

Agentautonome,23

agentdesupervision,35

Agentpréinstallé,23

audit,74

basededonnéesdépôt,38

concepteur,70

ConservatoireNationaldesArtsetMétiers,4

ConsoleClient,23

ContratdeNiveaudeService,43

découvertedescibles,36

délégationdedroits,73

EMtemplate,54

EssilorInternational,12

GCDomain,37

JDBC,37

jobs,36

Lesaccréditions,71

Listeners,35

niveauxdeserviceapplicatif,39

opérateur,70

Oracle Enterprise Manager Cloud Control12c,20

OracleRestartdatabase,46

OracleWebLogicServer,37

plug-ins,35

PowerBroker,73

processusparallélisé,35

schémautilisateur,38

StandaloneDatabase,46

Sudo,73

SuperAdministrateur,70

SYSMAN,71

WorldWideSupplyChain,17

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|81

RéférencesBibliographiques

• SiteInternetd’Oracle(Anglaisuniquement):http://docs.oracle.com/cd/E24628_01/index.htmConsultédeDécembre2015àfinJanvier2016

• Monitoring&AlertingdeStawekLigusPubliéparO'ReillyMediaISBN10:1-4493-3347-8

• Oracle10gAdministrationbyRazvanBizoi

Publiépar:Tsoft,GroupeEyrolles,2006,ISBN:2-212-12055-9ISBN13:978-2-212-12055-4

• OracleEssentialsforOracleDatabase12c

Publiépar:O’REILLYISBN-13:978-1449343033ISBN-10:1449343031

• OracleEnterpriseManagerCloudControl12cDeepDivebyMichaelNew

PubliéparMcGraw-Hill Professional ISBN-10:0071790578ISBN-13:978-0071790574

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|82

Annexes

Tabledesmatières

I. 11gR2DatabaseInstallation(11.2.0.4)onLinuxserverx64.....................................................83

II. OracleEnterpriseManagerCloudControl12cInstallation.......................................................99

1. StartingCloudControlandallItsComponents...................................................................106

2. StoppingCloudControlandallItsComponents..................................................................107

III. OEM12cAgentinstallation&DatabaseDiscoverywithCloudControl..................................108

IV Planningprévisionnel..............................................................................................................119

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|83

I. 11gR2 Database Installation (11.2.0.4) on Linuxserverx64

1. UserCreation:

StartputtywithXming

Anddoasshownbelow:

mkdir -p /IDBO/oem12c/ker1/11.2.0 IDBO

mkdir -p /IDBO/tmp0/tmp

export TEMP=/IDBO/tmp0/tmp

export TMPDIR=/IDBO/tmp0/tmp

export TMP=/IDBO/tmp0/tmp

export ORACLE_HOME=/IDBO/ker1/11.2.0

DISPLAY=192.168.1.128:0.0;

export DISPLAY

/etc

cp -p oraInst.loc oraInst.loc_IIC1

vi oraInst.loc

cp -p oraInst.loc oraInst.loc_IDBO

./runInstaller

cd /oraclestg/oracleRDBMS/11.2.0.3_Linux/database

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|84

Follow the installation instructions as below:

Don’tdoanything,justclickon“Next”!

Awarningmessageappears,clickon“Yes”

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|85

Select«Skipsoftwareupdates

Select«Installdatabseonly»,Clickon“Next”

Select«Singleinstanceinstallation»,clickon«Next»

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|86

Justclickon«Next»

Select«EnterpriseEdition»,De-SelectalltheoptionsandClickonOKandNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|87

OracleBasepathis:D:\oracle\ora11g\database_SID(database_SID=IDBOforexample)

Softwarelocationis:IDBO/ker1/11.2.0

DatabaseAdministratorgroup:dbdb

DatabaseOperatorGroup:dbdb

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|88

Select“IgnoreAll”Optiontocontinue

AWarningwindowappears,clickon“Yes”

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|89

Clickon“Install”

Don’tdoanythingyet

Doasshownbelow

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|90

PictureVersion

TextVersion

(root@freo1124:/root)cd /IDBO/ker1/11.2.0/

(root@freo1124:/IDBO/ker1/11.2.0)

(root@freo1124:/IDBO/ker1/11.2.0)./root.sh

Performing root user operation for Oracle 11g

The following environment variables are set as:

ORACLE_OWNER= orIDBO

ORACLE_HOME= /IDBO/ker1/11.2.0

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of "dbhome" have not changed. No need to overwrite.

The contents of "oraenv" have not changed. No need to overwrite.

The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|91

NowyoucanclickonOk

Theinstallationhasfinished!Youcanclosetheprogram

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|92

Now,you’llhavetorunthefollowingcommands:

export PATH=$ORACLE_HOME/bin:$PATH

dbca

ClickonNext

Select“CreateaDatabase”optionandclickonNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|93

Selectthesecondoption:11.2.0.3“DatabaseTemplateforEM12104Mediumdeployment”

ClickonNext

GlobalDatabaseName:IDBO.essilor.fr

SID:IDBO

ClickonNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|94

Unselectalloptionsandclickonnex

TypetheSYSuserpassword

TypetheSYSTEMuserPassword

ClickonNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|95

Selectthe“UseOracle-ManagedFiles”optionandenter:

/IDBO/dbf1

UnselectalloptionandclickonNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|96

Selectthe“Runthefollowingscripts”optionandclickonNext

JustclickonNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|97

ClickonNext

Selectthe“CreateDatabase”Optionandclickon“Finish”

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|98

ClickonOk

ClickonExit,it’sover.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|99

II. Oracle Enterprise Manager Cloud Control 12cInstallation

StartputtywithXming

oraInst.locSetup

You’llneedtocheckiftheoraInst.locfilehasbeencorrectlyset.Followthestepsbelow:cd /etc

cat oraInst.loc

TheoraInst.locshouldbesetas:inventory_loc=/IDBO/ker1/oraInventory

inst_group=dbdb

IfyouhavetochangethecontentoforaInst.loc,don'tforgettosavetheinformationfirst:mv oraInst.loc oraInst_XXXX.loc

mv oraInst.loc_IDBO oraInst.loc

NowyouneedtoconfiguretheenvironmentthatisnecessaryfortheOEMinstallation

IDBOEnvironmentSetupexport TEMP=/IDBO/tmp0/tmp

export TMPDIR=/IDBO/tmp0/tmp

export TMP=/IDBO/tmp0/tmp

export TEMPDIR=/IDBO/tmp0/tmp

export ORACLE_HOME=/IDBO/ker1/11.2.0/

export ORACLE_SID="IDBO"

export OMS_HOME=/IDBO/ker3/oem12cMHL/oms

export AGENT_HOME=/IDBO/ker3/oem12cA/core/12.1.0.4.0/

export PATH=$ORACLE_HOME/bin:$PATH

export TNS_ADMIN=/IDBO/ker1/11.2.0/network/admin

export ORACLE_UNQNAME=IDBO

OrruntheIDBOenvironmentscriptcd /IDBO/ker1/11.2.0/IDBO

vi IDBO_freo1124.env

Thencheck/editthelistenercd /IDBO/ker1/11.2.0/network/admin vi listener.ora

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|100

=== # listener.ora Network Configuration File: /IDBO/oem12c/ker1/11.2.0/network/admin/listener.ora # Generated by Oracle configuration tools.

IDBO = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = freo1124.essilor.fr)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

ADR_BASE_EM12 = /IDBO/ker1

=== vi tnsnames.ora === IDBO = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = freo1124.essilor.fr)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) === lsnrctl start IDBO cd /IDBO mkdir ker3 chmod 775 ker3

cd /oraclestg/soft/linux/OEM/12c14 ./runInstaller

Follow the installation instructions as below:

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|101

ClickonNextandconfirmyourchoicebyclicking“Yes”whenthewarningwindowappears.

Select“Skip”andclickonNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|102

Youcanchoosetoignorethepackagewarning,butitcanbetroublesomefortheinstallation.

ClickonNext

Selectthe“CreateanewEnterpriseManagerSystem>Simple“options

ClickonNext

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|103

MiddleHomeLocation:/IDBO/ker3/oem12cMHL

AgentBasedirectory:/IDBO/ker3/oem12cA

HostName:freo1124.essilor.fr

ClickonNext

AdminPWD=oem12c1234DatabaseHostName:FREO1124

ServiceSID:IDBOSysPWD=sysoem12cPort:1521

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|104

Check“DiskSpace”andclickonnextifit’sok.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|105

You’llneedtoconnectasroottoexecutethescript“allroot.sh”locatedin:

/IDBO/ker3/oem12cMHL/oms/allroot.sh

Theinstallationfinishedsuccessfully,justclickon“Close”

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|106

1. StartingCloudControlandallItsComponents

ThefollowingproceduresummarizesthestepsrequiredtostartallthecomponentsoftheCloudControl. For example, use this procedure if you have restarted the host computer and all thecomponentsoftheCloudControlhavebeeninstalledonthathost.

TostartalltheCloudControlcomponentsonahost,usethefollowingprocedure.

IfyourOracleManagementRepositoryresidesonthehost,changedirectorytotheOracleHomeforthedatabasewhereyouinstalledtheManagementRepositoryandstartthedatabaseandtheNetListenerforthedatabase:

• Set the ORACLE_HOME environment variable to the Management Repositorydatabasehomedirectory.

• SettheORACLE_SIDenvironmentvariabletotheManagementRepositorydatabaseSID(defaultisasdb).

• StarttheNetListener:• $PROMPT> $ORACLE_HOME/bin/lsnrctl start

StarttheManagementRepositorydatabaseinstance:

• sqlplus « /as sysdba » ; • SQL> startup • SQL> quit

StarttheOracleManagementService:

• $PROMPT> OMS_HOME/bin/emctl start oms

"ControllingtheOracleManagementService"

• Changedirectory to thehomedirectory for theOracleManagementAgentandstart theManagementAgent:

• $PROMPT> AGENT_HOME/bin/emctl start agent

"ControllingtheOracleManagementAgent"

BesuretoruntheemctlstartagentcommandintheOracleManagementAgenthomedirectoryandnotintheManagementServicehomedirectory.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|107

2. StoppingCloudControlandallItsComponentsThefollowingproceduresummarizesthestepsrequiredtostopallthecomponentsoftheCloudControl. For example, use this procedure if you have installed all the components of the CloudControlonthesamehostyouwanttoshutdownorrestartthehostcomputer.

TostopalltheCloudControlcomponentsonahost,usethefollowingprocedure:

StoptheOracleManagementService:

• $PROMPT> $ORACLE_HOME/bin/emctl stop oms -all

"ControllingtheOracleManagementService"

Change directory to the home directory for the Oracle Management Agent and stop theManagementAgent:

• $PROMPT> AGENT_HOME/bin/emctl stop agent

"ControllingtheOracleManagementAgent"

Besuretoruntheemctlstopagentcommand intheOracleManagementAgenthomedirectoryandnotintheOracleManagementServicehomedirectory.

IfyourOracleManagementRepositoryresidesonthesamehost,changedirectorytotheOracleHome for thedatabasewhereyou installed theManagementRepositoryandstop thedatabaseandtheNetListenerforthedatabase:

• Set the ORACLE_HOME environment variable to the Management Repositorydatabasehomedirectory.

• SettheORACLE_SIDenvironmentvariabletotheManagementRepositorydatabaseSID(defaultisasdb).

Stopthedatabaseinstance:

1. $PROMPT> ORACLE_HOME/bin/sqlplus /nolog 2. SQL> connect SYS as SYSDBA 3. SQL> shutdown 4. SQL> quit

• StoptheNetListener:$PROMPT> $ORACLE_HOME/bin/lsnrctl stop

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|108

III. OEM 12c Agent installation & Database DiscoverywithCloudControl

URLOEM12csurFreo1124:https://freo1124.essilor.fr:7802/em/

1°)LogintothesystemwiththeSYSMANUser

YouhavenowaccesstotheHomePage

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|109

Warning:Beforedeployingtheagent,youneedtofollowthesesteps:è CreateaorPDBOuser,groupdbdb,onthetargetedserverè Createafilesystem.Example:/PDBOè Createadirectory.Example:/PDBO/oem12cè Configurethe/etc/oraInst.locfileasfollowing:

=== cat /etc/oraInst.locinventory_loc=/PDBO/oraInventoryinst_group=dbdb

===

2°)SelecttheSetupmenuandclickon«AddTargetManually»

3°)Choose“AssHostTargets”andclickon“AddHost…”

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|110

4°)Clickonthe“Add”MenuandSelect“Manually”asbelow

5°)a°)AsHost,youneedtoenteracompletehostname.

Example:freo1145ISNOTCORRECT.

freo1145.essilor.frISCORRECT

b°)UnderthePlateformsection,selecttheLinuxx86-64option

Clickon“Next”

ExampleofdeploymentAgentonfreo1151:

==========================

InstallationBaseDirectory:/PDBO/oem12c

InstanceDirectory:(Automatic)

NamedCredential:ChooseaSudouser

PrivilegedDelegationSetting:Donottouch

Port:Donottouch

==========================

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|111

ClickontheBlueCross

6°)Entertheaskedinformation

Example:

UserName:emPDBO

Password:*********

ConfirmPassword:*********

RunPrivilege:None

Checkthe“SaveAs”Boxandrenameitasyouwant

7°)Beforethisstep,asithasbeenremindedearlier,youneedto:

è CreateaemPDBOuser,groupdbdb,onthetargetedserverè Createafilesystem.Example:/PDBOè Createadirectory.Example:/PDBO/oem12cè Configurethe/etc/oraInst.locfileasfollowing:

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|112

8°)Youcannowdeploytheagentbyclickingonthe«DeployAgent»button.

9°)Anadvicewillappear.Savethisadviceandkeepitinyoursystem.Youwillneedthistoruntheroot.shscriptlater.ThenSelectthe“Continue”Menuandclickon“Continueonallhosts”

Example:/PDBO/oem12c/core/12.1.0.4.0/root.sh isthelocationoftheroot.shscriptthatyouwillneedtorun.

10°)Clickonthe“Done”button.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|113

WewillnowproceedtothedatabasediscoverywiththeOEM12cuserinterface

Clickon«EnterpriseManager»onthisuppersideonthescreen

1°)Clickon“Target”,“Databases

2°)Clickon“Add”,“OracleDatabase”

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|114

3°)Clickonthemagnifyingglass

4°)Nowyoujustneedtoselectthehostserveronwhichyouhavedeployedtheagent.Theserverisnormallyonthelist.Then,clickonthe“Select”Button.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|115

5°)Checkifyouhaveselectedtherighthostandproceedbyclickingonthe“Select”button.

6°)YouneedtoconfiguretheDatabaseconnectionyouwanttoadd.Todoso,inthe“view”section,checktheboxcorrespondingtothedatabaseyouareinterestedin.The“Configure”

Buttonwillenable.Clickonit.

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|116

Youneedtoenterthefollowinginformation:

Monitorpassword:

Port:

Youhavetocheckwhatpasswordandportnumbertoenter

Then,TESTtheconnectionbyclickingonthe«test»button

Thefollowingmessagewillappear.ItmeansthatyouhaveaddedcorrectlyyourdatabasetoOEM.

Clickon«Next»

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|117

Clickon«Save»

Clickon«Close»

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|118

Starting-StoppingtheAgent

1°)Youneedtoenterthefollowingexports:

exportAGENT_HOME=/IDBO/oem/core/12.1.0.4.0

exportORACLE_HOME=/IDBO/oem/core/12.1.0.4.0

exportPATH=$ORACLE_HOME/bin:$PATH

2°)EnterthefollowingcommandlinetoSTARTtheagent:

emctlstartagent

Expectedanswer:“AgentisRunningandReady”

------------------------------------------------------------

EnterthefollowingcommandlinetoSTOPtheagent:

emctlstopagent

Expectedanswer:“AgentisnotRunning”

3°)Checkthestatustheagent:

emctlstatusagent

Expectedanswer:“AgentisRunningandReady”

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|119

IV Planningprévisionnel

Alexandre LABROUSSE 2015 - 2016 Mémoire d’ingénieur

Page|120

Implémentation et exploitation d’Oracle EnterpriseManagerCCv12c

L’équipeDBAd’EssilorFrancedontjefaispartieestchargéed’administrerplusd’unetrentainedebasesdedonnéesOracle.Afindemaintenirnosdifférentsenvironnementsinformatiquesdefaçonefficace,nousavonsbesoind’unlogicieldesupervisionsophistiquépouvantà lafoisdétecteretsignaler rapidement tout comportement anormal de nos bases de données. Oracle EnterpriseManager est la solution logicielle que notre équipe a adoptée pour des raisons de fiabilité, demaintenabilitéetflexibilité.

Dans ce mémoire nous exposerons les principales étapes qui nous ont permis de déployer etd’exploiterlanouvelleversiond’OEMCloudControl:

• Identificationdeschoixd’architectureslogicielslesplusadaptésàEssilor

• Identificationdesprérequispropresàlanouvelleversion

• InstallationetconfigurationdelabasededonnéesRepositorypourOEM12c

• InstallationdeCloudControletdesesfonctionnalitésavancées

• Configurationdesméthodesdenotification,deseuilsd’alertesetdesrèglesd’incident

InstallingandexploitingOracleEnterpriseManagerCCv12c

The Essilor DBA team I am part of can be taskedwith the administration andmanagement ofhundredsofsystems.Inordertomaintainourdatabasesandtobequicklyandefficientlyalertedintheeventofaproblem,sophisticatedtoolsmustbedeployed.WehavechosentodeployOracleEnterpriseManagerCloudControl12ctosuperviseourenvironmentbecauseit isascalableandreliablesolutionthathasprovenitsworthforalmosttenyearsfromnow.

ThismemoirewillexplainhowtoinstallandtakeadvantageofthefeaturesofOEMCloudControl12c.Inordertoachievethispurpose,thefollowingtaskshadtobeperformed:

• Identification of the CC components topology that suits the best to the Essilor systemenvironments

• IdentificationofCloudControlspecialprerequisites

• InstallationandconfigurationoftheRepositorydatabaseforOEM12c

• InstallationofCloudControlalongwithitsadvancedfunctionalities

• Configurationofnotificationmethods,alertthresholdsandincidentrules