oracle_pdbs:
- cdb: CDB1
pdb_name: PDB1
state: present
apex_state: present
apex_version: 24.1
apex_patchid: 36695709
Setup APEX and ORDS
|
Important
|
The installation of APEX and ORDS with ansible-oracle is currently experimental.
|
1. Requirements
1.1. APEX
-
RDBMS 19c or newer
-
APEX 20.x or newer is mandatory for RDBMS 19c
-
Tested with APEX 23.2, 24.1 - may work with older versions as well
-
Installation is tested with PDB only.
-
CDB and nonCDB is not supported at the moment.
-
Download ZIP from Oracle with Playbook
patch_download.ymlsupported for Version 22.1 or newer -
APEX only with ORDS - no old APEX Listener
Important Notes:
-
Primary Note for Oracle APEX Upgrades (Doc ID 1088970.1)
Known Issues:
-
ADMIN password of INTERNAL Workspace is wrong after APEX upgrade Silent script to reset ADMIN password depends on APEX Release.
There was no reliable solution found for the moment…
1.2. ORDS
-
OracleLinux 8 or 9 only
-
Installation with ords.rpm from the Oracle Linux oracle/software repository on
yum.oracle.com -
Limited database configuration - see documentation
2. APEX Configuration
|
Important
|
Install APEX before ORDS - otherwise, the ORDS will not detect and configure APEX. ORDS is only tested with existing APEX installation. |
2.1. Mandatory variables
The following global variables are needed for an APEX installation.
| Value | Description |
|---|---|
|
The parameter is mandatory, because it is the only way to configure a password for the admin user at the moment. |
| Value | Description |
|---|---|
|
Default: |
|
Default: |
|
Default: |
|
Default: |
|
Default: |
2.2. APEX in PDB
APEX can be installed in each PDB.
| Value | Description |
|---|---|
|
Must be |
|
State for APEX installation. |
|
Version of APEX. |
| Value | Description |
|---|---|
|
Custom APEX Tablespace. |
|
Custom APEX Tablespace for files. |
|
Custom APEX temporary Tablespace. |
|
Custom image path for |
|
Default: |
|
Patchid for PSE BUNDLE FOR APEX |
|
Important
|
The example shows the minimum attributes for an APEX installation. That’s not the minimum needed to create a PDB. |
oracle_pdbs|
Important
|
oraapex does not use the default passwords from ansible-oracle.You have to define them in dbpasswords.
|
oraapex needs the passwords for APEX_PUBLIC_USER and APEX_REST_PUBLIC_USER.
The keys could be written in lower or upper case.
ords_public_user is not used by oraapex, but could be referenced in oraords_db_pools_password (see ORDS Configuration).
The password of APEX_LISTENER is generated with the password lookup into /tmp/passwordfile on the Ansible controller.
dbpasswords for APEX in a PDBdbpasswords:
CDB1:
PDB1:
apex_public_user: ords123
apex_rest_public_user: ords123
ords_public_user: ords123
|
Important
|
Do not forget to download the APEX Patch when apex_patchid is set in oracle_pdbs.The patch is not applied with OPatch. oraapex copies the patch into the APEX software directory and executes catpatch.sql in the PDB.
|
oraapex expects the archive p<apex_patchid>_<apex_version without dots>0_Generic.zip in oracle_sw_source_local, e.g. p36695709_2410_Generic.zip for APEX 24.1.
oracle_sw_patchesoracle_sw_patches:
- filename: p36695709_2410_Generic.zip
patchid: 36695709
version: 24.1
description: PSE BUNDLE FOR APEX 24.1
2.3. Playbook execution
The installation of APEX is part of playbooks/manage_db.yml.
This allows the creation of custom Tablespaces, Profiles etc. for APEX, without the need to use a dedicated Playbook.
3. ORDS Configuration
|
Important
|
The configuration of ORDS is limited to the following variables at the moment. |
| Value | Description |
|---|---|
db_pool |
Database Pool. |
service |
Database Service Name |
| Value | Description |
|---|---|
host |
Database Hostname |
port |
Listener Port |
admin_user |
Admin user for the ORDS installation |
feature_db_api |
true / false (Default) |
feature_rest_enabled_sql |
true / false (Default) |
feature_sdw |
true / false (Default) |
| Value | Description |
|---|---|
|
Directory with the APEX images on the ORDS host ( |
|
Context path for the APEX images ( |
|
Default: |
|
Default: |
|
Default: |
|
Default: |
oraords_db_pools:
- db_pool: default
admin_user: sys
service: pdb1
port: 1521
host: "{{ inventory_hostname }}"
feature_db_api: true
feature_rest_enabled_sql: true
feature_sdw: true
The passwords for Admin- and ORDS-User are defined in oraords_db_pools_password.
They are set in a dedicated variable to prevent no_log=true in loops over oraords_db_pools.
Referencing dbpasswords helps to reduce redundancy for passwords.
oraords_db_pools_password:
default:
admin_password: "{{ dbpasswords['CDB1']['sys'] }}"
ords_password: "{{ dbpasswords['CDB1']['PDB1']['ords_public_user'] }}"
3.1. Playbook execution
The Playbook playbooks/manage_ords.yml is used to install ORDS.
|
Note
|
ords install is executed for each pool and the ORDS service is reloaded on every execution of the Playbook.
|