Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

📈 Oracle — Monitoring & Tuning (Outils production)

Panorama des outils natif Oracle, open-source, SaaS et commercial pour diagnostiquer, monitorer, alerter et tuner une base Oracle en prod. Objectif : “voir vite”, “comprendre”, “agir” (playbooks).

RĂšgle DBA (prod) : un bon monitoring combine temps rĂ©el (incidents) + historique (tendances). Sur Oracle, le duo “pro” est souvent : AWR/ASH/ADDM (diagnostic) + OEM (supervision centralisĂ©e), complĂ©tĂ© par une couche observabilitĂ© (Grafana/Datadog/ELK) pour corrĂ©ler DB ↔ OS ↔ app.
1.1

Oracle Enterprise Manager (OEM)

Supervision centralisée : alertes, métriques, jobs, dashboards, capacité, conformité.

OracleCentraliséAlerting
1.2

AWR (Workload Repository)

Historique perf : CPU/IO/waits, top SQL, load profile, snapshots comparables.

HistoriqueBaselineTop SQL
1.3

ADDM (Diagnostic auto)

Analyse automatique sur AWR : goulots, recommandations, priorisation, impact.

DiagnosticRecommandationsAWR
1.4

ASH / ASH Analytics

“Qui attend quoi” : sessions actives, waits, verrous, hot SQL, pannes intermittentes.

Temps réelWaitsSessions
1.5

Real-Time SQL Monitoring

Pour les requĂȘtes lourdes : Ă©tapes du plan, progrĂšs, IO, parallĂ©lisme, temps par opĂ©rateur.

SQLPlanLong-running
1.6

SQL Tuning Advisor

Conseils ciblés : stats, index, SQL Profile (si applicable), rewriting/structure.

AdvisorTuningSQL
2.1

Prometheus + Grafana

MĂ©triques & dashboards sur mesure : DB + OS + app. IdĂ©al “stack observability” self-host.

Open-sourceDashboardsAlerting
2.2

Oracle Exporter

Expose des métriques Oracle à Prometheus (sessions, waits, cache hit, tablespace, etc.).

ExporterPrometheusMetrics
2.3

ELK / OpenSearch logs

Centralisation & recherche : alert.log, listener, audit, traces, corrélation avec logs applicatifs.

LogsSearchCorrelation
3.1

Datadog / Dynatrace / New Relic

ObservabilitĂ© full-stack : APM + DB insights + alerting, corrĂ©lation traces → SQL.

SaaSAPMSLO
3.2

SolarWinds DPA

Approche “wait-based” claire : historique, top waits, rĂ©gressions, recommandations.

CommercialWait-basedHistorique
3.3

Quest / Redgate / Toad

Suites DBA : tuning SQL, diagnostics, comparaisons, dev-ops DB, tooling poste de travail.

DBA suiteTuningWorkflow
1.1 — Oracle Enterprise Manager (OEM / Cloud Control) — Supervision & Tuning en production
Pourquoi OEM est “le cockpit DBA” en production

OEM (Cloud Control) sert de tour de contrĂŽle : surveillance multi-cibles, alerting, diagnostics, reporting, configuration & compliance. En environnement Oracle “sĂ©rieux”, OEM devient le point d’entrĂ©e : observer → comprendre → agir → prouver (reports).

