Parcours & apprentissage pour devenir DBA
De la formation initiale aux certifications (Oracle OCP, PostgreSQL, MySQL, Cloud), en passant par les labs Docker/K8s, les plans d’étude (90j & 12 mois), et un portfolio solide.
Bac+3/5 Info (Systèmes/Réseaux ou Dev) OCP • PG Cert • MySQL • AWS/Azure/GCP Labs: Docker, K8s, PITR, HA/DR Portfolio: projets répliquables & runbooks
1) Formations initiales & prérequis (Bac+3/5)
Parcours académiques
| Niveau | Spécialité | Compétences cibles |
|---|---|---|
| Bac+3 | Info Systèmes & Réseaux | Linux, réseaux, scripts shell, bases SQL |
| Bac+5 | Info/Ingénierie logicielle | Architectures, SQL avancé, sécurité, cloud |
Pré-requis
- SQL de base : SELECT/INSERT/UPDATE/DELETE, JOINs, agrégations.
- Linux : CLI, systemd, journaux, stockage (LVM/RAID), SSH.
- Réseau : TCP/IP, ports, DNS, TLS, firewalls.
Équivalences par l’expérience
- Auto-formation structurée (labs + lectures + projets).
- Stage/alternance: exploitation DB, support N2/N3.
- Contributions open-source (extensions PG, scripts Percona).
Ressources (références)
- Docs officielles PostgreSQL / Oracle Learning / MySQL Ref.
- Blogs : Percona, CrunchyData, pganalyze, Cloud providers.
Snippets “starter”
# Installer Postgres sous Docker
docker run -e POSTGRES_PASSWORD=pass -p 5432:5432 -v pgdata:/var/lib/postgresql/data postgres:16
# Connexions clients
psql -h 127.0.0.1 -U postgres
mysql -h 127.0.0.1 -u root -p
sqlplus system/*****@//127.0.0.1:1521/ORCLCDB2) Fondamentaux SGBD & SQL (ACID, index, EXPLAIN, partition)
Objectifs d’apprentissage
- Comprendre ACID & MVCC ; niveaux d’isolation.
- Maîtriser EXPLAIN/ANALYZE ; cardinalité, coût, buffers.
- Index : B-Tree, GIN/GiST/BRIN (PG), bitmap (Oracle).
- Partitionnement : range, list, hash ; pruning.
Exercices guidés
-- EXPLAIN + index composite (PG)
EXPLAIN (ANALYZE, BUFFERS)
SELECT * FROM orders WHERE customer_id=$1 AND created_at>now()-interval '30d';
CREATE INDEX IF NOT EXISTS idx_orders_cid_dt ON orders(customer_id, created_at);
-- MySQL: EXPLAIN FORMAT=JSON
EXPLAIN FORMAT=JSON SELECT ...;Tableau — erreurs fréquentes
| Erreur | Impact | Remède |
|---|---|---|
| SELECT * | IO inutile | Colonnes nécessaires + covering |
| %abc leading | Index ignoré | Index fulltext/GIN + rewrite |
| Stats obsolètes | Plans mauvais | ANALYZE/DBMS_STATS |
3) Linux & Réseaux (shell, stockage, firewalls, TLS)
Modules clés
- Filesystems (XFS/EXT4), LVM/RAID, I/O (iostat/vmstat/atop).
- Systemd, journald/rsyslog, rotation logs.
- Réseaux : TCP/IP, DNS, firewalls, TLS, bastion/VPN.
Snippets
iostat -x 1 3
vmstat 1 5
ufw default deny incoming
ufw allow from 10.0.0.0/16 to any port 5432 proto tcpTableau — cibles opérationnelles
| Zone | Métrique | Objectif |
|---|---|---|
| Disque | Latence p95 | < 5–10 ms |
| RAM | Swap in/out | ≈ 0 en prod |
| Horloge | NTP drift | < 50 ms |
4) Labs Docker & Kubernetes (réplication, PITR, Operators)
Docker Compose (PG)
services:
pg:
image: postgres:16
environment: {POSTGRES_PASSWORD: pass}
ports: ["5432:5432"]
volumes: ["pgdata:/var/lib/postgresql/data"]Exos
- PITR : pg_dump, archives WAL, restore point.
- Réplication : primaire + réplica (pg_basebackup), bascule manuelle.
Kubernetes Operators
apiVersion: acid.zalan.do/v1
kind: postgresql
metadata: {name: app-cluster}
spec:
numberOfInstances: 3
volume: {size: 200Gi}
users: {app_user: ["reader","writer"]}- PDB, StatefulSets, PVC, snapshots CSI (restore tests).
Runbooks lab
- Restauration contrôlée (table, base, PITR).
- Test de failover + validation applicative (read/write).
- Alertes Prometheus : lag réplication, fraîcheur backup.
5) Certifications – OCP, PostgreSQL, MySQL, AWS/Azure/GCP
Carte des certifs (exemples)
| Volet | Certification | Contenu typique |
|---|---|---|
| Oracle | OCP | Architecture, RMAN, RAC/Data Guard, perf, sécurité |
| PostgreSQL | Professional | MVCC, WAL, config, index, réplication |
| MySQL | DBA | InnoDB, réplication, tuning, sécurité |
| Cloud | AWS/Azure/GCP (DB) | RDS/Aurora, Cloud SQL, Azure DB, sauvegardes/HA |
Préparation
- Lire docs officielles + faire labs ciblés par objectif.
- Fiches mémo : paramètres, commandes, schémas HA/DR.
- Exam simulés + notes d’erreurs → boucle d’amélioration.
Snippets mémo
# PG réplication physique (rappel)
pg_basebackup -D /replica -R -X stream -C -S slot01
# Oracle RMAN (rappel)
BACKUP DATABASE PLUS ARCHIVELOG;
RESTORE DATABASE; RECOVER DATABASE;6) Plan d’étude – 90 jours (accéléré) & 12 mois (complet)
Plan 90 jours (4 blocs)
| Semaine | Objectifs |
|---|---|
| S1–S2 | SQL/EXPLAIN, index, partitions ; Linux I/O ; backups simples |
| S3–S4 | Réplication (PG/MySQL), PITR, monitoring Prom/Grafana |
| S5–S8 | HA (Patroni/Group Rep), poolers, sécurité (TLS/RBAC) |
| S9–S12 | Projets portfolio + mock exams certifs |
Jalons (DoD)
- Restore contrôlé (PITR) validé.
- Failover testé + bascule applicative OK.
- Dashboards & alertes opérationnels.
Roadmap 12 mois (diagramme)
- Q1 : EXPLAIN, backups ; Q2 : HA/DR ; Q3 : DBaaS & IaC ; Q4 : Operators & CI/CD DB.
Anti-patterns : pas de jalons mesurables, aucun test de restore, pas d’évaluation périodique.
7) Portfolio & projets répliquables (avec runbooks)
Idées de projets
- Plateforme PG HA (Patroni + HAProxy + pgBouncer) avec dashboards Grafana.
- MySQL InnoDB Cluster + Orchestrator + backups (XtraBackup) + DR async.
- Oracle Data Guard (lab) + RMAN + AWR/ASH reports.
Runbooks indispensables
- PITR (étapes & temps), failover (bascule + validation), restore table.
- Checklist patching : pré-checks, exécution, rollback, post-checks.
- Plan de test performance (bench, seuils, rapport).
Critères d’évaluation
| Axe | Indicateur | Cible |
|---|---|---|
| Disponibilité | Bascule & reprise | RTO ≤ 30 min |
| Protection | Restauration point-temps | RPO ≤ 5 min |
| Obs | Alertes + dashboards | Couverture ≥ 90% |
8) Préparation entretien & évaluation (quiz, exos, cas pratiques)
Quiz ciblés
- SQL/EXPLAIN, index & plans (10–20 questions chrono).
- Réplication & PITR, HA/DR (patrons & anti-patterns).
- Sécurité (TLS/RBAC/audit), cloud (RDS/Aurora/Cloud SQL).
Exercices pratiques
- Optimiser une requête réelle (latence ÷ 5) avec EXPLAIN & index.
- Mettre en place un PITR & prouver RPO/RTO.
- Simuler un failover & restaurer le service + mesure du temps.
Entretien structuré
| Thème | Question | Attendu |
|---|---|---|
| Plans | Expliquez un plan mal estimé | Stats, cardinalité, index, rewrite |
| DR | Garantir RPO≤5m | Journaux, synchro, monitoring fraîcheur |
| Sécu | RBAC least privilege | Rôles, comptes nomin., audit |
