Oracle – Délibérations & Votes

Objectif : Mettre en place une base Oracle XE Dockerisée

Mise en place d’un environnement Oracle XE complet : schéma delibuser, tables citoyens, votes, délibérations, connectable via DBeaver, avec scripts SQL et gestion GitHub.

Oracle XE 21c SQL Docker Compose GitHub DBeaver Dump SQL
  • Catégorie : Base de données / DevOps
  • Contexte : Projet personnel d’apprentissage Oracle
  • Livrables : docker-compose.yml, init_oracle.sql, deliberations.csv
  • Voir le repository GitHub
Contexte & objectifs

Projet d’installation d’Oracle XE dans un conteneur Docker, création du schéma delibuser, gestion des droits et mise en place de tables relationnelles.

Architecture & Scripts SQL
CREATE USER delibuser IDENTIFIED BY Delib2025;
GRANT CONNECT, RESOURCE TO delibuser;

CREATE TABLE delibuser.citoyens (
  id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
  nom VARCHAR2(100),
  prenom VARCHAR2(100),
  date_naissance DATE,
  ville VARCHAR2(100)
);

CREATE TABLE delibuser.votes (
  id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
  id_citoyen NUMBER,
  id_deliberation NUMBER,
  vote VARCHAR2(10),
  FOREIGN KEY (id_citoyen) REFERENCES delibuser.citoyens(id)
);
Installation & lancement
# Lancer Oracle XE via Docker
docker-compose up -d

# Connexion dans le conteneur
docker exec -it oracle_xe bash
sqlplus sys/MySecurePassword123@localhost:1521/XEPDB1 as sysdba
Problèmes rencontrés & solutions
  • ORA-01918 (utilisateur inexistant) → correction du schéma actif
  • Problèmes de droits → corrigés avec GRANT CONNECT, RESOURCE
  • Conflits de noms → suppression manuelle des objets doublons
Résultats & bilan
  • Schéma delibuser opérationnel
  • Tables citoyens, votes, délibérations créées
  • Connexion validée via DBeaver
  • Versionnage GitHub structuré