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:
Tag | OS / Arquitectura | Tamaño | Comando Pull |
---|---|---|---|
23.5.0.0-lite-arm64 | linux/arm64 | 836.74 MB | docker pull container-registry.oracle.com/database/free:23.5.0.0-lite-arm64 |
23.5.0.0-arm64 | linux/arm64 | 2.94 GB | docker pull container-registry.oracle.com/database/free:23.5.0.0-arm64 |
23.5.0.0-lite-amd64 | linux/amd64 | 859.78 MB | docker pull container-registry.oracle.com/database/free:23.5.0.0-lite-amd64 |
23.5.0.0-amd64 | linux/amd64 | 2.99 GB | docker 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ónService 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:
Schema | Descripción |
---|---|
APP_SALES_DEV | Esquema de desarrolo de la aplicación Ventas |
APP_SALES_PROD | Esquema de producción de la aplicación Ventas |
APP_PURCHASES_DEV | Esquema de desarrolo de la aplicación Compras |
APP_PURCHASES_PROD | Esquema 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