8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | 23ai | Misc | PL/SQL | SQL | RAC | WebLogic | Linux
Home » Articles » Misc » Here
The installation section should be followed for new installations and upgrades. Since the release of APEX 18.x, each release requires a full installation, so there is no concept of patching anymore. This simplifies the approach greatly.
In previous versions an upgrade was required when a release affected the first two numbers of the version (4.2 to 5.0 or 5.1 to 18.1), but if the first two numbers of the version were not affected (5.1.3 to 5.1.4) you had to download and apply a patch, rather than do the full installation. This is no longer the case.
If you are using the multitenant architecture in Oracle 12cR1, you should read this article before you continue.
- Setup
- Installation
- Embedded PL/SQL Gateway (EPG) Configuration
- Oracle REST Data Services (ORDS) Configuration
- Oracle HTTP Server (OHS) Configuration
- Network ACLs
Related articles.
- Oracle Application Express (APEX) Patches
- Multitenant : Uninstall APEX from the CDB in Oracle Database 12c Release 1 (12.1)
- Oracle REST Data Services (ORDS) : Installation on Tomcat
- APEX Articles
Setup
Download the APEX software.
Unzip the software either on your client PC if you intend to install it from there using the SQL*Plus client on your PC, or on the database server if you intend to install it from there. The latter will be more efficient as you will reduce the network traffic between the SQL*Plus client and the database server.
Create a new tablespace to act as the default tablespace for APEX.
-- For Oracle Managed Files (OMF).CREATE TABLESPACE apex DATAFILE SIZE 100M AUTOEXTEND ON NEXT 1M;-- For non-OMF.CREATE TABLESPACE apex DATAFILE '/path/to/datafiles/apex01.dbf' SIZE 100M AUTOEXTEND ON NEXT 1M;
Installation
Change directory to the directory holding the unzipped APEX software.
$ cd /home/oracle/apex
Connect to SQL*Plus as the SYS user and run the "apexins.sql" script, specifying the relevant tablespace names and image URL.
SQL> CONN sys@pdb1 AS SYSDBASQL> -- @apexins.sql tablespace_apex tablespace_files tablespace_temp imagesSQL> SQL> @apexins.sql APEX APEX TEMP /i/
If you are upgrading, you've finished the DB upgrade at this point. You only need to run subsequent steps for new installations. You will need to redeploy the image files to your app server. If you are using ORDS, it's a good idea to run an ORDS validate to make sure the APEX hasn't affected your ORDS installation.
Once complete, change the admin password by running the "apxchpwd.sql" scripts as the SYS user.
SQL> CONN sys@pdb1 AS SYSDBASQL> @apxchpwd.sql
If you want to add the user silently, you could run the following code, specifying the required password and email.
BEGIN APEX_UTIL.set_security_group_id( 10 ); APEX_UTIL.create_user( p_user_name => 'ADMIN', p_email_address => 'me@example.com', p_web_password => 'PutPasswordHere', p_developer_privs => 'ADMIN' ); APEX_UTIL.set_security_group_id( null ); COMMIT;END;/
Create the APEX_LISTENER
and APEX_REST_PUBLIC_USER
users by running the "apex_rest_config.sql" script.
SQL> CONN sys@pdb1 AS SYSDBASQL> @apex_rest_config.sql
If you want to add these users silently, you can specify the passwords as parameters to the script.
SQL> CONN sys@pdb1 AS SYSDBASQL> @apex_rest_config.sql ApexPassword1 ApexPassword2
Now you need to decide which gateway to use to access APEX. The Oracle recommendation is ORDS.
Oracle REST Data Services (ORDS) Configuration
If you want to use Oracle REST Data Services (ORDS) to front APEX, you can follow the instructions here.
- Oracle REST Data Services (ORDS) : Installation on Tomcat
Embedded PL/SQL Gateway (EPG) Configuration
If you want to use the Embedded PL/SQL Gateway (EPG) to front APEX, you can follow the instructions here. This is used for both the first installation and upgrades.
Run the "apex_epg_config.sql" script, passing in the base directory of the installation software as a parameter.
SQL> CONN sys@pdb1 AS SYSDBASQL> @apex_epg_config.sql /home/oracle
Unlock the ANONYMOUS
account.
SQL> CONN sys@cdb1 AS SYSDBADECLARE l_passwd VARCHAR2(40);BEGIN l_passwd := DBMS_RANDOM.string('a',10) || DBMS_RANDOM.string('x',10) || '1#'; -- Remove CONTAINER=ALL for non-CDB environments. EXECUTE IMMEDIATE 'ALTER USER anonymous IDENTIFIED BY ' || l_passwd || ' ACCOUNT UNLOCK CONTAINER=ALL';END;/
Check the port setting for XML DB Protocol Server.
SQL> CONN sys@pdb1 AS SYSDBASQL> SELECT DBMS_XDB.gethttpport FROM DUAL;GETHTTPPORT----------- 01 row selected.SQL>
If it is set to "0", you will need to set it to a non-zero value to enable it.
SQL> CONN sys@pdb1 AS SYSDBASQL> EXEC DBMS_XDB.sethttpport(8080);PL/SQL procedure successfully completed.SQL>
APEX should now be available from a URL like "http://machine:port/apex".
Oracle HTTP Server (OHS) Configuration
If you want to use Oracle HTTP Server (OHS) to front APEX, you can follow the instructions here.
Change the password and unlock the APEX_PUBLIC_USER
account. This will be used for any Database Access Descriptors (DADs).
SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY myPassword ACCOUNT UNLOCK;
If you don't want the password to expire you will need to create a new profile with password expiration disabled and assign it to the user.
Create a DAD in the OHS:
- Log into EM (http://server:port/em)
- From the tree select "Farm_DomainName > Web Tier > ohs1"
- On the resulting page select "Oracle HTTP Server > Administration > Advanced Configuration"
- From the dropdown list slect "dads.conf" and click the "Go" button.
- Edit the "dads.conf" file, adding an entry like that shown below, then click the "Apply" button.
<Location /apex> Order deny,allow PlsqlDocumentPath docs AllowOverride None PlsqlDocumentProcedure wwv_flow_file_mgr.process_download PlsqlDatabaseConnectString pdb1 TNSFormat PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8 PlsqlAuthenticationMode Basic SetHandler pls_handler PlsqlDocumentTablename wwv_flow_file_objects$ PlsqlDatabaseUsername APEX_PUBLIC_USER PlsqlDefaultPage apex PlsqlDatabasePassword myPassword PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize PlsqlPathAlias r PlsqlPathAliasProcedure wwv_flow.resolve_friendly_url Allow from all</Location>
- Select the "Oracle HTTP Server > Control > Restart" option.
- Click the resulting "Restart" button.
- Once restarted, click the "Close" button.
Alternatively, edit the "dads.conf" file directly. For the OHS that comes with Forms and Reports Services, this is located here "$FR_INST/config/OHS/ohs1/mod_plsql/dads.conf". Once amended, remember to restart the HTTP server.
$ $FR_INST/bin/opmnctl restartproc process-type=OHS
Copy the APEX images to your Oracle HTTP Server.
$ cp -R /tmp/apex/images $FR_INST/config/OHS/ohs1/htdocs/apex_images
Make them available from the "/i/" alias by adding the following alias to the virtual host defined in the "ssl.conf" or "httpd.conf" file in the "$FR_INST/config/OHS/ohs1" directory.
Alias /i/ "/u01/app/oracle/middleware/FR_inst/config/OHS/ohs1/htdocs/apex_images/"
APEX should now be available from a URL like "http://machine:port/apex".
Network ACLs
If your APEX installation needs to contact other servers on the network, you will need to create the appropriate ACLs to allow account to the network services. This is discussed here.
For more information see:
- Application Express Documentation Release 5.1
- Application Express Documentation Release 5.0
- Oracle Application Express Installation Guide Release 5.0
- Oracle Application Express (APEX) Patches
- Fine-Grained Access to Network Services in Oracle Database 11g Release 1
- Multitenant : Uninstall APEX from the CDB in Oracle Database 12c Release 1 (12.1)
- Oracle REST Data Services (ORDS) : Installation on Tomcat
- APEX Articles
Hope this helps. Regards Tim...
Back to the Top.