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.
- 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é