Ce que OEM remplace (ou standardise)
BesoinSans OEMAvec OEM
Vue multi-DBscripts + bricolageconsole centralisée
Alertingcron/grepseuils + actions + historique
Diagnosticapproche “à l’Ɠil”AWR/ASH/ADDM intĂ©grĂ©s (si packs)
CapacityExcel / estimationstendances + forecast
ConformitécontrÎles manuelspolicies / drift / audit
Vision prod : OEM = “pilotage”. Les dashboards externes (Grafana/SaaS) = “observabilitĂ© full-stack”. Tu peux/DOIS garder les deux : Oracle deep + corrĂ©lation systĂšme/app.
Diagramme mental : OEM comme pipeline “signal → enquĂȘte → action”
[Cibles]      [Collecte]         [Analyse]                 [Action]
                            DB/ASM/RAC --> Agent OEM --> Metric Store + Baselines --> Alerts/Incidents
                            |              |                 |                         |
                            |              |                 |                         +--> Notifications (mail/webhook)
                            |              |                 +--> Perf (AWR/ASH/ADDM)   +--> Runbooks / opérateurs
                            |              +--> Config/Compliance                       +--> Jobs (maintenance)
                            +--> OS/Host (selon scope)                                  +--> Reporting (audit/capacity)
Dans une phrase
“OEM te dit : ce qui casse, depuis quand, sur quelles DB/instances, avec quel impact, et te donne un chemin d’investigation standard.”
Architecture OEM (Cloud Control) — cibles, agents, OMS, dĂ©pĂŽt
Schéma (simplifié, mais fidÚle au concept)
 +---------------------------+              +---------------------------+
                            |         Console UI         |              |    Notifications/ITSM      |
                            |  Dashboards / Reports      |  -----       |  Email / Webhook / Ticket  |
                            +---------------------------+      |       +---------------------------+
                            ^                  Alerts
                            |                   |
                            |                   v
                            +---------------------------+   +---------------------------+
                            |      OMS (Management      |   |  Policies / Baselines     |
                            |       Service)            |---|  Rules / Incidents        |
                            +---------------------------+   +---------------------------+
                            |
                            | writes/reads
                            v
                            +---------------------------+
                            |  OEM Repository (DB)      |
                            |  Metrics / history / conf |
                            +---------------------------+
                            ^
                            | agent upload
                            +--------------+--------------+------------------------------+
                            |        Agents OEM sur les hĂŽtes / cibles                   |
                            |  - DB targets (instance/CDB/PDB), listeners, ASM, host     |
                            +--------------+--------------+------------------------------+
                            |                              |
                            v                              v
                            +------------------+             +------------------+
                            | Oracle DB target |             | Host/OS target   |
                            +------------------+             +------------------+
Point clé : la qualité OEM dépend de 3 choses : (1) métriques pertinentes, (2) seuils calibrés par baseline, (3) runbooks/actions (sinon alert fatigue).
Checklist déploiement (vue DBA)
ÉtapeButÀ valider
Définir périmÚtre ciblesDB/ASM/RAC/Hostinventaire + criticité
Installer agentscollectelatence réseau, firewall
Configurer repositoryhistoriquecapacité / maintenance
Importer templatesstandardisationmĂȘmes rĂšgles partout
Baselinesseuils intelligentspĂ©riode “saine”
Canaux d’alerterĂ©actionmail/webhook/ITSM
RunbooksMTTR basaction immédiate
Erreurs classiques (à éviter)
  • Trop d’alertes → personne ne lit. RĂ©sultat : incident non dĂ©tectĂ©.
  • Seuils statiques “au pif” → faux positifs / faux nĂ©gatifs.
  • Pas de runbook → OEM sonne
 mais personne ne sait quoi faire.
  • Repo OEM sous-dimensionnĂ© → console lente, historique inutilisable.
