Si queremos trastear con una base de datos oracle aqui os dejo un docker-compose con interfaz web, aunque sinceramente yo uso sqldeveloper.

version: "3.8"
services:
  oracledb:
    container_name: oracledb
    image: akaronte/oracle:19.3.0.0
    restart: always
    ports:
      - '1521:1521'
      - '5500:5500'
    environment:
      SVC_HOST: db19c-oracle-db
      SVC_PORT: '1521'
      ORACLE_SID: ORCLCDB
      ORACLE_PDB: ORCLPDB1
      ORACLE_PWD: ORACLE123
      ORACLE_CHARACTERSET: AL32UTF8
      ORACLE_EDITION: enterprise
      ENABLE_ARCHIVELOG: 'false'
    volumes:
      - ./oracledb_data:/opt/oracle/oradata
    networks:
      - internal-net
  omnidb:
    container_name: omnidb
    image: akaronte/omnidb
    privileged: true
    user: root
    volumes:
    - ./omnidb_data:/etc/omnidb
    environment:
    - TZ=Europe/Madrid
    ports: 
      - "25482:25482" 
      - "8080:8080"
    networks:
      - internal-net
networks:
  internal-net:
    external: false
    name: internal-net

Esperar 30 minutos, porque la base de datos oracle tarda mucho en expandirse. Para poder ver como va usar «docker logs oracledb»

Una vez tenemos la base de datos oracle aun no vamos a poder conectar antes tenemos que crear una base de datos plugable y un usuario administrador, ademas tambien tenemos que abrir la base de datos al exterior.

Lo primero tenemos que entrar al contenedor:

docker exec -ti oracledb bash

Creamos una carpeta dentro del contenedor que albergara nuestra base de datos portable

mkdir -p /opt/oracle/oradata/ORCLCDB/springdb

Ahora un usuario admin y en la base de datos portable:

sqlplus / as sysdba
CREATE PLUGGABLE DATABASE springdb ADMIN USER springadmin IDENTIFIED BY spring123 FILE_NAME_CONVERT = ('/opt/oracle/oradata/ORCLCDB/pdbseed','/opt/oracle/oradata/ORCLCDB/springdb');

Una vez creada la base de datos tenemos que abrir al exterior.

ALTER SESSION SET CONTAINER = springdb;
alter pluggable database springdb OPEN;

Solo nos queda dar permisos al usuario admin:

GRANT CONNECT, RESOURCE, DBA to springadmin;

OmniDB

El docker-compose contiene un contenedor de un similar al phpmyadmin pero para oracle.
Para acceder a la interfaz web url http://lcoalhost:8080
Usuario y pass admin admin
Una vez dentro seleccionar tipo de base de datos oracle como direccion del servidor ponemos el conedor oracledb puerto 1521 y si no hemos creado ninguna base de datos usuario: SYSTEM password: oracle123 y basededatos:

https://github.com/Akaronte/oracledb-omnidb


0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *