Skip to content

⚠️ Warning: Legacy Software

This setup is intended only for my classmates or anyone who absolutely must use Oracle 10g for academic or legacy reasons.

Oracle 10g is outdated, unsupported, insecure, and a terrible choice for production, modern development, or internet-facing deployments.

Use this at your own risk — you've been warned.

🐳 Oracle 10g Installation on Linux Using Docker


Set up Oracle Database 10g Express Edition inside a Docker container on any Linux system with persistent storage and browser access.

❄️ Step 1: Install Docker

Debian / Ubuntu

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

Arch Linux

sudo pacman -Syu docker
sudo systemctl enable --now docker

Fedora

sudo dnf install -y docker
sudo systemctl enable --now docker

(Optional) Add user to docker group

sudo usermod -aG docker \$USER
newgrp docker

🐉 Step 2: Pull Oracle 10g Docker Image

docker pull dragonbest520/oracle-xe-10g

💾 Step 3: Create Volume for Persistence

docker volume create oracle_xe_10g_vol

🚀 Step 4: Run Oracle 10g Container

docker run --name oracle10g \\
  -d \\
  -p 49160:22 \\
  -p 1521:1521 \\
  -p 49162:8080 \\
  --mount source=oracle_xe_10g_vol,target=/usr/lib/oracle \\
  -e ORACLE_ALLOW_REMOTE=true \\
  --shm-size=1g \\
  --memory=2g \\
  --restart=always \\
  dragonbest520/oracle-xe-10g

🌐 Step 5: Access Oracle Services

Port Purpose
1521 SQL Listener
49160 SSH (optional)
49162 APEX Web GUI (HTTP)

🖥️ Open your browser and go to: http://localhost:49162/apex to access the Oracle APEX Web UI.


🔑 Default Credentials

  • Username: `system`
  • Password: `oracle`

🧼 Step 6: Manage the Container

docker logs -f oracle10g         # View logs
docker exec -it oracle10g bash   # Shell inside container
docker stop oracle10g            # Stop DB
docker start oracle10g           # Start DB

📁 Data Location

All Oracle files are stored inside:

/var/lib/docker/volumes/oracle_xe_10g_vol/_data

Backup this volume if you care about data persistence.


⚠️ Notes

  • This image uses Oracle 10g, which is deprecated and no longer supported.
  • Do not expose these ports to public internet unless you know what you're doing.
  • Use this only for testing, local dev, or legacy lab use cases.