MĂ©triques & Dashboards (prod) — ce qui est rĂ©ellement utile
Dashboard “SRE/Prod” (signaux rapides)
SignalCe que tu veux voirLecture
CPUDB CPU vs Host CPUCPU bound vs OS saturation
DB TimeDB Time, AAScharge réelle cÎté DB
WaitsTop wait eventsoĂč se perd le temps
Sessionsactive/blocked/new logonspics / runaway / locks
ErrorsORA- rate / listener errorsbug / attaque / config
Storagetablespace / FRA / ASMrisque incident imminent
Pattern : 1 dashboard “SLO” (latence/erreurs), 1 dashboard “DB internals” (waits/SQL), 1 dashboard “capacity” (disque/FRA/archives).
Dashboard “DBA” (investigation)
BlocTu cherchesAction
Top SQLrĂ©gression / nouvelle requĂȘteSQL Monitor + plan
Concurrencylocks, enqueues, latchesASH + blockers
IO profilehot objects / latencesegments + storage
Parsinghard parse / library cachebinds / pool
Redocommit latency / log syncapp commits / I/O redo
Diagramme : “DB Time se dĂ©compose en
”
DB TIME = DB CPU + Wait Time
                            Wait Time ≈ IO waits + Concurrency waits + Commit/Redo waits + Others

                            Si DB CPU >> waits  → CPU bound (SQL/parse)
                            Si waits dominent   → chercher l’évĂ©nement principal (IO/locks/log sync
)
Alerting “pro” — Ă©viter l’alert fatigue (et dĂ©tecter avant la panne)
Stratégie de seuils (baseline-first)
  • DĂ©finir une pĂ©riode saine (baseline) : jours ouvrĂ©s / batch / pics.
  • Seuils = Ă©cart Ă  la baseline + seuils absolus (ex: FRA 90%).
  • DiffĂ©rencier warning vs critical + dĂ©lai (persistant X minutes).
  • Chaque alerte doit avoir : owner, runbook, action.
Table d’alertes recommandĂ©es (production)
FamilleSignalWarnCritRunbook (1Ăšre action)
StorageTablespace usage80%90%identifier segments + plan extend/purge
StorageFRA usage80%90%archivelogs, backups, rétention
PerfDB Time / AAS+X% baseline+Y% baselineTop waits + top SQL (AWR/ASH)
ConcurrencyBlocked sessions> 0 persistant> Ntrouver blocker + SQL_ID + app owner
StabilityORA- rateburstburst + persistantcorréler release/logs + rollback
IORead latencyp95 haussep99 haussestorage path + hot objects
Diagramme : pipeline d’alerte “OEM → action”
Metric breach
                            |
                            v
                            Incident (OEM)  ---> auto-ticket (option)
                            |
                            +--> Notification (mail/webhook) --> on-call
                            |
                            +--> Runbook (lien) : "quoi regarder / quoi faire"
                            |
                            v
                            Investigation : AWR/ASH/SQL Monitor + logs
                            |
                            v
                            Fix (SQL / config / storage / app) + validation baseline
Tip : pour chaque alerte critique, ajoute un champ “Definition of Done” : “comment on prouve que c’est rĂ©solu ?” (retour baseline, p95 normal, plus de blocage, etc.)
Anti-patterns (les pires)
- Alerte sur ratios "magiques" sans contexte - Alerte sans runbook - Seuils identiques sur toutes les DB (sans baseline) - Critique immédiat sans délai (bruit) - 200 alerts/day => plus personne ne regarde
Tuning via OEM — quand tu bascules dans AWR/ASH/ADDM / SQL Monitor
Workflow “incident perf” (OEM-guided)
1) SymptĂŽme : DB Time↑ / latence app↑ / sessions bloquĂ©es
                            2) OEM : ouvrir la cible DB → Performance home
                            3) Identifier :
                            - Top wait events (dominant)
                            - Top SQL (elapsed / CPU / IO)
                            - AAS & sessions actives
                            4) Basculer :
                            - ASH (qui attend quoi, SQL_ID, blocker)
                            - SQL Monitor (requĂȘte lourde)
                            - AWR report (période incident vs baseline)
                            5) Action :
                            - SQL tuning (plan/stats/index/rewrite)
                            - Concurrency (locks/app)
                            - Storage/IO (hot objects / path)
                            6) Validation : retour baseline + fermeture incident + postmortem
Table “symptîme → outil”
SymptĂŽmeOutilTu veux obtenir
pannes intermittentesASHsessions actives / waits
dégradation sur 2hAWRdiff baseline / top SQL
requĂȘte batch lenteSQL MonitoroĂč le plan consomme
diagnostic globalADDMfindings + priorité
Diagramme : “Top wait” → hypothùses
Top Wait Event                    HypothĂšses typiques
                            --------------------------------------------------------------
                            db file sequential read           index reads / IO latency
                            db file scattered read            full scans / stats/plan
                            log file sync                     commits fréquents / redo IO
                            enq: TX - row lock contention     locks applicatifs / transactions
                            library cache lock/pin            parsing / invalidations / shared pool
                            gc* (RAC)                         interconnect / hot blocks / skew
Important : OEM t’aide Ă  “naviguer” vite. Mais la qualitĂ© du fix dĂ©pend de la discipline : mesure → hypothĂšse → test → validation.
Check “SQL rĂ©gression” (ultra utile)
- La requĂȘte existait avant ? (release) - Plan a changĂ© ? (stats, binds, cardinalitĂ©) - Nouveau predicate/Join ? - Stats stale / histogram manquant ? - CardinalitĂ© estimĂ©e vs rĂ©elle (SQL Monitor) - Solution : stats, rewrite, index, baseline/plan control (prudence)
Jobs & Automation — OEM comme orchestrateur DBA
Ce que tu automatises classiquement
JobButFréquenceRisques
Health checksdĂ©tection early5–15 minbruit si mal calibrĂ©
Stats collectionplans stablesdaily/weeklycharge (fenĂȘtre)
Tablespace auditéviter saturationhourly/dailyaucun si read-only
Backup verificationrestores fiablesdailytemps/IO
Compliance scansdrift / sécuritéweeklyaucun
RĂšgle : tout job doit ĂȘtre “safe-by-default” + logs + rollback (si action).
Diagramme : OEM jobs → preuves (audit)
[Job OEM] --> [Exécution] --> [Résultat] --> [Evidence/Report]
                            |             |             |               |
                            |             |             +--> OK/FAIL     +--> PDF/HTML export / historique
                            |             +--> logs
                            +--> schedule + notifications
Conseil trĂšs prod
SĂ©pare "dĂ©tection" (read-only) et "remĂ©diation" (write). La remĂ©diation doit ĂȘtre explicite, tracĂ©e, et validĂ©e.
CapacitĂ© & Reporting — prouver, prĂ©voir, planifier
Capacity planning : ce que tu veux anticiper
ObjetMétriqueButDécision
Data growthGB/day, tablespacesprévenir saturationextend/move/partition
FRArétention archivelogséviter blocagepolicy / storage
CPUAAS trendprévoir scaleoptimiser vs ajouter CPU
IOlatence + throughputĂ©viter “IO wall”storage tier / tuning SQL
En entreprise : les reports OEM servent Ă  convaincre (budget / change management).
Rapports utiles (et lisibles)
  • Weekly health report : incidents, top alerts, top SQL, capacity delta.
  • Monthly capacity : croissance, FRA, storage, tendances CPU/IO.
  • Post-incident : timeline, mĂ©triques, root cause, action, prĂ©vention.
Diagramme : “reporting = preuve”
Mesure (avant) ---> Changement ---> Mesure (aprĂšs) ---> Conclusion (ROI/risque)
SĂ©curitĂ© & RBAC — OEM doit ĂȘtre “safe”
Principes
  • Comptes OEM : RBAC strict (DBA, viewer, auditor, ops).
  • Agents : accĂšs rĂ©seau minimal, segmentation.
  • Audit : actions OEM tracĂ©es (qui a fait quoi, quand).
  • Principe du moindre privilĂšge sur les cibles DB (collecte vs action).
ModĂšle RBAC (exemple)
RĂŽlePeut voirPeut faireInterdit
Viewerdashboardsaucune actionjobs, config
Opsalerts/incidentsrunbooks, acktuning actions
DBAperf + configjobs maintenanceactions non validées
Auditorreportsexporttoute modification
Diagramme : zones de confiance
[Admin Users] ---RBAC---> [OEM UI/OMS] ---agents---> [DB targets]
                            |                         |
                            |                         +--> Repository (metrics/history)
                            |
                            +--> Audit trail (who/when/what)
