Oracle 19c Docker Compose Setup Guide

Oracle 19c Docker Compose Setup Guide

Oracle 19c Docker Compose Setup Guide

Prerequisites

1. Prepare Directory Structure

mkdir -p /home/kcon/oracle-docker-compose
cd /home/kcon/oracle-docker-compose
mkdir -p oradata

2. Fix Permissions for Oracle User (UID 54321)

sudo chown -R 54321:54321 oradata
sudo chmod -R 775 oradata

3. Build the Oracle 19c Docker Image

Place your Oracle ZIP file at:

/home/kcon/oracle19cdocker/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/

Run the build:

cd /home/kcon/oracle19cdocker/docker-images/OracleDatabase/SingleInstance/dockerfiles
./buildContainerImage.sh -v 19.3.0 -e

4. Create docker-compose.yaml

version: "3.8"

services:
  oracle19c:
    image: oracle/database:19.3.0-ee
    container_name: oracle19c
    environment:
      ORACLE_PWD: "StrongPass123"
      ORACLE_PDB: "ORCLPDB1"
    ports:
      - "1521:1521"
      - "5500:5500"
    volumes:
      - ./oradata:/opt/oracle/oradata
    restart: unless-stopped

5. Start Oracle Database

docker compose up -d
docker logs -f oracle19c

You should see output:

Database created.
The Oracle base remains unchanged with value /opt/oracle

6. Connect to Oracle

Inside container:

docker exec -it oracle19c bash
sqlplus sys/StrongPass123@ORCLPDB1 as sysdba

From DBeaver / SQL Developer

Setting Value
Host localhost
Port 1521
Service Name ORCLPDB1
User sys
Password StrongPass123!
Role SYSDBA

7. Troubleshooting

Permission error:

Cannot create directory "/opt/oracle/oradata/ORCLCDB"

Fix:

sudo chown -R 54321:54321 oradata
sudo chmod -R 775 oradata

sqlplus not found:

Rebuild the image and ensure Oracle ZIP file is correct.


Completed!

You now have a fully working Oracle 19c running via Docker Compose.