Required Software Components
- Oracle Database 26ai
- Oracle Application Express (APEX)
- ORDS (Oracle REST Data Services)
- Java Development Kit / Runtime Environment 17.0.1 or higher
- Apache Tomcat 9.0
In the follow example, Oracle and the associated applications will be installed in C:\app.
Tip: Use an encrypted password database such as Bitwarden to store login details for Oracle, APEX, ORDS, and Tomcat.
Download Software
- Oracle Database 26ai: Oracle Database 26ai
- APEX: Oracle APEX Download
- ORDS: Oracle ORDS Download
- Java 17.0.1: Java 17 Archive
- Apache Tomcat 9.0: Tomcat Downloads
Installation Steps
Install Oracle Database 26ai Free
Follow this guide to install Oracle Database: Oracle Database 26 ai Installation Guide (Windows)
- Extract the Oracle Database Zip to the target folder under C:\app
- Run setup.exe
- Make a note of the connection strings.
- Store passwords in an encrypted database, such as Bitwarden.
Install APEX
- Extract APEX Zip to the target folder under C:\app
- Open command prompt as user with administrator privileges.
- Change to the Apex directory:
C:\> cd c:\app\apex
- Run SQL*Plus as SYSDBA:
C:\app\apex> sqlplus / as sysdba
- Switch to pluggable DB:
SQL> show pdbs;
SQL> alter session set container = FREEPDB1; - Install APEX:
SQL> @apexins.sql sysaux sysaux temp /i/
- Set APEX admin password:
SQL> @apxchpwd.sql
- Unlock APEX_PUBLIC_USER:
SQL> alter user apex_public_user account unlock;
SQL> alter user apex_public_user identified by <password>;
Configure RESTful Services
SQL> @apex_rest_config.sql
Enter new passwords for APEX_LISTENER and APEX_REST_PUBLIC_USER.
Install Java
- Extract the Java Zip to the target folder under C:\app
- Run jdk-17.0.1_windows-x64_bin.exe
- Check version:
java -version
Install Oracle REST Data Services (ORDS)
- Extract the ORDS Zip to the target folder under C:\app
- Unlock SYS and APEX accounts. NB: Remember to lock SYS after installing APEX.
Open the command prompt:sqlplus / as SYSDBA
SQL> alter user sys account unlock container=all;
SQL> alter session set container=FREEPDB1;
SQL> alter user apex_listener account unlock;
SQL> alter user apex_public_user account unlock;
SQL> alter user apex_rest_public_user account unlock; - Create config folder: C:\app\ords\config
- Create logs folder: C:\app\ords\log
- Create batch script ords_install.bat in the ORDS config directory C:\app\ords\config\
- Check and amend ords_install.bat to ensure the paths, hostname, port, DB service and SYSDBA_USER match your environment.
- Open the command prompt and run the batch file: ords_install.bat
- Add bin directory to PATH: System, Advanced system settings, Environment Variables, System Variables, Path. C:\app\ords\bin\
Install Apache Tomcat
- Extract Apache Tomcat Zip to target folder under C:\app
- Run Tomcat installer. Open the Command Prompt:
cd c:\app\apache-tomcat-9.0.117\bin service.bat install - Make a note of the HTTP/1.1 Connector Port. The default is 8080
- Set admin username/password (store in Bitwarden).
- Click Finish to complete the installation.
- Set CATALINA_HOME to Tomcat path. Open the command prompt:
set CATALINA_HOME=c:\app\apache-tomcat-9.0.117
- Create directory i under c:\app\apache-tomcat-9.0.117\webapps
- Copy all files from C:\app\apex\images to C:\app\apache-tomcat-9.0.117\webapps\i
- Copy C:\app\ords\ords.war into C:\app\apache-tomcat-9.0.117\webapps
- Run tomcat9w.exe to define the ORDS configuration location. Set Java option:
-Dconfig.url=C:\app\ords\config
Click Apply. - Restart Tomcat service using Windows Services Manager service.msc, or right-click on Tomcat icon in the system tray, click stop then start.
Launch APEX Admin
Open browser: http://localhost:8080/ords/apex_admin
Login with the APEX admin credentials you created. You can now create an APEX workspace.
Troubleshooting
You will get an error when the ADMIN password expires:
ORDS was unable to make a connection to the database. The database user specified by db.username configuration setting is expired.
The connection pool named: |default|lo| had the following error(s): ORA-28001: the password has expired docs.oracle.com/error-help/db/ora-28001/
To reset the password, run the following commands from the Command Prompt:
C:\>cd C:\app\apex
C:\app\apex>sqlplus / as sysdba
SQL*Plus: Release 23.26.1.0.0 - Production on Wed Apr 15 19:49:18 2026
Version 23.26.1.0.0
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle AI Database 26ai Free Release 23.26.1.0.0 - Develop, Learn, and Run for Free
Version 23.26.1.0.0
SQL> alter session set container = FREEPDB1;
Session altered.
SQL> @apxchpwd.sql
...set_appun.sql
================================================================================
This script can be used to change the password of an Oracle APEX
instance administrator. If the user does not yet exist, a user record will be
created.
================================================================================
Enter the administrator's username [ADMIN]
After changing the password, bounce Apache Tomcat.
- Run Services.
- Find Apache tomcat.
- Right click, select Restart.


