How to install Oracle Apex on Windows EC2

Salin Rosna
February 25, 2021

I recently created an Apex application for a fun project, which gave me the chance to install Apex on windows EC2. Here are the steps I followed to install Apex, having decided to use ORDS (Web Listener) to run Apex.

The version of Oracle Application Express I used is release 20.1 which requires an Oracle Database release or later.

Refer this link for more information about the requirements.

Note: This blog only includes the Oracle Application Express and the ORDS Web listener installation steps and does not include the database installation steps.

Downloading and Installing Application Express

You can download the Apex from the following link. Use for English only and for all languages. Note the version number would change when a later version is released.

Unzip the downloaded zip folder

Open command prompt and change the working directory to apex folder where you unzipped the downloaded file. Example: cd C:/apex

Start SQL Plus by typing sqlplus /nolog in your command prompt and connect to the database.

SYSTEM_DRIVE: sqlplus /nolog


Enter password: SYS_password

Select the appropriate installation option. Full development environment provides complete access to the App Builder environment to develop applications. A Runtime environment enables users to run applications that cannot be modified.

I installed Full development environment running the @apexins.sql passing the following arguments.

@apexins.sql tablespace_apex tablespace_files tablespace_temp images


tablespace_apex is the name of the tablespace for the Oracle Application Express application user.
tablespace_files is the name of the tablespace for the Oracle Application Express files user.
tablespace_temp is the name of the temporary tablespace or tablespace group.
images is the virtual directory for Oracle Application Express images.

For example:

@apexins.sql SYSAUX SYSAUX TEMP /i/

When Application Express installs, it creates the following database accounts:

  • APEX_200100 – This account owns the Application Express schema and metadata.
  • FLOWS_FILES – This account owns the Application Express uploaded files.
  • APEX_PUBLIC_USER – This minimally privileged account is used for Application Express configuration with Oracle REST Data Services or Oracle HTTP Server and mod_plsql.
  • APEX_INSTANCE_ADMIN_USER – A minimally privileged account used for the REST Administration Interface.

The second step is to create the Instance administrator account.

Instance administrators are superusers that are responsible for managing an entire Oracle Application Express instance, including managing workspace provisioning, configuring features and instance settings, and managing security. Run the below command to set up the instance administrator account. You may need to provide a username, email address and a password to setup this account.


Step three is setting up APEX_PUBLIC_USER. It is important to correctly configure the APEX_PUBLIC_USER account to enable proper operation of Oracle Application Express. The APEX_PUBLIC_USER account is created with a random password in a new installation of Oracle Application Express. Unlock and change password of the APEX_PUBLIC_USER account by running a SQL statement.



These passwords will be used in the next steps of our installation. So it is important we remember these passwords.

Step four we need to configure RESTfull Services. Provide the password for the users : APEX_LISTENER and APEX_REST_PUBLIC_USER.


Once this is finished Apex installation is done. Just check schema created by the apex installation by running the following queries.

select * from all_users where username like ‘%APEX%’;
select * from all_users where username like ‘%FLOWS%’;

ORDS Installation:

Oracle REST Data Services is a Java EE-based alternative for Oracle HTTP Server and mod_plsql. ORDS support deployment using the following methods

  • Oracle WebLogic Server
  • Apache Tomcat
  • Standalone mode

I used Tomcat to install ORDS.

Download Apache Tomcat:

It is pretty much straight forward installation if you are using the Windows Service Installer. After installation is complete make sure it is running in the services. Open browser and go to http://localhost:8080/. If you can see Apache Tomcat page your installation was successful.

Lets install ORDS now.

To install ORDS download the latest release of Oracle REST Data services. Unzip the downloaded zip file into a directory (or folder) of your choice.

Next step is to set up your params file. Go to and provide the following parameters.

KeyTypeDescriptionExampledb.hostnamestringSpecifies the host system for the Oracle database.myhostnamedb.portnumericSpecifies the database listener port.1521db.servicenamestringSpecifies the network service name of the whether to install the Oracle REST Data Services schema. Set the value to true. Supported values: true, false, (default)trueuser.public.passwordstringSpecifies the password for ORDS_PUBLIC_USER.passwordschema.tablespace.defaultstringSpecifies the ORDS_METADATA default tablespace. Specify an existing default tablespace.SYSAUXschema.tablespace.tempstringSpecifies the ORDS_METADATA temporary tablespace. Specify an existing temporary tablespace.TEMPuser.tablespace.defaultstringSpecifies the ORDS_PUBLIC_USER default tablespace. Specify an existing default tablespace.SYSAUXuser.tablespace.tempstringSpecifies the ORDS_PUBLIC_USER temporary tablespace. Specify an existing temporary tablespace.TEMPfeature.sdwstringSpecifies if SQL Developer Web is enabled. Note: For enabling SQL Developer Web, the value of must be true. Default value is false.truerestEnabledSql.activestringSpecifies if REST-Enabled SQL is enabled. Default value is false.trueplsql.gateway.addbooleanSpecifies whether to configure Oracle REST Data Services for Application Express. Supported values: true, false, (default)truedb.usernamestringSpecifies the PL/SQL gateway username. For Application Express, you must specify APEX_PUBLIC_USER.APEX_PUBLIC_USERdb.passwordstringSpecifies the password for APEX_PUBLIC_USER. The password must match APEX_PUBLIC_USER database whether to configure Oracle REST Data Services for Application Express RESTful Services. Supported values: true, false, (default).trueuser.apex.listener.passwordstringSpecifies the password for APEX_LISTENER. If is set to true, you must provide a password for APEX_LISTENER(set up in previous steps).passworduser.apex.restpublic.passwordstringSpecifies the password for APEX_REST_PUBLIC_USER. If is set to true, you must provide a password for APEX_REST_PUBLIC_USER(set up in previous steps).passwordmigrate.apex.restbooleanSpecifies whether to migrate APEX RESTful Services definitions to Oracle REST Data Services schema. Supported values: true,
false, (default)true

Below is the sample of my params file.


Make sure you enter your params correctly.

Change the directory to where ords.war is present and run the below command.

java -jar ords.war configdir C:ordsconf

Once this is complete install ORDS using the below command.

java -jar ords.war

To validate run: java -jar ords.war validate

Copy images from apex download folder (~Downloadsapex_20.1_enapeximages) to tomcat (C:Program FilesApache Software FoundationTomcat 9.0webappsi)

Copy ords.war file from ords download folder (~ords- to tomcat webapps (~webapps).

ORDS installation is done. Go to http://localhost:8080/ords and you can see the below page.



Salin is our Junior Dev who spends a bunch of time using Oracle Apex, when she’s not doing that she can be found busily working on our customers data.

Connect with Salin on LinkedIn or read some of her other blogs here.

Copyright © 2019 OptimalBI LTD.