Oracle XE with Apex, ORDS and Tomcat

These days i installed Oracle XE 11g with Apex, ORDS and Tomcat on Windows 10. There are several deployment steps to do and it depends on your application(s) and what you want to achieve with it. Consider that Apache Tomcat needs a Java Runtime Environment (JRE), this means, if you have no JDK installed, then do that first and adjust the PATH environment variable.

Furthermore i assume you have already a SQL Query Tool like SQL-Developer, Toad or something else installed on your PC/Server.

So, let’s begin.

I brought the following software products together:

Installation Oracle XE 11g

After the download and unzipping of OracleXE112_Win64 navigate to setup.exe and start the file with administrator rights.


Accept the license agreement.


Choose a reasonable directory.


Set SYS and SYSTEM password and make a note of these.


Please have in mind, later on when Apex is up and running, the workspace internal for user admin has the same initial password. This can be checked after the installation.


It follows a review for directories and ports. As you can see in the Summary picture below, the port for Oracle HTTP Listener has been set to 8080. Because Tomcat has the same default port number and to get in no conflict later on with the Tomcat installation, i am going to disable Oracle HTTP Listener port during the post installation tasks for Oracle XE.

With a click on the Install button …


… the install wizard will start and run to the end.


Now it is ready.



Post Installation and some Checks

It is advisable to do some post-installation steps and some Checks.

These are:

What is for Oracle XE 11gR2 the delivered Apex Version? Check this in your browser with:

As i mentioned above, disable the Oracle XML-DB HTTP server by setting the HTTP port to 0. Therefore execute as SYS user:


and check that the port has been changed.

select dbms_xdb.gethttpport from dual;

Next, are all services installed, up and running?


Add to the PATH (environment variable) your Oracle XE binary directory. In my case:


Issue a tnsping in the DOS-Command box and look for the “OK (X msec/sec)”. In my example OK (0 msec).

Make a stop and start database test as adminstrator.
You can do this with two commands in a DOS box:

net stop OracleServiceXE
net start OracleServiceXE

or with these new windows icons.


It is recommended to use Oracle XE only for non productive environments, therefore you can change the lifetime for all default profiles. Execute as SYS or SYSTEM this statement:

 FROM dba_profiles
 WHERE profile = 'DEFAULT'
 AND resource_name LIKE 'PASSWORD%';

If the value for PASSWORD_LIFE_TIME in column “Limit” is another than “UNLIMITED”, then you should change this value. In my example the value is 180. This means after a half year (180 days) i have to change my password.


Issue this statment as SYS or SYSTEM and check it again:

ALTER profile DEFAULT limit password_life_time UNLIMITED;


In this way, password change is not longer required and you avoid the ORA-Error Message: “ORA-28001: the password has expired“.

Finally, check as SYS or SYSTEM “DBA_USERS” table:

SELECT username , account_status , default_tablespace , created 
  FROM dba_users 
  ORDER BY created DESC, username ASC;


For now the database installation is complete. Because Oracle XE 11.2 is delivered with Application Express 4.0.2, let us go in the next blog entry to the topic of updating Apex to the current version.

Leave a Reply