Salta el contingut
 

Instal·lació d'Oracle DB

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Instal·lació d'Oracle DB

En aquest curs, Oracle DB s'executa dins d'un contenidor de Docker. D'aquesta manera, no cal instal·lar el servidor en el sistema amfitrió i es pot crear, aturar o eliminar la base de dades sense deixar rastre en la màquina.

Obtenció de la imatge

Oracle publica la imatge de l'edició Express (XE) en el seu propi registre de contenidors. Es descarrega amb l'ordre:

docker pull container-registry.oracle.com/database/express:21.3.0-xe

Execució del contenidor

La variable d'entorn ORACLE_PWD defineix la contrasenya dels usuaris administradors (SYS, SYSTEM i PDBADMIN). A més, es publiquen dos ports: el 1521 del listener, que en l'amfitrió s'exposa com a 1522, i el 5500 de l'Enterprise Manager Express:

docker run -d --name oracleX213 -p 1522:1521 -p 5500:5500 -e ORACLE_PWD=oracle \
    container-registry.oracle.com/database/express:21.3.0-xe

Configuració amb Docker Compose

Per no haver de recordar totes les opcions de docker run, és més còmode definir el servei en un fitxer docker-compose.yml:

services:
  oracle-db:
    container_name: oracleX213
    image: container-registry.oracle.com/database/express:21.3.0-xe
    environment:
      - ORACLE_PWD=oracle
    ports:
      - 1521:1521
      - 5500:5500
      - 8080:8080
    # volumes:
    #   - ./oradata:/opt/oracle/oradata
    ulimits:
      nofile:
        soft: 65536
        hard: 65536

El servei s'inicia en segon pla amb l'ordre:

docker compose up -d

La primera execució tarda uns minuts, ja que es crea la base de dades. Per saber quan està preparada, es poden consultar els registres del contenidor:

docker logs -f oracleX213

Si el servidor no arranca o dona errors, vegeu Registre del servidor per interpretar els missatges del registre.

Connexió a la base de dades

Una vegada el contenidor està en funcionament, hi ha dues maneres habituals d'accedir-hi:

  • Terminal del contenidor: obri una sessió bash dins del contenidor, útil per consultar fitxers de configuració o executar ferramentes del servidor.

    docker exec -it oracleX213 bash
    
  • Client SQL*Plus: obri el client de línia d'ordres d'Oracle connectat com a sys amb el rol SYSDBA.

    docker exec -it oracleX213 sqlplus sys@XE as sysdba
    

Vegeu Configuració de connexions per connectar-se des d'altres clients.

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.