Bon rĂ©flexe : OEM = surface d’administration majeure → traite-le comme un composant “Tier-0”.
Packs / Licensing — la rĂ©alitĂ© en production

OEM “de base” couvre dĂ©jĂ  la supervision. Mais les diagnostics/tuning avancĂ©s s’appuient souvent sur des packs (ex: fonctionnalitĂ©s AWR/ASH/ADDM/SQL Monitoring selon contexte). Dans un environnement entreprise, la question “qu’est-ce qui est autorisĂ©/licenciĂ© ?” fait partie du mĂ©tier DBA.

FonctionValeurRemarque
Monitoring centralisévisibilité multi-DBsocle OEM
Diagnostics historiquesforensic + trendssouvent lié à AWR/ASH/ADDM
SQL deep analysisplans/progrĂšsSQL Monitoring / tuning
Compliancepolicies / driftselon modules/options
Pratique : en entretien DBA, on attend que tu saches distinguer : “outil dispo” ≠ “option licencĂ©e” ≠ “autorisĂ© en prod”.
Playbooks incidents — “quoi regarder” en 5 minutes
IncidentSymptĂŽmesDans OEMEnsuiteFix typique
CPU 100%latence globaleDB Time vs DB CPU, Top SQLSQL Monitor + planrewrite/stats/index/binds
Locksblocked sessionsBlocking sessions, ASHidentifier blockercorriger logique app / commits
IO boundread latency highTop waits IO, segmentsAWR compare baselinehot objects / storage / plan
FRA pleinarchivelogs bloquentFRA usage + alertlogs backuprétention / purge / capacity
ORA- bursterreurs soudaineserror metrics / incidentscorréler releaserollback / fix app / patch
Mini runbook (template) — à coller dans tes tickets
1) SymptĂŽme / impact / start time
                            2) OEM target : DB + instance + host
                            3) Graphs : DB Time, AAS, CPU, top waits
                            4) Top SQL : SQL_ID, module, user, plan changes
                            5) HypothĂšse : (CPU/IO/locks/redo)
                            6) Action : (SQL fix / config / storage / app)
                            7) Validation : retour baseline + métrique OK
                            8) Postmortem : cause + prévention + seuils ajustés
Diagramme “MTTR” (ce qui fait gagner du temps)
MTTR ↓ = Alert (bon signal) + Runbook + Outil (AWR/ASH/SQL Mon) + Owner clair
                            MTTR ↑ = Bruit + Seuils au hasard + Pas de baseline + Pas d'ownership
Conseil : OEM doit ĂȘtre configurĂ© pour produire des alertes actionnables, sinon il devient une “machine Ă  bruit”.
1.2 — AWR : rapports, baselines, lecture “pro”
À quoi sert AWR

AWR capture des snapshots pĂ©riodiques pour analyser une pĂ©riode (incident) ou comparer Ă  une baseline. C’est l’outil “forensic” numĂ©ro 1 quand tu veux rĂ©pondre Ă  : “qu’est-ce qui a changĂ© ?”

SectionCe que tu cherchesSignal
Load ProfileDB Time, calls, parsesaugmentation brutale
Top Wait Eventsattentes dominantesIO/locks/log sync
SQL ordered by 
top SQLrequĂȘte rĂ©gressĂ©e
Instance Efficiencyratios (indicatifs)tendance anormale
Générer un rapport AWR (script standard)
-- SQL*Plus (selon licences/options)
                        -- @?/rdbms/admin/awrrpt.sql

                        -- Mode “DBA pro” :
                        1) repérer les SNAP_ID (avant/aprÚs incident)
                        2) générer HTML / TEXT
                        3) comparer à une période saine (baseline)
