Salta el contingut

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

oracle-cloudbeaver/
└── docker-compose.yml

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:

http://localhost:8890

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 PDB FREEPDB1. 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).