Running Oracle Database 23ai Free with Podman on Oracle Linux 10
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
Post a Comment