Oracle Database Free con Docker

En este artículo, identificaremos el tipo de imagen gratuita de Oracle Database que necesitamos, la implementaremos, nos conectaremos a ella y crearemos un usuario en la base de datos con el objetivo de que esta instancia sea útil para el entorno de desarrollo.

Tags

Seleccione el comando pull dependiendo de la arquitectura del PC o VPS/Servidor:

TagOS / ArquitecturaTamañoComando Pull
23.5.0.0-lite-arm64linux/arm64836.74 MBdocker pull container-registry.oracle.com/database/free:23.5.0.0-lite-arm64
23.5.0.0-arm64linux/arm642.94 GBdocker pull container-registry.oracle.com/database/free:23.5.0.0-arm64
23.5.0.0-lite-amd64linux/amd64859.78 MBdocker pull container-registry.oracle.com/database/free:23.5.0.0-lite-amd64
23.5.0.0-amd64linux/amd642.99 GBdocker pull container-registry.oracle.com/database/free:23.5.0.0-amd64

La referencia oficial y actualizada de etiquetas se puede encontrar en el sitio web de Oracle.

Implementar Oracle Database Free con Docker

1. Descargar imagen

    Selecciona el comando pull de la sección anterior llamada «Tags» y ejecutarlo en el terminal, por ejemplo:

    docker pull container-registry.oracle.com/database/free:23.5.0.0-lite-amd64

    2. Crear volumen

    Ejecutar el siguiente comando en el terminal para crear un volumen:

    docker volume create <volume name>

    Comando de ejemplo:

    docker volume create sandbox-oracledb-data

    3. Ejecutar contenedor

    Comando:

    docker run -d --name <oracledb container name> \
    -p <host port>:1521 \
    -e ORACLE_PWD=<your password> \
    -e ORACLE_CHARACTERSET=AL32UTF8 \
    -e ORACLE_PDB=<your database name> \
    -v <your volume name>:/opt/oracle/oradata \
    container-registry.oracle.com/database/free:<tag>

    Ejemplo, considerando la imagen descargada y volumen creado previamente:

    docker run -d --name sandbox-oracledb \
    -p 1521:1521 \
    -e ORACLE_PWD=changeme \
    -e ORACLE_CHARACTERSET=AL32UTF8 \
    -e ORACLE_PDB=sandboxpdb \
    -v sandbox-oracledb-data:/opt/oracle/oradata \
    container-registry.oracle.com/database/free:23.5.0.0-lite-amd64

    Conéctate desde SQL Developer o cualquier herramienta compatible para la administración de bases de datos

    • Host: IP
    • Puerto: 1521
    • Base de datos: valor de la variable de entorno ORACLE_PDB. Además seleccionar la opción Service Name.
    • Usuario: system
    • Contraseña: valor de la variable de entorno ORACLE_PWD.
    • Authentication: Oracle Database Native
    • Role: Normal

    Si desplegaste la base de datos en un servidor o VPS, asegúrate de que el puerto esté abierto o de que algún firewall no lo esté bloqueando.

    Crear nuevo usuario

    1. Define un estándar de nomenclatura

    Por ejemplo, supongamos que un sistema gestiona dos aplicaciones (Ventas y Compras) y dos entornos (desarrollo y producción). La nomenclatura podría ser como se muestra en la siguiente tabla:

    SchemaDescripción
    APP_SALES_DEVEsquema de desarrolo de la aplicación Ventas
    APP_SALES_PRODEsquema de producción de la aplicación Ventas
    APP_PURCHASES_DEVEsquema de desarrolo de la aplicación Compras
    APP_PURCHASES_PRODEsquema de producción de la aplicación Compras

    2. Crear usuario con los siguientes comandos SQL

    Comandos SQL:

    CREATE USER <SCHEMA_AND_USER_NAME> IDENTIFIED BY "<PASSWORD>";
    GRANT CONNECT, RESOURCE TO <SCHEMA_AND_USER_NAME>;
    GRANT CREATE SESSION TO <SCHEMA_AND_USER_NAME>;
    GRANT UNLIMITED TABLESPACE TO <SCHEMA_AND_USER_NAME>;

    Ejemplo:

    CREATE USER APP_SANDBOX_DEV IDENTIFIED BY "changeme";
    GRANT CONNECT, RESOURCE TO APP_SANDBOX_DEV;
    GRANT CREATE SESSION TO APP_SANDBOX_DEV;
    GRANT UNLIMITED TABLESPACE TO APP_SANDBOX_DEV;

    Referencias

    Más entradas