Lecture rapide (méthode 5 minutes)
1) DB Time vs DB CPU (CPU bound ?) 2) Top Wait Events (oĂč on attend ?) 3) Top SQL (une requĂȘte = 80% du problĂšme ?) 4) I/O profile + segments / objects chauds 5) Concurrency (locks / latches / enqueues)
Tip : AWR te dit “quoi / oĂč”. Ensuite tu passes Ă  ASH/SQL Monitor pour le “qui / comment”.
1.3 — ADDM : diagnostic automatique & recommandations
ADDM : “Assistant de diagnostic”

ADDM parcourt les donnĂ©es AWR et sort des findings hiĂ©rarchisĂ©es avec un impact estimĂ©. C’est utile pour accĂ©lĂ©rer l’analyse quand on dĂ©bute un incident ou un audit perf.

SortieExemplesValeur
FindingsCPU bottleneck, IO bottleneck, Concurrencypriorisation
Recommendationsstats/index, memory, configplan d’action
Rationalepreuves + corrélationsconvaincre / documenter
Comment le lire sans se faire piéger
  • ADDM est un conseiller, pas une vĂ©ritĂ© : toujours recouper (AWR/ASH/SQL plan).
  • Ne pas appliquer en prod des changements “paramĂštres” sans test et rollback plan.
  • Prendre les recommandations “SQL / stats / index / locks” en premier (souvent les plus sĂ»res).
Actions typiques suite Ă  ADDM
SymptĂŽmeActionOutils
Top SQLplan, stats, rewritingAWR + SQL Monitor + DBMS_XPLAN
IO waitshot segments, storageAWR + OS metrics + ASM
Locksbloqueur, app logicASH + v$ views + app logs
1.4 — ASH : sessions actives, waits, blocages “qui fait quoi”
Pourquoi ASH est incontournable

Quand “ça rame”, ASH rĂ©pond vite Ă  : qui est actif, sur quoi il attend, quelles requĂȘtes dominent, et si c’est CPU / IO / locks.

Exemples de questions
  • Qui est le session blocker ?
  • Quels sont les top wait events sur 10 minutes ?
  • Quel SQL_ID explose depuis la release ?
Mini requĂȘtes (DBA)
-- Sessions actives (simple)
                        SELECT s.sid, s.serial#, s.username, s.status, s.sql_id, s.event
                        FROM v$session s
                        WHERE s.type='USER'
                        ORDER BY s.status DESC;

                        -- Bloqueurs / attendus (concept)
                        -- (selon version, compléter via v$session / v$lock / gv$ views en RAC)
Tip : ASH est parfait pour les pannes intermittentes que tu ne peux pas reproduire. CouplĂ© Ă  AWR, tu peux “rejouer” une pĂ©riode.
1.5 — Real-Time SQL Monitoring : anatomie d’une requĂȘte lourde
Quand l’utiliser
  • SQL long-running / batch qui dĂ©rape.
  • Plan complexe avec parallĂ©lisme / gros IO.
  • Tu veux savoir “oĂč ça passe le temps” dans le plan.
Ce que tu lis dans un SQL Monitor
ÉlĂ©mentLectureSignal
Plan stepsopĂ©rateur par opĂ©rateurun step “explose”
Rows / bufferscardinalitĂ© rĂ©ellemismatch → stats
PXrépartition/ skewparallélisme inefficace
Actions typiques
  • Comparer cardinalitĂ© estimĂ©e vs rĂ©elle → stats, histograms, rewriting.
  • Isoler l’opĂ©rateur “hot” → index, join order, filtre plus tĂŽt.
  • Valider le plan via DBMS_XPLAN / hints (avec prudence).
Le but n’est pas “tuner au feeling”, mais de justifier une action par une mesure.
1.6 — SQL Tuning Advisor : recommandations ciblĂ©es sur une requĂȘte
Ce qu’il propose (gĂ©nĂ©ralement)
  • Recommandations stats (manquantes/obsolĂštes).
  • Pistes index (quand Ă©vident).
  • Rewriting (predicate pushdown, jointures, etc.).
  • Éventuellement SQL Profile selon contexte/licences.
Important : la “bonne” solution est souvent un changement SQL + stats/index, pas un patch magique permanent.
Workflow recommandé
1) Identifier SQL_ID (AWR/ASH) 2) Observer plan + mĂ©triques (SQL Monitor / DBMS_XPLAN) 3) Lancer advisor (si dispo) 4) Appliquer d’abord les actions “safe” (stats, index) en test 5) Valider en prod avec baseline & rollback plan
2.1 — Prometheus + Grafana : dashboards & alerting (open-source)
Pourquoi c’est trùs “IDEO-Lab friendly”

Tu peux fabriquer des dashboards trÚs expressifs (spikes, amplitude, autoscale), et corréler Oracle + OS + Nginx + Django, exactement comme tu le fais déjà sur tes dashboards infra.

ComposantRÎleRésultat
Prometheuscollecte + TSDBmétriques historisées
Grafanadashboardsvisual “ops”
Alertmanageralertingnotif (mail/webhook)
KPIs typiques Ă  exporter
  • Sessions (active/blocked), logons/s
  • Waits (top events), DB time
  • Buffer cache / library cache (tendance)
  • Tablespace/FRA usage
  • Redo / archive log rate
Pro tip : garder un dashboard “SLO” (latence & erreurs) + un dashboard “DB internals”.
2.2 — Oracle Exporter : exposer les mĂ©triques Oracle
Idée

Un exporter exĂ©cute des requĂȘtes (ou lit des vues) et expose les rĂ©sultats sous forme de mĂ©triques Prometheus. Tu construis ensuite tes panneaux Grafana (spikes, autoscale, courbes dynamiques).

Checklist d’intĂ©gration (concept)
1) CrĂ©er un user read-only (vues perf) avec droits stricts 2) DĂ©ployer exporter (service) 3) Configurer Prometheus scrape 4) Importer dashboards Grafana “Oracle” 5) DĂ©finir alert rules (tablespace, sessions, waits, errors)
Sécurité : utiliser un compte dédié, minimal, et isoler réseau/ACL si besoin.
2.3 — ELK / OpenSearch : logs Oracle + corrĂ©lation applicative
Pourquoi les logs sont indispensables
  • Tu captures le “contexte” : ORA-errors, listener, authent, audit.
  • Tu corrĂšles DB ↔ app (ex: erreur HTTP + ORA-error mĂȘme minute).
  • Tu peux faire du “search forensic” aprĂšs incident.
IdĂ©al si tu as dĂ©jĂ  une culture “LogDoctor / pipelines logs” dans IDEO-Lab.
Sources de logs (exemples)
SourceContenuUsage
alert.logévénements DBdiagnostic
listener logconnexionssécurité / perf
auditqui fait quoicompliance
tracesdétailsdeep dive
3.1 — Datadog / Dynatrace / New Relic : observabilitĂ© full-stack
Ce que ces outils apportent
ForceImpactExemple
Traces APMcorrĂ©lation request → SQLlatence API = requĂȘte lente
Dashboards prĂȘtsgain de tempsDB + OS + app
Alerting/SLOpilotage produitlatence p95, erreurs
Quand choisir SaaS : besoin “time-to-value” rapide, multi-stacks, corrĂ©lation forte, Ă©quipe rĂ©duite.
Quand éviter : contraintes coûts/compliance, besoin 100% on-prem.
3.2 — SolarWinds DPA : monitoring performance “wait-based”
Pourquoi l’approche wait-based est efficace

PlutĂŽt que des ratios, tu analyses “oĂč le temps est passĂ©â€ (attentes), et tu peux repĂ©rer rapidement la contention, l’IO, les locks, etc.

