DBA Hub

📋Steps in this guide1/6

Oracle Application Express (APEX) Installation

A brief overview of the installation process for Application Express (APEX) for releases from 5.x onward.

oracle miscconfigurationintermediate
by OracleDba
13 views
1

Setup

Download the APEX software. - https://www.oracle.com/tools/downloads/apex-downloads.html 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.

Code/Command (click line numbers to comment):

1
2
3
4
5
-- 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;
2

Installation

Change directory to the directory holding the unzipped APEX software. Connect to SQL*Plus as the SYS user and run the "apexins.sql" script, specifying the relevant tablespace names and image URL. 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. If you want to add the user silently, you could run the following code, specifying the required password and email. Create the and users by running the "apex_rest_config.sql" script. If you want to add these users silently, you can specify the passwords as parameters to the script. Now you need to decide which gateway to use to access APEX. The Oracle recommendation is ORDS.

Code/Command (click line numbers to comment):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ cd /home/oracle/apex

SQL> CONN sys@pdb1 AS SYSDBA
SQL> -- @apexins.sql tablespace_apex tablespace_files tablespace_temp images
SQL> 
SQL> @apexins.sql APEX APEX TEMP /i/

SQL> CONN sys@pdb1 AS SYSDBA
SQL> @apxchpwd.sql

BEGIN
    APEX_UTIL.set_security_group_id( 10 );
    
    APEX_UTIL.create_user(
        p_user_name       => 'ADMIN',
        p_email_address   => '[email protected]',
        p_web_password    => 'PutPasswordHere',
        p_developer_privs => 'ADMIN' );
        
    APEX_UTIL.set_security_group_id( null );
    COMMIT;
END;
/

SQL> CONN sys@pdb1 AS SYSDBA
SQL> @apex_rest_config.sql

SQL> CONN sys@pdb1 AS SYSDBA
SQL> @apex_rest_config.sql ApexPassword1 ApexPassword2
3

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
4

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. Unlock the account. Check the port setting for XML DB Protocol Server. If it is set to "0", you will need to set it to a non-zero value to enable it. APEX should now be available from a URL like "http://machine:port/apex".

Code/Command (click line numbers to comment):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SQL> CONN sys@pdb1 AS SYSDBA
SQL> @apex_epg_config.sql /home/oracle

SQL> CONN sys@cdb1 AS SYSDBA

DECLARE
  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;
/

SQL> CONN sys@pdb1 AS SYSDBA
SQL> SELECT DBMS_XDB.gethttpport FROM DUAL;

GETHTTPPORT
-----------
          0

1 row selected.

SQL>

SQL> CONN sys@pdb1 AS SYSDBA
SQL> EXEC DBMS_XDB.sethttpport(8080);

PL/SQL procedure successfully completed.

SQL>
5

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 account. This will be used for any Database Access Descriptors (DADs). 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. - 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. Copy the APEX images to your Oracle HTTP Server. 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. APEX should now be available from a URL like "http://machine:port/apex".

Code/Command (click line numbers to comment):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY myPassword ACCOUNT UNLOCK;

<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>

$ $FR_INST/bin/opmnctl restartproc process-type=OHS

$ cp -R /tmp/apex/images $FR_INST/config/OHS/ohs1/htdocs/apex_images

Alias /i/ "/u01/app/oracle/middleware/FR_inst/config/OHS/ohs1/htdocs/apex_images/"
6

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: Hope this helps. Regards Tim...

Comments (0)

Please to add comments

No comments yet. Be the first to comment!