Running Oracle Database 23ai Free with Podman on Oracle Linux 10

 

Running Oracle Database 23ai Free with Podman on Oracle Linux 10

Aaron Rose

Aaron Rose       
Software Engineer & Technology Writer


Introduction

Oracle Linux 10 ships with Podman pre-installed, making it dead simple to get Oracle Database 23ai Free up and running. No Docker installation needed, no complex setup—just pull and run.

Prerequisites

  • Oracle Linux 10 (fresh install is fine)
  • Terminal access with sudo privileges
  • About 2GB of available disk space

Step 1: System Update

First, make sure your system is current:

sudo dnf update -y

Step 2: Verify Podman

Oracle Linux 10 includes Podman out of the box. Confirm it's ready:

podman --version

You should see something like podman version 4.x.x.

Step 3: Pull the Container Image

We'll use the community-maintained Oracle Free image from Docker Hub:

podman pull gvenzl/oracle-free:23ai

This image is maintained by Gerald Venzl, an Oracle employee, and supports multiple architectures. The download is roughly 1.5GB, so grab a coffee.

Step 4: Run the Database Container

Start Oracle Database with a single command:

podman run -d \
  --name oracle-db \
  -e ORACLE_PASSWORD=SecurePass123! \
  -p 1521:1521 \
  -p 5500:5500 \
  gvenzl/oracle-free:23ai

Important: Replace SecurePass123! with your own strong password.

Step 5: Monitor Startup

Oracle takes a few minutes to initialize on first run. Watch the progress:

podman logs -f oracle-db

Look for the line DATABASE IS READY TO USE! — that's your cue that everything is up.

Step 6: Connect to Your Database

Using SQL*Plus (if installed)

sqlplus sys/SecurePass123!@localhost:1521/FREEPDB1 as sysdba

Using any SQL client

  • Host: localhost
  • Port: 1521
  • Service Name: FREEPDB1
  • Username: sys (or system, pdbadmin)
  • Password: Your password from step 4

What You Get

Your Oracle Database 23ai Free container includes:

  • Container Database: FREE
  • Pluggable Database: FREEPDB1
  • Pre-configured users: SYS, SYSTEM, PDBADMIN
  • Enterprise Manager Express: Available at http://localhost:5500/em

Basic Container Management

# Stop the database
podman stop oracle-db

# Start it again
podman start oracle-db

# View container status
podman ps -a

# Remove completely (destroys data!)
podman rm -f oracle-db

Making Data Persistent

By default, your data disappears when you remove the container. To persist data:

# Create a volume first
podman volume create oracle-data

# Run with persistent storage
podman run -d \
  --name oracle-db \
  -e ORACLE_PASSWORD=SecurePass123! \
  -p 1521:1521 \
  -p 5500:5500 \
  -v oracle-data:/opt/oracle/oradata \
  gvenzl/oracle-free:23ai

Troubleshooting

Container won't start: Check if ports 1521 or 5500 are already in use:

sudo ss -tlnp | grep -E ':(1521|5500)'

Can't connect: Ensure the database finished initializing by checking logs:

podman logs oracle-db | tail -20

Out of memory: Oracle Database needs at least 2GB RAM. Check available memory:

free -h

Next Steps

You now have Oracle Database 23ai Free running in a container. From here you can:

  • Create your own schemas and tables
  • Load sample data
  • Connect applications
  • Explore Oracle 23ai's new features

The beauty of this setup is that it's completely isolated and disposable. Want to start fresh? Just remove the container and run it again.

Why This Approach Works

Podman on Oracle Linux gives you:

  • No daemon overhead - containers run as regular processes
  • Rootless by default - better security posture
  • Full Docker CLI compatibility - same commands you know
  • Native Oracle support - it's their own container runtime

This setup is perfect for development, testing, or learning Oracle Database without the complexity of a full installation.


Aaron Rose is a software engineer and technology writer at tech-reader.blog and the author of The Rose Theory series on math and physics.

Comments

Popular posts from this blog

The New ChatGPT Reason Feature: What It Is and Why You Should Use It

Raspberry Pi Connect vs. RealVNC: A Comprehensive Comparison

Running AI Models on Raspberry Pi 5 (8GB RAM): What Works and What Doesn't