Question clĂ© : “Pourquoi DB Time est Ă©levĂ© ?” → RĂ©ponse : “top waits + top SQL + pĂ©riode”
Cas d’usage typiques
  • Audit perf rĂ©gulier + tendances.
  • RĂ©gressions post-release.
  • RĂ©duction MTTR sur incidents.
3.3 — Quest / Redgate / Toad : suites DBA (poste de travail + ops)
À quoi ça sert (concret)
FamilleExemplesValeur
Monitoring avancéFoglight (Quest)diagnostic, historiques, alerting
DevOps DBOracle Monitor (Redgate)surveillance + workflows
Tuning SQL/IDEToad for Oracleanalyse SQL, plans, productivité
Bon pattern : OEM/Grafana pour le cockpit global + une suite “DBA” pour l’investigation SQL et le workflow.
KPIs Oracle (production) — ce qu’un DBA surveille rĂ©ellement
Performance
KPIPourquoiSignal
DB Time / DB CPUCPU bound vs wait boundécart important
Top wait eventsoĂč on perd le tempslocks/IO/log sync
Top SQL (elapsed/CPU/IO)1 requĂȘte peut tout casserrĂ©gression
Concurrence / Verrous
KPIPourquoiSignal
Blocked sessionsMTTR incidentpersistant
Enqueue waitscontention logiquehausse brutale
Log file synccommit latencyapp “write heavy”
Storage
KPIPourquoiSignal
Tablespacesprévenir saturation80/90%
FRA usagearchivelogs bloquentpics
ASM diskgroupcapacité/IOdéséquilibre
Stabilité
KPIPourquoiSignal
ORA errors ratebug/régressionburst
Parse rate / hard parseCPU wastehausse
Stats freshnessplans instablesstale
Playbooks DBA — incidents frĂ©quents (quoi regarder, quels outils)
IncidentSymptĂŽmeOutilsPremiĂšres actions
CPU 100%latence globaleAWR + ASH + SQL MonitorTop SQL, hard parse, plan regression
IO bounddb file read highAWR + OS metrics + ASMhot segments, index, storage latency
Locksblocked sessionsASH + v$sessionidentifier bloqueur, corriger logique app
Tablespace/FRA pleinĂ©checs / arrĂȘtOEM + alerting + scriptspurge/extend, revoir rĂ©tention archivelogs
Best practice : documenter pour chaque incident : “signal → enquĂȘte → action → validation → postmortem”.
Stacks recommandĂ©es — selon ton contexte (Oracle “pur” vs observability full-stack)
ContexteStackPourquoi
Oracle centricOEM + AWR/ASH/ADDM + SQL Monitordiagnostic guidé + cockpit DBA
Self-host observabilityPrometheus + Exporter + Grafana + (ELK logs)dashboards trÚs expressifs, corrélation OS/app
Entreprise multi-stackDatadog/Dynatrace/New Relic + OEMtraces APM + DB insights + SLO
Pattern efficace : OEM pour la profondeur Oracle + une couche observabilitĂ© (Grafana/SaaS) pour le “systĂšme global”.
Cheat-sheet DBA — “quoi lancer / quoi regarder” en 60 secondes
Incidents (ordre de lecture)
1) AWR (période incident) : DB Time vs CPU + Top Waits + Top SQL
                        2) ASH : qui attend quoi (sessions / locks / event)
                        3) SQL Monitor : oĂč le plan consomme
                        4) Logs : ORA- burst / erreurs / listener / audit
                        5) OS : CPU, IO latency, saturation
Actions “safe” (souvent)
- Stats / histograms (avec méthode)
                        - Index manquant évident (aprÚs preuve)
                        - Fix SQL (binds, rewriting, join order)
                        - Réduction contention (app logic, commits)
                        - Alerting tablespace/FRA + housekeeping
But : ne pas “tuner à l’aveugle” → mesurer → modifier → valider → documenter.