Press "Enter" to skip to content

Install Oracle Apex 19.1 in Eleven Easy Steps

Here are the step by step instructions to install Oracle Apex 19.1 on Windows and Unix/Linux systems. You need to perform eleven easy steps to install it. The following are the version details of OS, Oracle Database and Oracle Application Express used in this demonstration:

  • OS Windows 10
  • Oracle Database 11g
  • Oracle Apex 19.1.0.00.15

Installing Oracle Apex 19.1

1. Download Oracle Apex from the following link:

Download Oracle Apex 19.1

2. After downloading, you will get a zip file named something like “apex_19.1_en.zip“. Copy the file from the default download folder and paste it to the folder in which you want to install Oracle Apex 19.1, for example, I moved this file to F:\software\apex19, and after extracting the file, I got the “apex” directory here. Now the complete path of my Oracle Apex installation is F:\software\apex19\apex. On Unix/Linux your directory path could be like /home/usr1/apex19/apex for example.

3. Open the command prompt (CMD) on Windows or Terminal on Unix/Linux and changed the directory to the F:\software\apex19\apex as follows:

On Windows:

cd F:\software\apex19\apex

On Unix/Linux:

cd /home/usr1/apex19/apex

4. Now you need to run all the Oracle Apex 19.1 installation scripts from this (F:\software\apex19\apex) location. Start the SQL*PLUS with SYS user credentials to connect to the Oracle Database as shown in the following example:

sqlplus sys/[email protected] as sysdba

Now run the first script as following, note you can change the tablespace names according to your database.

@apexins.sql SYSAUX SYSAUX TEMP /i/

5. After completing the above script, run the following script for the Oracle Apex run time environment settings. But first, you need to connect to Oracle Database again because after running the above script it will disconnect you from Oracle database.

sqlplus sys/[email protected] as sysdba
@apxrtins.sql SYSAUX SYSAUX TEMP /i/

6. Now run the change password script for the ADMIN user as following and the password must follow the complexity rules, for example, I provided the password as Apex#2019.

sqlplus sys/[email protected] as sysdba
@apxchpwd.sql

7. Now run the script to copy the Oracle Apex 19.1 images to the apex/images folder. Run the script as follows:

sqlplus sys/[email protected] as sysdba
@apex_epg_config.sql F:\software\apex19\

Note: As I copied the Oracle Apex zip file to the F:\software\apex19 folder, so I am specifying the same directory here for “apex_epg_config.sql” script. Do not include the apex folder in this path.

8. Unlock the APEX_PUBLIC_USER account and specify the password. Don’t forget to connect to Oracle using SQL*PLUS if disconnected.

ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;

ALTER USER APEX_PUBLIC_USER IDENTIFIED BY vinish;

9. Configure Apex RESTful Services as follows:

Connect to Oracle using SQL*PLUS if disconnected.

sqlplus sys/[email protected] as sysdba
@apex_rest_config.sql

10. Set the HTTP port if using HTTP server as follows:

Connect to Oracle using SQL*PLUS if disconnected.

sqlplus sys/[email protected] as sysdba
EXEC DBMS_XDB.SETHTTPPORT(8181);

11. Configure the network ACL for Oracle Apex 19.1 as follows:

For Oracle Database versions 10g/11g, run the below script:

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_190100
  -- the "connect" privilege if APEX_190100 does not have the privilege yet.
 
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
 
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_190100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_190100', TRUE, 'connect');
  END IF;
 
EXCEPTION
  -- When no ACL has been assigned to '*'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_190100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;
DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_190100
  -- the "connect" privilege if APEX_190100 does not have the privilege yet.
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
   
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_190100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_190100', TRUE, 'connect');
  END IF;
  
EXCEPTION
  -- When no ACL has been assigned to 'localhost'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml',
    'ACL that lets users to connect to localhost',
    'APEX_190100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

For Oracle Database version 12c, run the below script:

BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_190100',
principal_type => xs_acl.ptype_db));
END;
/

BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'localhost',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_190100',
principal_type => xs_acl.ptype_db));
END;
/

Now the installation of Oracle Apex 19.1 has been completed, and you test the installation by entering the following URL in the browser:

http://localhost:8181/apex/apex_admin

See also: