The Correct Way to Install Oracle APEX 24.2 & ORDS on Oracle 26ai Free (Docker) – End-to-End Guide

This guide walks through a clean, repeatable, and production-aligned setup of:

  • Oracle AI Database 26ai Free (Docker)
  • Java 17 (required by ORDS)
  • Oracle APEX 24.2 (inside the database)
  • Oracle REST Data Services (ORDS 25.4)
The Correct Way to Install Oracle APEX 24.2 & ORDS on Oracle 26ai Free (Docker) – End-to-End Guide

Rather than just listing commands, this guide explains why each step is required, so you understand the architecture and can troubleshoot confidently. I have a YouTube video on this topic - Do check it out:


1. Architecture Overview (Why These Components Exist)

Component Role
Oracle DB 26ai Free Stores APEX metadata, applications, users
Oracle APEX Low-code platform that runs inside the database
ORDS Java-based web server exposing APEX over HTTP
Java 17 Runtime required to execute ORDS
Docker Provides an isolated, reproducible environment

Key concept: APEX cannot serve web pages on its own. ORDS is mandatory.


2. Pull and Run Oracle Database 26ai Free

2.1 Pull the Docker image

docker pull container-registry.oracle.com/database/free:latest

This image already includes Oracle 26ai Free, a CDB, a default PDB (FREEPDB1), and all required OS libraries.

2.2 Run the container

docker run -d --name oracle26ai-free -p 1521:1521 -p 5500:5500 -p 8080:8080 -e ORACLE_PWD=YourPassword123 container-registry.oracle.com/database/free:latest
  • 1521 → Database connections
  • 5500 → Enterprise Manager Express
  • 8080 → ORDS / APEX HTTP traffic

2.3 Monitor startup

docker logs oracle26ai-free --tail 50 -f

Wait until you see DATABASE IS READY.


3. Verify Database Connectivity

sql system/YourPassword123@//localhost:1521/FREEPDB1

This confirms the listener is running, the PDB is open, and credentials are valid.


4. Copy Java and APEX Files into the Container

docker cp C:\Users\jenis\Downloads\jdk-17.0.12_linux-x64_bin.tar.gz oracle26ai-free:/opt
docker cp C:\Users\jenis\Downloads\apex_24.2.zip oracle26ai-free:/opt

/opt is a standard location for optional third-party software and keeps Oracle Home clean.


5. Install Java 17 (Required for ORDS)

5.1 Enter container as root

docker exec -it oracle26ai-free bash
su -

5.2 Extract JDK and register Java

cd /opt
tar -xzf jdk-17.0.12_linux-x64_bin.tar.gz
ln -s /opt/jdk-17.0.12/bin/java /usr/bin/java
java -version

The symbolic link guarantees Java works for all users and avoids PATH issues.


6. Extract Oracle APEX

unzip apex_24.2.zip

This creates /opt/apex, containing SQL install scripts and static images.


7. Prepare Oracle Environment (Critical)

su - oracle
. /opt/oracle/product/26ai/dbhomeFree/bin/oraenv

This sets ORACLE_HOME, ORACLE_SID, and enables SQL*Plus. Password would mostly be same as username (oracle).

7.1 Make it permanent

vi ~/.bash_profile
export ORACLE_SID=FREE
export ORAENV_ASK=NO
. /opt/oracle/product/26ai/dbhomeFree/bin/oraenv
export PATH=$PATH:/opt/ords/bin
export ORDS_CONFIG=/opt/ords-config

8. Install Oracle APEX 24.2

sqlplus / as sysdba
ALTER SESSION SET CONTAINER=FREEPDB1;
@apexins.sql SYSAUX SYSAUX TEMP /i/

9. Install ORDS

9.1 Prepare directories (root)

mkdir -p /opt/ords
mkdir -p /opt/ords-config
chown -R oracle:oinstall /opt/ords /opt/ords-config
chmod -R 775 /opt/ords-config

9.2 Download ORDS (oracle)

cd /opt/ords
curl -L -o ords.zip https://download.oracle.com/otn_software/java/ords/ords-latest.zip
unzip ords.zip

10. Install ORDS

ords install

11. Set APEX Admin Password

@/opt/apex/apxchpwd.sql

12. Access URLs

  • APEX Builder: http://localhost:8080/ords/apex
  • APEX Admin: http://localhost:8080/ords/apex_admin

13. Fix APEX Images Mapping (only in case of issues)

mkdir -p /opt/ords-config/global/doc_root
ln -s /opt/apex/images /opt/ords-config/global/doc_root/i

Conclusion

Installing Oracle APEX 24.2 with ORDS 25.4 on Oracle Database 26ai Free using Docker may look overwhelming at first, but once you understand the why behind each step, the entire setup becomes structured, repeatable, and reliable.

In this guide, we didn’t just install software — we:

  • Understood how Oracle Database, APEX, and ORDS work together

  • Learned the purpose of critical ports (1521, 5500, 8080) and how they fit into the architecture

  • Followed best practices for user management (root vs oracle)

  • Avoided common pitfalls related to environment variables, SQL tools, and editor issues

  • Built a production-ready, containerized APEX environment that is easy to maintain and scale

This setup forms a solid foundation for:

  • Developing modern low-code applications with Oracle APEX

  • Exposing secure REST APIs using ORDS

  • Experimenting with Oracle 26ai features in a safe, isolated environment

  • Building CI/CD-friendly, cloud-ready database architectures

If you’ve reached this point, you now have complete control over your Oracle APEX environment, not just a copy-paste installation. That understanding is what truly differentiates a developer from an architect.

📌 In upcoming posts and videos, we’ll extend this setup by:

  • Securing ORDS and APEX

  • Enabling REST APIs

  • Integrating external services

  • Exploring Oracle 26ai capabilities in real-world APEX applications

If you found this guide helpful, feel free to share it, bookmark it, or drop your questions in the comments — I’ll be happy to help and also cover requested topics in future content.

Welcome to the journey — Into the Oracle Verse 🚀

data:post.title

The Correct Way to Install Oracle APEX 24.2 & ORDS on Oracle 26ai Free (Docker) – End-to-End Guide

Written by JENISH JOYAL J

Published on December 27, 2025

No comments:

Powered by Blogger.