Docker: Oracle + CloudBeaver
Entorn de desenvolupament local amb Oracle Database 23c Free i CloudBeaver Community orquestrats amb Docker Compose. CloudBeaver és accessible al port 8890.
Primera inicialització: fins a 10 minuts
Oracle ha de crear la base de dades des de zero en el primer arrencada. El contenidor pot trigar entre 5 i 10 minuts fins que el healthcheck passa i CloudBeaver pot connectar-se. No reiniciïs el contenidor durant aquest procés.
Estructura de fitxers
docker-compose.yml
services:
oracle:
image: gvenzl/oracle-free:latest
container_name: oracle-gbd
environment:
ORACLE_PASSWORD: Oracle123
APP_USER: gbd
APP_USER_PASSWORD: Gbd12345
volumes:
- oracle_data:/opt/oracle/oradata
networks:
- oracle_net
healthcheck:
test: ["CMD", "healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 10
start_period: 120s
restart: unless-stopped
cloudbeaver:
image: dbeaver/cloudbeaver:latest
container_name: cloudbeaver-oracle
volumes:
- cloudbeaver_data:/opt/cloudbeaver/workspace
ports:
- "8890:8978"
networks:
- oracle_net
depends_on:
oracle:
condition: service_healthy
restart: unless-stopped
volumes:
oracle_data:
cloudbeaver_data:
networks:
oracle_net:
Posada en marxa
docker compose up -d
# Segueix la inicialització de la base de dades en temps real
docker compose logs -f oracle
Quan vegis la línia DATABASE IS READY TO USE! als logs, Oracle ha acabat d'inicialitzar. Aleshores obre:
Configuració inicial de CloudBeaver
La primera vegada que obres CloudBeaver cal crear un compte d'administrador i configurar la connexió a Oracle.
1. Crear compte d'administrador
CloudBeaver demana un usuari i contrasenya per al portal web. Usa qualsevol credencial que recordis (per exemple admin / admin123).
2. Nova connexió a Oracle
Fes clic a New Connection i selecciona Oracle. Omple els camps:
| Camp | Valor |
|---|---|
| Host | oracle |
| Port | 1521 |
| Database / Service | FREEPDB1 |
| Username | gbd |
| Password | Gbd12345 |
Fes clic a Test Connection per verificar i després Create.
Dos usuaris disponibles
gbd/Gbd12345— usuari d'aplicació creat automàticament, connecta al PDBFREEPDB1. Per a les pràctiques del curs.system/Oracle123— usuari d'administració. Per a tasques de gestió (crear usuaris, tablespaces, etc.).
Credencials
| Servei | Camp | Valor |
|---|---|---|
| Oracle | Usuari app | gbd |
| Oracle | Contrasenya app | Gbd12345 |
| Oracle | Usuari admin | system |
| Oracle | Contrasenya admin | Oracle123 |
| Oracle | PDB (base de dades) | FREEPDB1 |
| Oracle | Port | 1521 |
| CloudBeaver | URL | http://localhost:8890 |
Connexió des del terminal
# SQL*Plus des de dins del contenidor
docker exec -it oracle-gbd sqlplus gbd/Gbd12345@FREEPDB1
# Com a administrador
docker exec -it oracle-gbd sqlplus system/Oracle123@FREEPDB1
Gestió del cicle de vida
docker compose stop
docker compose start
docker compose down
docker compose down -v # esborra també les dades (cal reinicialitzar Oracle)
down -v reinicia Oracle des de zero
Si elimines el volum oracle_data, el proper docker compose up -d tornarà a fer la inicialització completa (~10 minuts).