Oracle Application Express Installation Guide
Oracle Application Express Installation Guide
Oracle Application Express Installation Guide
Installation Guide
Release 21.1
F38048-02
June 2021
Oracle Application Express Installation Guide, Release 21.1
F38048-02
Contributors: Christina Cho, David Bliss, Salim Hlayel, Joel Kallman, Christian Neumueller, Marc Sewtz,
Jason Straub, Vlad Uvarov, Patrick Wolf
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software,
any programs embedded, installed or activated on delivered hardware, and modifications of such programs)
and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end
users are "commercial computer software" or "commercial computer software documentation" pursuant to the
applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use,
reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or
adaptation of i) Oracle programs (including any operating system, integrated software, any programs
embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle
computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the
license contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloud
services are defined by the applicable contract for such services. No other rights are granted to the U.S.
Government.
This software or hardware is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including applications that
may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you
shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this
software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of
their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc,
and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products,
and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise
set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,
products, or services, except as set forth in an applicable agreement between you and Oracle.
Contents
Preface
Audience viii
Documentation Accessibility viii
Related Documents viii
Conventions ix
Third-Party License Information ix
iii
3.4 About the Oracle Application Express Runtime Environment 3-9
iv
5.5.2 Scenario 2: Plug-in PDB with Common Application Express from Another CDB 5-19
5.5.3 Scenario 3: Plug-in PDB with a Local Application Express from Another CDB 5-19
5.5.4 Scenario 4: Plug-in a Non-CDB or PDB with No Application Express 5-19
v
6.7.2.2 Viewing JOB_QUEUE_PROCESSES in Oracle Application Express 6-21
6.7.2.3 Viewing JOB_QUEUE_PROCESSES from SQL*Plus 6-21
6.7.3 Changing the Number of JOB_QUEUE_PROCESSES 6-21
6.8 About Running Oracle Application Express in Other Languages 6-22
6.9 Installing Translated Versions of Oracle Application Express 6-23
6.9.1 About Installing Translated Versions of Oracle Application Express 6-23
6.9.2 Installing a Translated Version of Oracle Application Express 6-23
6.10 Creating a Workspace and Adding Oracle Application Express Users 6-24
6.10.1 About Workspaces and Users 6-25
6.10.2 Signing In To Administration Services 6-25
6.10.3 Creating a Workspace Manually 6-26
6.10.4 Creating Oracle Application Express Users 6-27
6.10.5 Signing In to Your Workspace 6-29
6.11 Performing Post Installation Tasks for Upgrade Installations 6-30
6.11.1 About Removing Prior Oracle Application Express Installations 6-31
6.11.2 Verifying if a Prior Installation Exists 6-31
6.11.3 Removing Schemas and SYS Objects from Prior Installations 6-32
6.11.4 Removing Schemas from Prior Installations in a CDB 6-32
6.11.5 Fixing Invalid ACL in Oracle Database 11g or Later 6-32
6.12 About Performance Optimization Tasks 6-33
6.13 Converting Between Runtime and Full Development Environments 6-33
6.13.1 About Runtime and Full Development Environments 6-34
6.13.2 Converting a Runtime Environment to a Full Development Environment 6-34
6.13.3 Converting a Full Development Environment to a Runtime Environment 6-35
vi
C.4.1.3 Reverting to a Previous Release C-4
C.4.1.4 Removing the Oracle Application Express Release Schema C-41
C.4.2 Removing Oracle Application Express from the Database C-43
C.5 About Images Displaying Incorrectly in Oracle Application Express C-43
C.6 About Page Protection Violation C-44
Index
vii
Preface
Preface
This guide explains how to install and configure Oracle Application Express.
• Audience
• Documentation Accessibility
• Related Documents
• Conventions
• Third-Party License Information
Audience
Oracle Application Express Installation Guide is intended for anyone responsible for
installing Oracle Application Express.
To use this manual, you must have administrative privileges on the computer where
you installed your Oracle database and familiarity with object-relational database
management concepts.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at http://www.oracle.com/pls/topic/lookup?
ctx=acc&id=docacc.
Related Documents
For more information, see these Oracle resources:
• Oracle Application Express Release Notes
• Oracle Application Express App Builder User’s Guide
• Oracle Application Express End User’s Guide
• Oracle Application Express Administration Guide
• Oracle Application Express SQL Workshop Guide
viii
Preface
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated with an
action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for which
you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code in
examples, text that appears on the screen, or text that you enter.
ix
1
Changes in Release 21.1 for Oracle
Application Express Installation Guide
All content in Oracle Application Express Installation Guide has been updated to reflect
release 21.1 functionality.
1-1
2
Oracle Application Express Installation
Requirements
Before installing Oracle Application Express in a on-premises (or local) installation you must
verify your configuration meets the minimum installation requirements.
2-1
Chapter 2
Checking the MEMORY_TARGET of the Target Database
This command displays the name and location of the server parameter file or the
initialization parameter file.
3. Determine the current values of the MEMORY_TARGET parameter:
SQL> SHOW PARAMETER MEMORY_TARGET
4. If the value is 0, your database is using manual memory management. Consult the
Oracle Database Administrator’s Guide to learn how to configure an equivalent
memory size using manual memory management, instead of continuing with the
steps that follow.
If the system is using a server parameter file, set the value of the MEMORY_TARGET
initialization parameter to at least 300 MB:
SQL> ALTER SYSTEM SET MEMORY_TARGET='300M' SCOPE=spfile;
5. If the system uses an initialization parameter file, change the value of the
MEMORY_TARGET parameter to at least 300 MB in the initialization parameter file
(initsid.ora).
6. Shut down the database:
SQL> SHUTDOWN
7. Restart the database:
SQL> STARTUP
See Also:
Oracle Database Administrator’s Guide
2-2
Chapter 2
Browser Requirements
Tip:
The installer does a prerequisite check for Oracle XML DB and will exit if it is not
installed.
Tip:
The installation of Oracle XML DB creates the user ANONYMOUS. In order for
Oracle Application Express workspace provisioning to work properly, the
ANONYMOUS user must not be dropped from the database.
2-3
Chapter 2
Oracle XML DB Requirement
Tip:
For more information about manually adding Oracle XML DB to an existing
database, see "Administration of Oracle XML DB"in Oracle XML DB
Developer’s Guide
2-4
3
Oracle Application Express Installation
Overview
Oracle Application Express Installation Guide describes how to install Oracle Application
Express in a on-premises (or local) installation.
How you sign in and access Oracle Application Express depends upon your user role and
where Oracle Application Express resides. Oracle Application Express may reside in a local
on-premises Oracle Database or in an Oracle Cloud Service.
See Also:
Upgrading from a Previous Oracle Application Express Release
3-1
Chapter 3
About Oracle Application Express Architecture
Database
Web Listener
Web Browser
Meta Data
The web listener, Oracle REST Data Services, functions as a communications broker
between the Web browser and the Oracle Application Express objects in the Oracle
database by mapping browser requests into database stored procedure calls.
Once fully installed, a Uniform Resource Locator (URL) is defined for both developers
and end users to access Oracle Application Express. Users require only a Web
browser and the required URL. No additional client software is required.
Note:
There are licensing costs associated with Oracle WebLogic Server.
3-2
Chapter 3
About Accessing Oracle Application Express in Oracle Cloud
See Also:
See Also:
• Get an Environment
• Welcome to Oracle APEX Application Development Service in Getting Started
with Oracle APEX Application Development
• Creating Applications with Oracle Application Express on Autonomous
Database in Using Oracle Autonomous Database on Shared Exadata
Infrastructure
• "Oracle Application Express (APEX) on Oracle Cloud Infrastructure Database"
white paper on the Oracle Cloud Infrastructure Technical White Papers page
3-3
Chapter 3
Understanding the Installation Process
See Also:
"Upgrading from a Previous Oracle Application Express Release"
See Also:
"Upgrading from a Previous Oracle Application Express Release"
3-4
Chapter 3
Understanding the Installation Process
See Also:
"Upgrading from a Previous Oracle Application Express Release"
3-5
Chapter 3
Understanding the Installation Process
See Also:
"About Specifying How Workspaces Are Created" and "Selecting a
Workspace Provisioning Mode" in Oracle Application Express Administration
Guide
3-6
Chapter 3
Understanding the Installation Process
See Also:
Note:
This information does not apply to Oracle Cloud products such as Oracle Database
Cloud Service (Database Schema).
Your administrator determines how you request a new workspace. If your administrator has
set Provisioning Method to either Request or Automatic and has configured email, you can
request a workspace on the Sign In dialog.
1. To request a workspace from the Sign In dialog:
1. Navigate to the Oracle Application Express Sign in dialog.
2. Under Sign In, click Request a Workspace.
The Request a Workspace Wizard appears.
3. For Identification:
a. First Name - Enter your first name.
b. Last Name - Enter your last name.
c. Email - Enter the email address. A link to activate your workspace will be sent to this
email address.
d. Workspace - Enter a workspace name that name uniquely identifies your
development environment.
e. Click Next.
4. If defined, review and accept the service agreement and click Next.
5. Verify your request and click Submit Request.
Once you complete the Identification form, the following events occur:
a. You will receive an email containing a verification link.
b. When you click the verification link, the workspace is created.
c. You will receive another email containing Sign In credentials (that is, the workspace
name, username, and password).
Once you complete the Identification form, the following events occur:
3-7
Chapter 3
Understanding the Installation Process
See Also:
"About Specifying How Workspaces Are Created" in Oracle Application
Express Administration Guide
Tip:
To reset your password from the Sign In page, you must provide your email
address and the workspace name.
Tip:
Passwords are case sensitive.
3-8
Chapter 3
About the Oracle Application Express Runtime Environment
Tip:
You can also reset your password within Oracle Application Express. See
"Changing Your Profile or Password" in Oracle Application Express App Builder
User’s Guide
See Also:
"About the Advantages of the Application Express Runtime Environment" in Oracle
Application Express App Builder User’s Guide
Scripts are provided to remove or add the developer interface from an existing instance. To
learn more, see one of the following for the corresponding type of installation:
3-9
Chapter 3
About the Oracle Application Express Runtime Environment
See also:
"Converting Between Runtime and Full Development Environments"
3-10
4
Upgrading from a Previous Oracle Application
Express Release
Upgrading Oracle Application Express creates new database objects in a new schema and
migrates the application metadata to the new release.
If you have Oracle Application Express release 20.x or earlier, following any of the installation
scenarios in this guide upgrades your Oracle Application Express instance to release 21,
creates Oracle Application Express 21.1 database objects in a new schema, and migrates
the application metadata to the new release.
4-1
Chapter 4
About Release Numbering Conventions
See Also:
4-2
Chapter 4
Viewing the Oracle REST Data Services Release Number
On the Workspace home page, the current release number displays in the bottom
right corner.
• About Application Express page:
– Sign in to Oracle Application Express.
– Click the Help menu in the upper right and select About.
On the About Application Express pag, the release number appears next to Product
Build.
Note:
Starting with Oracle Database 12c Release 2 (12.2), Oracle Application Express is
included in the Oracle Home on disk and is no longer installed by default in the
database.
Oracle Application Express is included with the following Oracle Database releases:
• Oracle Database 19c - Oracle Application Express Release 18.1.
• Oracle Database 18c - Oracle Application Express Release 5.1.
• Oracle Database 12c Release 2 (12.2)- Oracle Application Express Release 5.0.
• Oracle Database 12c Release 1 (12.1) - Oracle Application Express Release 4.2.
• Oracle Database 11g Release 2 (11.2) - Oracle Application Express Release 3.2.
• Oracle Database 11g Release 1 (11.1) - Oracle Application Express Release 3.0.
The Oracle Database releases less frequently than Oracle Application Express. Therefore,
Oracle recommends updating to the latest Oracle Application Express release available on
Oracle Technology Network. To learn more, see the installation instructions for the
appropriate Web Listener in your environment.
4-3
Chapter 4
About Upgrading Existing Applications
Note:
If upgrading Oracle Application Express from a release that ships with the
database, do not alter any Oracle Application Express files in the Oracle
home directory (for example, /u01/app/oracle/product/18.0.0/dbhome_1/
apex) .
See Also:
Upgrading Application Express Applications in Oracle Application Express
App Builder User’s Guide
4-4
Chapter 4
About Cleaning Up Your Environment
See Also:
Reverting to a Previous Release After a Failed Upgrade Installation
4-5
5
Utilizing the Multitenant Architecture in Oracle
Database 12c or Later
Learn about installation choices and different scenarios associated with copying and moving
pluggable databases introduced by the Oracle Database 12c or later multitenant architecture
with respect to Oracle Application Express (Application Express).
• Understanding the Installation Choices
Learn about the installation choices in Oracle Application Express.
• Installing Application Express into an Application Container
Learn about the application container that stores data and metadata for application back
ends.
• Installing Application Express into Different PDBs
You can install different versions of Oracle Application Express into different PDBs.
• Plugging in a PDB When Application Express is Installed in the Root Container
Learn about scenarios in which the target database has Application Express installed into
the root container, CDB$ROOT - the default installation option.
• Plugging in a PDB When Application Express Is Not in the Root Container of the Target
CDB
The scenarios in this section describe when Application Express is not installed in the
root container, CDB$ROOT, by explicitly removing it as described in "Uninstalling Application
Express from a CDB".
5-1
Chapter 5
Installing Application Express into an Application Container
copies of the Application Express engine tables and only single copies of the
Application Express engine packages, functions, procedures and views. Each PDB will
have the APEX_210100 schema and have its own copy of the Application Express
engine's tables so that it can hold the metadata for the Application Express
applications defined within that PDB.
Tip:
Oracle recommends removing Oracle Application Express from the root
container database for the majority of use cases, except for hosting
companies or installations where all pluggable databases (PDBs) utilize
Oracle Application Express and they all need to run the exact same release
and patch set of Oracle Application Express.
See Also:
"Installing Application Express into Different PDBs"
5-2
Chapter 5
Installing Application Express into an Application Container
Note:
apex_approot1 and the admin user in the previous example can be any valid
ORACLE identifier.
5-3
Chapter 5
Installing Application Express into an Application Container
The script takes the exact same first four arguments as the apexins.sql script,
with the addition of a fifth parameter which is the password to use for the
APEX_PUBLIC_USER password. In an upgrade installation, the fifth argument is
ignored because the APEX_PUBLIC_USER database user will already exist.
For example:
begin
sys.dbms_utility.compile_schema( 'APEX_210100', false );
sys.dbms_utility.compile_schema( 'FLOWS_FILES', false );
end;
/
APP_NAME APP_VERSION
APP_STATUS
------------------------------ ------------------------------
------------
no rows selected
5-4
Chapter 5
Installing Application Express into an Application Container
begin
sys.dbms_utility.compile_schema( 'APEX_210100', false );
sys.dbms_utility.compile_schema( 'FLOWS_FILES', false );
end;
/
Note:
apex_approot1 and the admin user in the previous example can be any valid
ORACLE identifier.
5-5
Chapter 5
Installing Application Express into an Application Container
APP_NAME APP_VERSION
APP_STATUS
------------------------------ ------------------------------
------------
Note:
apex_approot1 and the admin user in the previous example can be any
valid ORACLE identifier.
5-6
Chapter 5
Installing Application Express into Different PDBs
Note:
Installing or removing Application Express from a CDB requires a local connection
to the database.
This section describes removing Application Express from a CDB. If you wish to
remove Oracle Application Express from the CDB that shipped with Oracle
Database 12.1, you should use apxremov_con.sqlfrom either $ORACLE_HOME/apex ,
or from a 4.2.6 APEX distribution.
1. Change to the apex directory in the location where you unzipped the distribution.
2. Start SQL*Plus and connect to the database where Application Express is installed as
SYS specifying the SYSDBA role. For example:
• On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
5-7
Chapter 5
Installing Application Express into Different PDBs
Note:
If you run apexremov.sql after PDBs have been added to the CDB, then
Application Express uninstalls from all of the PDBs, as well as CDB$ROOT
and PDB$SEED. Therefore, any applications defined in any of the PDBs
will be removed.
Where:
– tablespace_apex is the name of the tablespace for the Application
Express application user.
– tablespace_files is the name of the tablespace for the Application
Express files user.
5-8
Chapter 5
Installing Application Express into Different PDBs
Where:
– tablespace_apex is the name of the tablespace for the Application Express
application user.
– tablespace_files is the name of the tablespace for the Application Express files
user.
– tablespace_temp is the name of the temporary tablespace or tablespace group.
– images is the virtual directory for Application Express images. To support future
Application Express upgrades, define the virtual image directory as /i/.
For example:
@apxrtins.sql SYSAUX SYSAUX TEMP /i/
5. Complete the appropriate steps in Installing Application Express and Configuring Oracle
REST Data Services.
Note:
Oracle Database SQL Language Reference for more information about SQL*Plus
See Also:
"Installing and Configuring Application Express and Oracle REST Data Services"
5-9
Chapter 5
Installing Application Express into Different PDBs
Note:
Installing or removing Application Express from a CDB requires a local
connection to the database.
1. Change your working directory to the apex directory in the location where you
unzipped the distribution.
2. Start SQL*Plus and connect to CDB$ROOT of the database where Application
Express is installed as SYS specifying the SYSDBA role.For example:
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Where:
– tablespace_apex is the name of the tablespace for the Oracle Application
Express application user.
– tablespace_files is the name of the tablespace for the Application
Express files user.
– tablespace_temp is the name of the temporary tablespace or tablespace
group.
5-10
Chapter 5
Installing Application Express into Different PDBs
– images is the virtual directory for Application Express images. To support future
Application Express upgrades, define the virtual image directory as /i/.
Example:
Where:
– tablespace_apex is the name of the tablespace for the Application Express
application user.
– tablespace_files is the name of the tablespace for the Application Express files
user.
– tablespace_temp is the name of the temporary tablespace or tablespace group.
– images is the virtual directory for Application Express images. To support future
Application Express upgrades, define the virtual image directory as /i/.
Example:
5-11
Chapter 5
Plugging in a PDB When Application Express is Installed in the Root Container
See Also:
This section describes scenarios in which the target database has Application Express
installed into the root container, CDB$ROOT - the default installation option. Note there
are multiple scenarios related to where the database being plugged in originated from
and how Application Express was configured in the originating database.
• Scenario 1: Plug-in Non-CDB with Application Express
Plug-in a Non-CDB with Application Express.
• Scenario 2: Plug-in PDB with a Common Application Express from Another CDB
Plug-in a PDB with Application Express from another CDB.
• Scenario 3: Plug-in PDB with a Local Application Express from Another CDB
Plug-in a PDB with a local Application Express from another CDB.
• Scenario 4: Plug-in Non-CDB or PDB with No Application Express
Plug-in a Non-CDB or PDB if the Application Express is not installed.
• Working with Incompatible Application Express Versions
Learn how to work with the incompatible versions of Application Express.
5-12
Chapter 5
Plugging in a PDB When Application Express is Installed in the Root Container
After installing Application Express, you need to configure the Web listener for the PDB.
If the version of Application Express installed in the originating database (which is now a
PDB) is different from what is installed into the root container of the target, an error will be
raised when trying to open the PDB.
See Also:
See Also:
5-13
Chapter 5
Plugging in a PDB When Application Express is Installed in the Root Container
database objects and has no metadata linked objects. Therefore, you need to
run $ORACLE_HOME/rdbms/admin/apex_to_common.sql to remove the common objects
and create the metadata links for the packages, views and so forth.
To replace local objects with metadata links in the PDB:
1. Change your working directory to $ORACLE_HOME/rdbms/admin.
2. Start SQL*Plus and connect to the database where Application Express is
installed as SYS specifying the SYSDBA role. For example:
• On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
See Also:
"Working with Incompatible Application Express Versions."
5-14
Chapter 5
Plugging in a PDB When Application Express is Installed in the Root Container
5-15
Chapter 5
Plugging in a PDB When Application Express is Installed in the Root Container
Tip:
To upgrade Application Express in the root container, see Reinstalling
Application Express into a CDB.
See Also:
"Installing Application Express into a CDB"
5-16
Chapter 5
Plugging in a PDB When Application Express Is Not in the Root Container of the Target CDB
Where:
• &OH_HOME represents the full path to the Oracle home
• <PDB_name> is the name of the PDB you are patching
6. Follow the instructions outlined in the patch set notes for updating the images directory.
Where:
• &OH_HOME represents the full path to the Oracle home
• <PDB_name> is the name of the PDB you are patching
5. Follow the instructions outlined in the patch set notes for updating the images directory.
5-17
Chapter 5
Plugging in a PDB When Application Express Is Not in the Root Container of the Target CDB
In such cases, you can optionally install a local Application Express into each PDB
independently. If Application Express is installed into a PDB it is considered to be
installed locally and has no metadata linked objects. There are multiple scenarios
related to where the database being plugged in originated from and how Application
Express was configured in the originating database.
See Also:
"Uninstalling Application Express from a CDB."
See Also:
"Installing and Configuring Application Express and Oracle REST Data
Services"
5-18
Chapter 5
Plugging in a PDB When Application Express Is Not in the Root Container of the Target CDB
See Also:
"Installing and Configuring Application Express and Oracle REST Data Services"
5-19
6
Installing and Configuring Application Express
and Oracle REST Data Services
Install or upgrade Oracle Application Express by downloading a ZIP file from the Oracle
Application Express download page and then downloading and installing Oracle REST Data
Services (ORDS). These instructions apply to both new and upgrade installations.
6-1
Chapter 6
Performing Pre-installation Tasks for Oracle Application Express
See Also:
"Web Listener Requirements"
Note:
If you are connecting to a remote database, then start the Web listener.
6-2
Chapter 6
Downloading and Installing Oracle Application Express
See Also:
See Also:
"Utilizing the Multitenant Architecture in Oracle Database 12c or Later."
6-3
Chapter 6
Downloading and Installing Oracle Application Express
Note:
You should keep the directory tree where you unzip the files short and
not under directories that contain spaces. For example, within Windows
unzip to C:\TEMP.
Where:
– tablespace_apex is the name of the tablespace for the Oracle Application
Express application user.
– tablespace_files is the name of the tablespace for the Oracle
Application Express files user.
6-4
Chapter 6
Downloading and Installing Oracle Application Express
Note:
If you receive the following error, exit SQL*Plus and change your working
directory to where you unzipped the installation file, for example C:\TEMP in
Windows, before starting SQL*Plus:
SP2-0310: unable to open file "apexins.sql"
Where:
– tablespace_apex is the name of the tablespace for the Oracle Application
Express application user.
– tablespace_files is the name of the tablespace for the Oracle Application
Express files user.
– tablespace_temp is the name of the temporary tablespace or tablespace group.
– images is the virtual directory for Oracle Application Express images. To support
future Oracle Application Express upgrades, define the virtual image directory
as /i/.
Example:
@apxrtins.sql SYSAUX SYSAUX TEMP /i/
When Application Express installs, it creates the following database accounts:
• APEX_210100 - This account owns the Application Express schema and metadata.
• FLOWS_FILES - This account owns the Application Express uploaded files.
• APEX_PUBLIC_USER - This minimally privileged account is used for Application Express
configuration with Oracle REST Data Services or Oracle HTTP Server and mod_plsql.
If you configured RESTful Web services, then these additional accounts will be created:
• APEX_REST_PUBLIC_USER - The account used when invoking RESTful Services definitions
stored in Oracle Application Express.
• APEX_LISTENER - The account used to query RESTful Services definitions stored in
Oracle Application Express.
If you are upgrading from a previous release, then FLOWS_FILES already exists and
APEX_PUBLIC_USER is created if it does not already exist.
6-5
Chapter 6
Downloading and Installing Oracle Application Express
See Also:
Tip:
Skip this section if you are upgrading from a previous release of Oracle
Application Express. In an upgrade scenario, the Instance Administrator
account and password is preserved and carried over from the prior release.
6-6
Chapter 6
Downloading and Installing Oracle Application Express
See Also:
"Oracle Application Express Administration Services" in Oracle Application Express
Administration Guide
Tip:
You do not need to run apxchpwd.sql when upgrading from a previous release of
Oracle Application Express. In an upgrade scenario, the Instance Administrator
account password is preserved and carried over from the prior release.
6-7
Chapter 6
Downloading and Installing Oracle Application Express
@apxchpwd.sql
See Also:
SQL*Plus User's Guide and Reference for more information about SQL*Plus
6-8
Chapter 6
Downloading and Installing Oracle Application Express
Tip:
If you are upgrading from a prior release of Oracle Application Express, this step is
unnecessary.
1. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role. If Oracle Application Express is installed in
the CDB, ensure you connect to CDB$ROOT. For example:
• On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
• On UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
2. Run the following statement:
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
Tip:
If you are upgrading from a prior release of Oracle Application Express, this step is
unnecessary.
1. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role. If Oracle Application Express is installed in
the CDB, ensure you connect to CDB$ROOT. For example:
• On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
• On UNIX and Linux:
6-9
Chapter 6
Downloading and Installing Oracle Application Express
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
2. Run the following statement:
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password
Where new_password is the new password you are setting for APEX_PUBLIC_USER.
You will use this password when creating the DAD in the sections that follow.
See Also:
Oracle Database Security Guide for information on creating profiles and
assigning them to database users
Once configured, the instance administrator can control the availability of the feature. If
the instance administrator has disabled RESTful Services for this Application Express
instance, RESTful Services are not available for this instance and the RESTful
Services icon does not display.
To configure RESTful Services in Oracle Application Express:
1. Change your working directory to the apex directory where you unzipped the
installation software.
2. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role. For example:
• On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
• On UNIX and Linux:
6-10
Chapter 6
Downloading and Installing Oracle REST Data Services
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
3. Run apex_rest_config.sql. For example:
@apex_rest_config.sql
See Also:
"Enabling RESTful Services for an Instance" in Oracle Application Express
Administration Guide
See Also:
Oracle REST Data Services Installation, Configuration, and Development Guide
6-11
Chapter 6
Downloading and Installing Oracle REST Data Services
Tip:
By default, the context root for accessing Oracle Application Express through
Oracle REST Data Services is /ords. If you wish to have a context root of /
apex for accessing Oracle Application Express, rename the ords.war file to
apex.war before installing Oracle REST Data Services. See "Installing
Oracle REST Data Services" in Oracle REST Data Services Installation,
Configuration, and Development Guide.
6-12
Chapter 6
Configuring Oracle REST Data Services
See Also:
"http://tomcat.apache.org/" for more information.
6-13
Chapter 6
Configuring Oracle REST Data Services
See Also:
Oracle REST Data Services Installation, Configuration, and Development
Guide
See Also:
Oracle REST Data Services Installation, Configuration, and Development
Guide
6-14
Chapter 6
Enabling Network Services in Oracle Database 11g or Later
See Also:
"Configuring Oracle REST Data Services"
See Also:
Oracle Application Express App Builder User’s Guide
6-15
Chapter 6
Enabling Network Services in Oracle Database 11g or Later
Note:
When upgrading Application Express on a database 12c or newer, based on
the configuration of the old Application Express version the upgrade
automatically configures Network Services.
Tip:
To run the examples described in this section, the compatible initialization
parameter of the database must be set to at least 11.1.0.0.0. By default an
11g or 12c database will already have the parameter set properly, but a
database upgraded to 11g or 12c from a prior version may not. For
information about changing database initialization parameters, see
Specifying the Database Compatibility Level in Oracle Multitenant
Administrator's Guide.
See Also:
About Report Printing in Oracle Application Express App Builder User’s
Guide.
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_210100
-- the "connect" privilege if APEX_210100 does not have the privilege
yet.
6-16
Chapter 6
Enabling Network Services in Oracle Database 11g or Later
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_210100',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_210100', 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_210100', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;
The following example demonstrates how to provide less privileged access to local network
resources. This example enables access to servers on the local host only, such as email and
report servers.
DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to 'localhost' and give APEX_210100
-- the "connect" privilege if APEX_210100 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_210100',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_210100', 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_210100', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
6-17
Chapter 6
Enabling Network Services in Oracle Database 11g or Later
The following example demonstrates how to grant connect privileges to any host for
the APEX_210100 database user. This example assumes you connected to the
database where Oracle Application Express is installed as SYS specifying the SYSDBA
role.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_210100',
principal_type => xs_acl.ptype_db));
END;
/
The following example demonstrates how to provide less privileged access to local
network resources. This example enables access to servers on the local host only,
such as email and report servers.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'localhost',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_210100',
principal_type => xs_acl.ptype_db));
END;
/
REM Show the dangling references to dropped users in the ACL that is
assigned
REM to '*'.
6-18
Chapter 6
Performing Security Tasks
DECLARE
ACL_ID RAW(16);
CNT NUMBER;
BEGIN
-- Look for the object ID of the ACL currently assigned to '*'
SELECT ACLID INTO ACL_ID FROM DBA_NETWORK_ACLS
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
-- If just some users referenced in the ACL are invalid, remove just those
-- users in the ACL. Otherwise, drop the ACL completely.
SELECT COUNT(PRINCIPAL) INTO CNT FROM XDS_ACE
WHERE ACLID = ACL_ID AND
EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);
ELSE
DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID;
END IF;
END;
/
COMMIT;
Once the ACL has been fixed, you must run the first script in this section to apply the ACL to
the APEX_210100 user.
6-19
Chapter 6
Controlling the Number of Concurrent Jobs
See Also:
"Configuring HTTP Protocol Attributes" in Oracle Application Express
Administration Guide
See Also:
"Reviewing a Log of an Installation Session"
6-20
Chapter 6
Controlling the Number of Concurrent Jobs
See Also:
"Signing In to Your Workspace"
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
6-21
Chapter 6
About Running Oracle Application Express in Other Languages
1. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
The translated version of Oracle Application Express should be loaded into a database
that has a character set that supports the specific language. If you attempt to install a
translated version of Oracle Application Express into a database that does not support
the character encoding of the language, the installation may fail or the translated
Oracle Application Express instance may appear corrupt when run. The database
character set AL32UTF8 supports all the translated versions of Oracle Application
Express.
You can manually install translated versions of Oracle Application Express using
SQL*Plus. The installation files are encoded in AL32UTF8.
6-22
Chapter 6
Installing Translated Versions of Oracle Application Express
Note:
Regardless of the target database character set, to install a translated version of
Oracle Application Express, you must set the character set value of the NLS_LANG
environment variable to AL32UTF8 before starting SQL*Plus.
The following examples illustrate valid NLS_LANG settings for loading Oracle Application
Express translations:
American_America.AL32UTF8
Japanese_Japan.AL32UTF8
Whether you are installing for the first time or upgrading from a previous release, you must
run the load_lang.sql script to run a translated version of Oracle Application Express.
The installation scripts are located in subdirectories identified by a language code in the
unzipped distribution apex/builder. For example, the German version is located in apex/
builder/de and the Japanese version is located in apex/builder/ja. Within each directory,
there is a language loading script identified by the language code (for example, load_de.sql
or load_ja.sql).
NLS_LANG=American_America.AL32UTF8
export NLS_LANG
6-23
Chapter 6
Creating a Workspace and Adding Oracle Application Express Users
• C shell:
set NLS_LANG=American_America.AL32UTF8
2. Navigate to the directory under apex/builder based on the language you need to
install. For example for German, navigate to apex/builder/de. Start SQL*Plus
and connect to the database where Oracle Application Express is installed as SYS
specifying the SYSDBA role. For example:
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
@load_lang.sql
Where lang is the specific language (for example, load_de.sql for German or
load_ja.sql for Japanese).
6-24
Chapter 6
Creating a Workspace and Adding Oracle Application Express Users
Tip:
By default, the context root for accessing Oracle Application Express through
Oracle REST Data Services is /ords. If you wish to have a context root of /
apex for accessing Oracle Application Express, rename the ords.war file to
apex.war before installing Oracle REST Data Services. See "Installing Oracle
REST Data Services" in Oracle REST Data Services Installation, Configuration,
and Development Guide.
http://hostname:port/ords/apex_admin
Where:
• hostname is the name of the system where Oracle REST Data Services is installed.
6-25
Chapter 6
Creating a Workspace and Adding Oracle Application Express Users
• port is the port number assigned when configuring Oracle REST Data
Services. In a default installation, this number is 8080. To learn more, see
Oracle REST Data Services Installation, Configuration, and Development
Guide.
• ords is the service name defined when configuring Oracle REST Data
Services.
2. On the Sign In page:
a. Username - Enter the Instance administrator account username specified in
Creating or Updating Your Instance Administration Account.
b. Password - Enter your Instance administrator account password.
c. Click Sign In to Administration.
Oracle Application Express Administration Services appears.
• Username - Enter the Oracle Application Express administrator account
username you specified in Creating or Updating Your Instance Administration
Account.
• Password - Enter the Oracle Application Express administrator account
password.
• Click Sign In to Administration.
Note that, depending on your setup, you might be required to change your
password when you log in for the first time.
See Also:
6-26
Chapter 6
Creating a Workspace and Adding Oracle Application Express Users
See Also:
6-27
Chapter 6
Creating a Workspace and Adding Oracle Application Express Users
5. Under User Attributes, enter the appropriate information. Fields marked with an
asterisk are required.
Tip:
Most attributes in Oracle Application Express include field-level Help.
Attributes with field-level Help, have light gray icon that resembles a
question mark (?). To view field-level Help, click the Help icon.
6-28
Chapter 6
Creating a Workspace and Adding Oracle Application Express Users
Administrators are given access to all components. Additionally, they can manage
user accounts, groups, and development services. Components may not be available
if they are switched off by an Instance Administrator.
e. User is a developer - Select Yes or No to specify if this user should have developer
privileges.
Developers must have access to either the App Builder, SQL Workshop, or both.
Components may not be available if they are switched off by Instance Administrators.
f. App Builder Access - Determines whether a developer has access to App Builder
g. SQL Workshop Access - Determines whether a developer has access to the SQL
Workshop.
h. Team Development Access - Determines whether a user has access to the Team
Development.
i. Account Availability - Select Locked to prevent the account from being used.
Select Unlocked to allow the account to be used.
7. Under Password:
• Password - Enter a case sensitive password.
• Confirm Password - Enter the password again.
• Require Change of Password On First Use - Select No to allow the user to use the
same password until it expires. Select Yes to require the user to change the
password immediately when logging in the first time.
8. Click Create User or Create and Create Another.
See Also:
"Managing Users Across an Application Express Instance" in Oracle Application
Express Administration Guide
http://hostname:port/apex/
Where:
• hostname is the name of the system where Oracle REST Data Services is installed.
• port is the port number assigned when configuring Oracle REST Data Services. In a
default installation, this number is 8080. To learn more, see Oracle REST Data
Services Installation, Configuration, and Development Guide.
6-29
Chapter 6
Performing Post Installation Tasks for Upgrade Installations
• apex is the service name defined when configuring Oracle REST Data
Services.
The Sign In page appears.
2. On the Sign In page, enter:
• Workspace - Enter the name of your workspace.
• Username - Enter your user name.
• Password - Enter your case-sensitive password.
3. Click Sign In.
Note that, depending on your setup, you might be required to change your
password when you log in for the first time.
See Also:
6-30
Chapter 6
Performing Post Installation Tasks for Upgrade Installations
See Also:
"Upgrading from a Previous Oracle Application Express Release"
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SELECT username
FROM dba_users
WHERE ( username LIKE 'FLOWS\_______' ESCAPE '\'
OR username LIKE 'APEX\_______' ESCAPE '\' )
AND username NOT IN ( SELECT schema
FROM dba_registry
WHERE comp_id = 'APEX' );
If the results contain entries in the form FLOWS_XXXXXX or APEX_XXXXXX where XXXXXX
represents six numbers, those entries are candidates for removal.
6-31
Chapter 6
Performing Post Installation Tasks for Upgrade Installations
1. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role. For example:
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
To remove schemas and SYS objects from prior installations, run commands using the
following example:
6-32
Chapter 6
About Performance Optimization Tasks
1. Change your working directory to the apex directory where you unzipped the installation
software.
2. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role. For example:
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
EXEC DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE('power_users.xml',
'APEX_040200');
6-33
Chapter 6
Converting Between Runtime and Full Development Environments
See Also:
6-34
Chapter 6
Converting Between Runtime and Full Development Environments
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
@apxdvins.sql
See Also:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
@apxdevrm.sql
6-35
Chapter 6
Converting Between Runtime and Full Development Environments
See Also:
SQL*Plus User's Guide and Reference for more information about SQL*Plus
6-36
A
Automating the Oracle Application Express
Installation Process
Automate the process of installing and configuring an Oracle Application Express instance.
• About apxsilentins.sql
Run the apxsilentins.sql script to automate the installation and configuration of an
Oracle Application Expresss instance.
• Running apxsilentins.sql
Run the apxsilentins.sql script.
Running the apxsilentins.sql script, removes the need for completing the following topics:
• Installing Application Express
• Creating or Updating Your Instance Administration Account
• Configuring the APEX_PUBLIC_USER Account
• Enabling Network Services in Oracle Database 11g or Later
• Configuring Static File Support (apex_rest_config.sql)
1. To run apxsilentins.sql:
1. Change your working directory to apex.
2. Start SQL*Plus and connect as user SYS to the database where Oracle Application
Express is installed. You will need to specify the SYSDBA role. For example:
• On Windows:
A-1
Appendix A
Running apxsilentins.sql
Where:
• tablespace_apex is the name of the tablespace for the Oracle Application
Express application user.
• tablespace_files is the name of the tablespace for the Oracle Application
Express files user.
• tablespace_temp is the name of the temporary tablespace or tablespace
group.
• images is the virtual directory for Oracle Application Express images. For
installations using EPG, /i/ is the required value for the images argument. To
support future Oracle Application Express upgrades, define the virtual image
directory as /i/.
• password_apex_pub_user is the password for the APEX_PUBLIC_USER database
account.
• password_apex_listener is the password for the APEX_LISTENER database
account.
• password_apex_rest_pub_user is the password for the
APEX_REST_PUBLIC_USER database account.
• password_internal_admin is the password for the Instance Administration
ADMIN Application Express account. This password must meet the following
requirements:
– Contain at least 6 characters.
– Contain at least one numeric character (0123456789).
– Contain at least one punctuation character (!"#$%&()``*+,-/:;?_).
– Contain at least one uppercase alphabetic character.
For example:
@apxsilentins.sql SYSAUX SYSAUX TEMP /i/ Passw0rd!1 Passw0rd!2 Passw0rd!3
Passw0rd!4
A-2
Appendix A
Running apxsilentins.sql
Use the passwords you supplied to apxsilentins.sql when completing these steps. Then,
move on to "Creating a Workspace and Adding Oracle Application Express Users."
See Also:
A-3
B
Maximizing Uptime During an Application
Express Upgrade
Learn how to maximize uptime during an Application Express upgrade.
Previously, Oracle Application Express could only be upgraded by completely disabling
application usage for an extended length of time. The following is an overview of the
additional steps you can take to keep your applications usable for end users during most
portions of an Oracle Application Express upgrade.
This advanced procedure is an alternative to the following the topics in "Downloading and
Installing Oracle Application Express."
To upgrade the instance, administrators typically run these phases in one step by executing
one of the following:
• For full development environment:
@apexins.sql tablespace_apex tablespace_files tablespace_temp images
• For runtime-only environment:
@apxrtins.sql tablespace_apex tablespace_files tablespace_temp images
Where:
• tablespace_apex is the name of the tablespace for the Oracle Application Express
application user.
• tablespace_files is the name of the tablespace for the Oracle Application Express files
user.
• tablespace_temp is the name of the temporary tablespace or tablespace group.
• images is the virtual directory for Oracle Application Express images.
The upgrade of an Application Express instance runs in four phases:
1. Create database schemas and database objects (tables, packages).
2. Migrate application metadata.
3. Migrate data that runtime applications modify and switch to the new version.
4. Migrate additional log and summary data.
Phases 1 and 4 do not disable end users using the instance. Phase 2 only affects developers
who modify applications. Phase 3 affects all access to Application Express.
Oracle now also provides alternative upgrade scripts to run the phases independently.
Administrators can use these scripts instead of apexins.sql and apxrtins.sql, to reduce
the effective downtime of an Application Express instance from potentially hours to just a few
minutes (depending on hardware performance).
B-1
Appendix B
Note:
This feature is not supported when Application Express is installed in
CDB$ROOT.
Administrators must sequentially execute the following scripts to start phases 1, 2 and
3, respectively. At the end of phase 3, a scheduler job automatically starts to execute
phase 4.
To reduce downtime during an Oracle Application Express upgrade:
1. Execute phase 1 script: Development and runtime usage is not affected.
• For full development environment:
@apexins1.sql tablespace_apex tablespace_files tablespace_temp
images
• For runtime-only environment:
@apxrtins1.sql tablespace_apex tablespace_files tablespace_temp
images
Example: @apexins1.sql sysaux sysaux temp /i/
2. Execute phase 2 script: Development is disabled, but runtime usage is not
affected.
• For full development environment:
@apexins2.sql tablespace_apex tablespace_files tablespace_temp
images
• For runtime-only environment:
@apxrtins2.sql tablespace_apex tablespace_files tablespace_temp
images
Example: @apexins2.sql sysaux sysaux temp /i/
3. Disable web access for the web listener, Oracle REST Data Services.
4. Execute phase 3 script: Application Express can not be used.
• For full development environment:
@apexins3.sql tablespace_apex tablespace_files tablespace_temp
images
• For runtime-only environment:
@apxrtins3.sql tablespace_apex tablespace_files tablespace_temp
images
Example: @apexins3.sql sysaux sysaux temp /i/
5. Install images of the new Application Express version in your web listener.
Administrators can do this while phase 3 is running or even earlier, if the new
version's images directory is different to the previous Application Express version's
( for example: /i51/ for the new version vs. /i50/ for the old version).
For details refer to the installation instructions for Oracle REST Data Services.
B-2
Appendix B
6. Re-enable web access for the web listener and restart Oracle REST Data Services.
After web access is restarted, developers and users can access the instance again, while
phase 4 finishes in the background.
See Also:
"Installing and Configuring Application Express and Oracle REST Data Services"
B-3
C
Oracle Application Express Installation
Troubleshooting
Learn about troubleshooting Oracle Application Express Installation.
This section contains information on troubleshooting.
See Also:
"Upgrading from a Previous Oracle Application Express Release"
If the log file contains a few errors, it does not mean that your installation failed. Note that
acceptable errors are noted as such in the log file.
C-1
Appendix C
Verifying the Validity of an Oracle Application Express Installation
If the result is VALID, you can assume the installation was successful.
set serverout on
begin
-- get oracle_home
sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
if length(:xe_home) = 0 then
sys.dbms_output.put_line(lpad('-',80,'-'));
raise_application_error (
-20001,
'Oracle Home environment variable not set' );
end if;
end;
/
whenever sqlerror continue
C-2
Appendix C
Cleaning Up After a Failed Installation
3. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
• On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
• On UNIX and Linux:
$ sqlplus /nolog
SQL> SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
4. Execute the following command:
@remove_apx211_usr.sql
Once you have removed the Oracle Application Express 21.1 schema, you can now
attempt the upgrade again.
To reinstall, you must either drop the Oracle Application Express database schemas, or run a
script to completely remove Application Express from the database, depending upon the
installation type.
• Reverting to a Previous Release After a Failed Upgrade Installation
Learn about reverting to Oracle Application Express to a previous release in the case of a
failed upgrade installation.
• Removing Oracle Application Express from the Database
Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role and execute the SQL> @apxremov.sql
command.
C-3
Appendix C
Cleaning Up After a Failed Installation
If the query above returns any rows, the database contains a previous release of
Oracle Application Express.
See Also:
"Copying the Images Directory"
C-4
Appendix C
Cleaning Up After a Failed Installation
C-5
Appendix C
Cleaning Up After a Failed Installation
$ sqlplus /nolog
SQL> SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
3. Execute the following:
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010500;
exec
flows_010500.wwv_flow_upgrade.switch_schemas('APEX_210100','FLOWS_010500');
4. See "Removing the Oracle Application Express Release Schema."
See Also:
See Also:
C-6
Appendix C
Cleaning Up After a Failed Installation
See Also:
C-7
Appendix C
Cleaning Up After a Failed Installation
See Also:
@apexvalidate x x FLOWS_030000
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030000;
exec
flows_030000.wwv_flow_upgrade.switch_schemas('APEX_210100','FLOWS_030000');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
declare
l_apex_version varchar2(30);
begin
l_apex_version := flows_030000.wwv_flows_release;
dbms_registry.downgrading('APEX','Oracle Application
Express','validate_apex','FLOWS_030000');
dbms_registry.downgraded('APEX',l_apex_version);
validate_apex;
end;
/
5. See "Removing the Oracle Application Express Release 19.1 Schema."
C-8
Appendix C
Cleaning Up After a Failed Installation
See Also:
@apexvalidate x x FLOWS_030100
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030100;
exec flows_030100.wwv_flow_upgrade.switch_schemas('APEX_210100','FLOWS_030100');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
declare
l_apex_version varchar2(30);
C-9
Appendix C
Cleaning Up After a Failed Installation
begin
l_apex_version := flows_030100.wwv_flows_release;
dbms_registry.downgrading('APEX','Oracle Application
Express','validate_apex','FLOWS_030100');
dbms_registry.downgraded('APEX',l_apex_version);
validate_apex;
end;
/
8. See "Removing the Oracle Application Express Release Schema."
See Also:
C-10
Appendix C
Cleaning Up After a Failed Installation
$ sqlplus /nolog
SQL> SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
6. Execute the following:
set define '^'
@apexvalidate x x APEX_030200
ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
exec apex_030200.wwv_flow_upgrade.switch_schemas('APEX_210100','APEX_030200');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
declare
l_apex_version varchar2(30);
begin
l_apex_version := apex_030200.wwv_flows_release;
dbms_registry.downgrading('APEX','Oracle Application
Express','validate_apex','APEX_030200')
dbms_registry.downgraded('APEX',l_apex_version);
validate_apex;
end;
/
7. See "Removing the Oracle Application Express Release Schema."
See Also:
C-11
Appendix C
Cleaning Up After a Failed Installation
5. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
@apexvalidate x x APEX_040000
ALTER SESSION SET CURRENT_SCHEMA = APEX_040000;
exec
apex_040000.wwv_flow_upgrade.switch_schemas('APEX_210100','APEX_040000');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
declare
l_apex_version varchar2(30);
begin
l_apex_version := apex_040000.wwv_flows_release;
dbms_registry.downgrading('APEX','Oracle Application
Express','validate_apex','APEX_040000');
dbms_registry.downgraded('APEX',l_apex_version);
validate_apex;
end;
/
7. See "Removing the Oracle Application Express Release Schema."
See Also:
C-12
Appendix C
Cleaning Up After a Failed Installation
@apexvalidate x x APEX_040100
ALTER SESSION SET CURRENT_SCHEMA = APEX_040100;
exec apex_040100.wwv_flow_upgrade.switch_schemas('APEX_210100','APEX_040100');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
declare
l_apex_version varchar2(30);
begin
l_apex_version := apex_040100.wwv_flows_release;
dbms_registry.downgrading('APEX','Oracle Application
Express','validate_apex','APEX_040100');
dbms_registry.downgraded('APEX',l_apex_version);
validate_apex;
end;
/
8. See "Removing the Oracle Application Express Release Schema."
See Also:
C-13
Appendix C
Cleaning Up After a Failed Installation
@core_sys_views.sql
@wwv_flow_val.sql
@wwv_flow_val.plb
@wwv_dbms_sql.sql
grant execute on wwv_dbms_sql to APEX_040200;
@wwv_dbms_sql.plb
begin
dbms_utility.compile_schema('APEX_040200');
end;
/
5. Change your working directory to apex in the 4.2 source.
6. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
C-14
Appendix C
Cleaning Up After a Failed Installation
@apexvalidate x x APEX_040200
ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;
exec apex_040200.wwv_flow_upgrade.switch_schemas('APEX_210100','APEX_040200');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
declare
l_apex_version varchar2(30);
begin
l_apex_version := apex_040200.wwv_flows_release;
dbms_registry.downgrading('APEX','Oracle Application
Express','validate_apex','APEX_040200');
dbms_registry.downgraded('APEX',l_apex_version);
validate_apex;
end;
/
8. See "Removing the Oracle Application Express Release Schema."
See Also:
@core_sys_views.sql
@wwv_flow_val.sql
@wwv_flow_val.plb
@wwv_dbms_sql.sql
grant execute on wwv_dbms_sql to APEX_040200;
@wwv_dbms_sql.plb
begin
dbms_utility.compile_schema('APEX_040200');
end;
/
4. Create a second new text file in that directory named apx42dgrd.sql consisting of the
following:
set define '^'
C-15
Appendix C
Cleaning Up After a Failed Installation
set serverout on
begin
-- get oracle_home
sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
if length(:xe_home) = 0 then
sys.dbms_output.put_line(lpad('-',80,'-'));
raise_application_error (
-20001,
'Oracle Home environment variable not set' );
end if;
end;
/
whenever sqlerror continue
@apexvalidate x x APEX_040200
C-16
Appendix C
Cleaning Up After a Failed Installation
end;
/
9. Create a second new text file in that directory named apx42dgrd.sql consisting of the
following:
set define '^'
set serverout on
begin
-- get oracle_home
sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
if length(:xe_home) = 0 then
sys.dbms_output.put_line(lpad('-',80,'-'));
raise_application_error (
-20001,
'Oracle Home environment variable not set' );
end if;
end;
/
whenever sqlerror continue
@apx42dgrd.sql
12. See "Removing the Oracle Application Express Release Schema."
See Also:
C-17
Appendix C
Cleaning Up After a Failed Installation
@wwv_flow_val.sql
@wwv_flow_val.plb
begin
dbms_utility.compile_schema('APEX_050000');
end;
/
begin
for i in ( select owner, trigger_name
from sys.dba_triggers
where owner = 'APEX_050000'
and trigger_name like 'WWV_FLOW_UPGRADE_%'
order by 1 )
loop
sys.dbms_output.put_line('Dropping trigger '||i.owner||'.'||
i.trigger_name);
execute immediate 'drop trigger '||i.owner||'.'||i.trigger_name;
end loop;
end;
/
C-18
Appendix C
Cleaning Up After a Failed Installation
begin
l_apex_version := apex_050000.wwv_flows_release;
dbms_registry.downgrading('APEX','Oracle Application
Express','validate_apex','APEX_050000');
dbms_registry.downgraded('APEX',l_apex_version);
select username
bulk collect into l_schemas
from all_users
where username in
('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INS
TANCE_ADMIN_USER')
order by 1;
sys.dbms_registry.update_schema_list('APEX', l_schemas);
validate_apex;
end;
/
5. See "Removing the Oracle Application Express Release Schema."
See Also:
@wwv_flow_val.sql
@wwv_flow_val.plb
begin
dbms_utility.compile_schema('APEX_050000');
end;
/
begin
for i in ( select owner, trigger_name
from sys.dba_triggers
where owner = 'APEX_050000'
and trigger_name like 'WWV_FLOW_UPGRADE_%'
order by 1 )
loop
sys.dbms_output.put_line('Dropping trigger '||i.owner||'.'||i.trigger_name);
execute immediate 'drop trigger '||i.owner||'.'||i.trigger_name;
end loop;
C-19
Appendix C
Cleaning Up After a Failed Installation
end;
/
C-20
Appendix C
Cleaning Up After a Failed Installation
See Also:
@wwv_flow_val.sql
@wwv_flow_val.plb
begin
dbms_utility.compile_schema('APEX_050100');
end;
/
begin
for i in ( select owner, trigger_name
from sys.dba_triggers
where owner = 'APEX_050100'
C-21
Appendix C
Cleaning Up After a Failed Installation
See Also:
C-22
Appendix C
Cleaning Up After a Failed Installation
@wwv_flow_val.sql
@wwv_flow_val.plb
begin
dbms_utility.compile_schema('APEX_050100');
end;
/
begin
for i in ( select owner, trigger_name
from sys.dba_triggers
where owner = 'APEX_050100'
and trigger_name like 'WWV_FLOW_UPGRADE_%'
order by 1 )
loop
sys.dbms_output.put_line('Dropping trigger '||i.owner||'.'||i.trigger_name);
execute immediate 'drop trigger '||i.owner||'.'||i.trigger_name;
end loop;
end;
/
C-23
Appendix C
Cleaning Up After a Failed Installation
if length(:xe_home) = 0 then
sys.dbms_output.put_line(lpad('-',80,'-'));
raise_application_error (-20001,'Oracle Home environment variable not
set' );
end if;
end;
/
whenever sqlerror continue
set termout off
select :xe_home from sys.dual;
set termout on
host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/
catcon.pl -b apx51dgrd apx51dgrd1.sql
5. Start SQL*Plus and connect to CDB$ROOT of the database where Oracle Application
Express is installed as SYS specifying the SYSDBA role:
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
See Also:
C-24
Appendix C
Cleaning Up After a Failed Installation
@@core/scripts/set_appun.sql
declare
l_cnt number := 0;
begin
select count(*) into l_cnt from sys.dba_users where username =
'^APPUN';
if l_cnt = 0 then
dbms_output.put_line('^APPUN not found in this database.');
raise program_error;
end if;
end;
/
whenever sqlerror continue
@@core/sys_core_views.sql
@@core/wwv_flow_val.sql
grant execute on sys.wwv_flow_val to ^APPUN.;
@@core/wwv_flow_val.plb
exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
begin
^APPUN..wwv_flow_upgrade.remove_jobs();
^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
end;
/
C-25
Appendix C
Cleaning Up After a Failed Installation
exec
sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize)
;
declare
l_apex_version varchar2(30);
l_schemas sys.dbms_registry.schema_list_t;
begin
execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
l_apex_version := ^APPUN..wwv_flows_release;
sys.dbms_registry.loading('APEX','Oracle Application
Express','validate_apex', '^APPUN');
select username
bulk collect into l_schemas
from sys.all_users
where username in
('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_
USER','APEX_INSTANCE_ADMIN_USER')
order by 1;
sys.dbms_registry.update_schema_list('APEX', l_schemas);
sys.dbms_registry.loaded('APEX',l_apex_version);
commit;
sys.validate_apex;
end;
/
4. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd.sql
C-26
Appendix C
Cleaning Up After a Failed Installation
See Also:
@@core/scripts/set_appun.sql
declare
l_cnt number := 0;
begin
select count(*) into l_cnt from sys.dba_users where username = '^APPUN';
if l_cnt = 0 then
dbms_output.put_line('^APPUN not found in this database.');
raise program_error;
end if;
end;
/
whenever sqlerror continue
@@core/sys_core_views.sql
@@core/wwv_flow_val.sql
grant execute on sys.wwv_flow_val to ^APPUN.;
@@core/wwv_flow_val.plb
C-27
Appendix C
Cleaning Up After a Failed Installation
exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
begin
^APPUN..wwv_flow_upgrade.remove_jobs();
^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
end;
/
exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
declare
l_apex_version varchar2(30);
l_schemas sys.dbms_registry.schema_list_t;
begin
execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
l_apex_version := ^APPUN..wwv_flows_release;
sys.dbms_registry.loading('APEX','Oracle Application
Express','validate_apex', '^APPUN');
select username
bulk collect into l_schemas
from sys.all_users
where username in
('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','AP
EX_INSTANCE_ADMIN_USER')
order by 1;
sys.dbms_registry.update_schema_list('APEX', l_schemas);
sys.dbms_registry.loaded('APEX',l_apex_version);
commit;
sys.validate_apex;
end;
/
4. Create a second new text file in that directory named apxdwngrd_cdb.sql
consisting of the following:
set define '^'
whenever sqlerror exit
column :xe_home new_value OH_HOME NOPRINT
variable xe_home varchar2(255)
set serverout on
begin
-- get oracle_home
sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
if length(:xe_home) = 0 then
sys.dbms_output.put_line(lpad('-',80,'-'));
C-28
Appendix C
Cleaning Up After a Failed Installation
See Also:
C-29
Appendix C
Cleaning Up After a Failed Installation
set termout on
spool ^LOG
@@core/scripts/set_appun.sql
declare
l_cnt number := 0;
begin
select count(*) into l_cnt from sys.dba_users where username =
'^APPUN';
if l_cnt = 0 then
dbms_output.put_line('^APPUN not found in this database.');
raise program_error;
end if;
end;
/
whenever sqlerror continue
@@core/sys_core_views.sql
@@core/wwv_flow_val.sql
grant execute on sys.wwv_flow_val to ^APPUN.;
@@core/wwv_flow_val.plb
exec
sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize)
;
begin
^APPUN..wwv_flow_upgrade.remove_jobs();
^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
end;
/
C-30
Appendix C
Cleaning Up After a Failed Installation
exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
declare
l_apex_version varchar2(30);
l_schemas sys.dbms_registry.schema_list_t;
begin
execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
l_apex_version := ^APPUN..wwv_flows_release;
sys.dbms_registry.loading('APEX','Oracle Application
Express','validate_apex', '^APPUN');
select username
bulk collect into l_schemas
from sys.all_users
where username in
('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER',
'APEX_INSTANCE_ADMIN_USER')
order by 1;
sys.dbms_registry.update_schema_list('APEX', l_schemas);
sys.dbms_registry.loaded('APEX',l_apex_version);
commit;
sys.validate_apex;
end;
/
4. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd.sql
C-31
Appendix C
Cleaning Up After a Failed Installation
See Also:
@@core/scripts/set_appun.sql
declare
l_cnt number := 0;
begin
select count(*) into l_cnt from sys.dba_users where username = '^APPUN';
if l_cnt = 0 then
dbms_output.put_line('^APPUN not found in this database.');
raise program_error;
end if;
end;
/
whenever sqlerror continue
@@core/sys_core_views.sql
C-32
Appendix C
Cleaning Up After a Failed Installation
@@core/wwv_flow_val.sql
grant execute on sys.wwv_flow_val to ^APPUN.;
@@core/wwv_flow_val.plb
exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
begin
^APPUN..wwv_flow_upgrade.remove_jobs();
^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
end;
/
exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
declare
l_apex_version varchar2(30);
l_schemas sys.dbms_registry.schema_list_t;
begin
execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
l_apex_version := ^APPUN..wwv_flows_release;
sys.dbms_registry.loading('APEX','Oracle Application Express','validate_apex',
'^APPUN');
select username
bulk collect into l_schemas
from sys.all_users
where username in
('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INS
TANCE_ADMIN_USER')
order by 1;
sys.dbms_registry.update_schema_list('APEX', l_schemas);
sys.dbms_registry.loaded('APEX',l_apex_version);
commit;
sys.validate_apex;
end;
/
4. Create a second new text file in that directory named apxdwngrd_cdb.sql consisting of
the following:
set define '^'
whenever sqlerror exit
column :xe_home new_value OH_HOME NOPRINT
variable xe_home varchar2(255)
set serverout on
begin
C-33
Appendix C
Cleaning Up After a Failed Installation
-- get oracle_home
sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
if length(:xe_home) = 0 then
sys.dbms_output.put_line(lpad('-',80,'-'));
raise_application_error (-20001,'Oracle Home environment variable not
set' );
end if;
end;
/
whenever sqlerror continue
set termout off
select :xe_home from sys.dual;
set termout on
host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/
catcon.pl -b apx182dgrd apxdwngrd.sql
5. Start SQL*Plus and connect to CDB$ROOT of the database where Oracle Application
Express is installed as SYS specifying the SYSDBA role:
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
See Also:
C-34
Appendix C
Cleaning Up After a Failed Installation
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd.sql
4. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
C-35
Appendix C
Cleaning Up After a Failed Installation
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd_cdb.sql
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd.sql
C-36
Appendix C
Cleaning Up After a Failed Installation
3. Create a script in the apex directory called apxdwngrd_cdb.sql with the following
contents:
4. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd_cdb.sql
C-37
Appendix C
Cleaning Up After a Failed Installation
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd.sql
4. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
C-38
Appendix C
Cleaning Up After a Failed Installation
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd_cdb.sql
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd.sql
C-39
Appendix C
Cleaning Up After a Failed Installation
4. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SQL> @apxdwngrd_cdb.sql
1. Change your working directory to apex in the, XX.X release source (where XX.X is
the release number you reverted to.
2. Start SQL*Plus and connect to the database where Oracle Application Express is
installed as SYS specifying the SYSDBA role:
C-40
Appendix C
Cleaning Up After a Failed Installation
• On Windows:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
C.4.1.4.1 Removing the Oracle Application Express Release 21.1 Schema from a Non-CDB
Start SQL*Plus and connect to the database and execute DROP USER APEX_210100
CASCADE; .
C-41
Appendix C
Cleaning Up After a Failed Installation
Once you have removed the Oracle Application Express 21.1 schema, you can
now attempt the upgrade again.
C.4.1.4.2 Removing the Oracle Application Express Release 21.1 Schema from a CDB
Create text files, start SQL*Plus and connect to the database execute
@remove_apx211_usr.sql.
set serverout on
begin
-- get oracle_home
sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
if length(:xe_home) = 0 then
sys.dbms_output.put_line(lpad('-',80,'-'));
raise_application_error (
-20001,
'Oracle Home environment variable not set' );
end if;
end;
/
whenever sqlerror continue
C-42
Appendix C
About Images Displaying Incorrectly in Oracle Application Express
Once you have removed the Oracle Application Express 21.1 schema, you can now
attempt the upgrade again.
This section describes how to remove the Oracle Application Express schema, synonyms,
and users from the database without deleting the database.
Note:
Do NOT follow these steps if you have upgraded your database from a prior
release, and still want to use the prior release of Oracle Application Express. For
information about reverting to a prior release, see Reverting to a Previous Release.
If you are not sure whether you have completed a new installation or an upgrade
installation, review Cleaning Up After a Failed Installation to verify if a previous
release of Oracle Application Express exists in the database.
C-43
Appendix C
About Page Protection Violation
C-44
D
Upgrading Oracle Application Express within
Oracle Database Express Edition
Learn about upgrading Oracle Application Express included with Oracle Database 11g
Express Edition.
Oracle Database 11g Express Edition (Oracle Database XE) includes Oracle Application
Express release 4.0. Oracle strongly recommends that you upgrade to the latest Oracle
Application Express release to take advantage of the latest features. This section describes
how to upgrade Oracle Application Express included with Oracle Database XE.
Tip:
Upgrading Oracle Application Express does not change the Oracle Support policy
for Oracle Database XE. Oracle Database XE is only supported on the Oracle OTN
forums. Oracle Support will not answer questions about Oracle Application Express
on Oracle Database XE.
See Also:
Oracle Database 11g Express Edition OTN site at:
http://www.oracle.com/technetwork/database/database-technologies/
express-edition/overview/index.html
D-1
Appendix D
Upgrading to the Latest Oracle Application Express Release
Tip:
Keep the directory tree where you unzip the files short and not under
directories that contain spaces. For example, within Windows unzip
to C:\.
Tip:
Keep the directory tree where you unzip the files short and not under
directories that contain spaces. For example, within Windows unzip
to C:\.
Where:
• tablespace_apex is the name of the tablespace for the Oracle Application
Express application user.
• tablespace_files is the name of the tablespace for the Oracle Application
Express files user.
• tablespace_temp is the name of the temporary tablespace or tablespace
group.
• images is the virtual directory for Oracle Application Express images. To
support future Oracle Application Express upgrades, define the virtual image
directory as /i/.
Example
@apexins.sql SYSAUX SYSAUX TEMP /i/
6. Configure ORDS for HTTP(s) access. See "Installing and Configuring Application
Express and Oracle REST Data Services."
7. Upgrade the Oracle Application Express password by running apxchpwd.sql:
D-2
Appendix D
Understanding the Differences Between Later Oracle Application Express Releases
@apxchpwd.sql
Where:
hostname is the name of the system where Oracle XML DB Protocol server is
installed.
port is the port number assigned to HTTP on the Oracle XML DB Protocol server. In
a default installation, this number is 8080. If you are using the Oracle Database 12c
or later multitenant architecture, then each pluggable database (PDB) will have a
distinct port number.
apex is the database access descriptor (DAD) defined in the configuration file.
b. On the Sign In page:
• Username - Enter admin.
• Password - Enter the Oracle Application Express administrator account
password you specified in step 4.
• Click Sign In to Administration.
Note that, depending on your setup, you might be required to change your password
when you log in for the first time.
D-3
Appendix D
Understanding the Differences Between Later Oracle Application Express Releases
D-4
Index
A apxchpwd.sql (continued)
running, 6-7
ACL unlockin Instance Administrator account, 6-7
fixing invalid, 6-32 updating Instance Administrator account, 6-7
Administration Services apxdevrm.sql, 6-35
signing in, 6-25 apxdvins.sql, 6-35
APEX_PUBLIC_USER account apxrtins.sql, 6-5
about, 6-8
changing password, 6-9
configuring, 6-8
B
expiration in Oracle Database 11g, 6-10 browser
unlocking, 6-9 requirement, 2-3
apexins.sql, 6-4
application container
about, 5-3 C
Application Express CDB
about users, 6-25 application container, 5-3
about workspaces, 6-25 CDBs
accessing in Oracle Cloud, 3-3 patching Application Express, 5-15
Administration Services, 6-25 uninstalling Application Express, 5-7
browser requirement, 2-3 CDBs reinstalling Application Express, 5-10
creating workspace manually, 6-26 common Application Express from another CDB,
database requirement, 2-1 5-19
disk space requirements, 2-3 configure
download and install in non-CDB, 6-3 HTTP access, 5-6
download and install locally in PDB, 6-3 creating
getting started, 6-24 application PDB, application root seed, 5-6
incompatible versions, 5-15 application seed, 5-5
installing translated versions, 6-23
patching in CDBs, 5-15
patching in PDBs, 5-16, 5-17 D
pre-installation tasks, 6-2
database requirement
reinstalling in CDBs, 5-10
Application Express, 2-1
release number, 4-2
development environment
signing in to workspace, 6-29
changing to runtime, 6-35
uninstalling in CDBs, 5-7
disk space
XML DB requirement, 2-3
requirements, 2-3
Application Express Administration Services,
6-26
applications E
upgrading, 4-4
apxchpwd.sql, 6-7, D-2 environment, configuring, 3-5
changing Instance Administrator account
password, 6-7
creating Instance Administrator account, 6-7
Index-1
Index
F J
full development environment JOB_QUEUE_PROCESSES, 6-20
about, 6-34 changing number of, 6-21
converting to runtime, 6-35 viewing from SQL*Plus, 6-21
installing, 6-4 viewing in installation log, 6-20
viewing number of, 6-20
viewing on About page, 6-21
G
getting started L
Application Express, 6-24
log file, C-1
login credentials
I recovering workspace name, 3-9
installation
downloading Oracle REST Data Services, M
6-11, 6-12
enabling network services, 6-15 MEMORY_TARGET
installing in other languages, 6-22 checking, 2-2
managing JOB_QUEUE_PROCESSES, 6-20 Multitenant Architecture, 5-1
overview, 3-5
patch sets, 3-5
performing security tasks, 6-19
N
planning, 3-4 network services
point releases, 3-5 enabling, 6-15
process, 3-5 granting connect privileges, 6-16
requirements, 2-1, 3-4 granting connect privileges, Oracle Database
restart processes, 6-8 12c, 6-18
signing in, 6-24 invalid ACL error, 6-18
understanding, 3-3 non-CDB
verifying validity, C-2 installing in, 6-3
installation option
full development environment, 6-4
runtime environment, 6-4 O
installing Oracle APEX Application Development
Application Express in application container, accessing Application Express, 3-3
5-3 Oracle Application Express
failures, C-3 accessing in Oracle Cloud, 3-3
Oracle REST Data Services, 6-11, 6-12 configuring your environment, 3-5
other languages, 6-22 creating users, 6-27
Instance administrator account installing, 4-3
about, 6-6 Oracle Database, 4-3
creating, 6-6 Oracle Autonomous Data Warehouse
running apxchpwd.sql, 6-7 accessing Application Express, 3-3
updating, 6-6 Oracle Autonomous Transaction Processing
Instance Administrator account accessing Application Express, 3-3
changing password, 6-7 Oracle Cloud
creating, 6-7 accessing Application Express, 3-3
creating password, 6-7 Oracle Real Application Clusters (Oracle RAC)
unlocking, 6-7 shutting down instances, 6-2
Oracle REST Data Services
about, 3-1
configuring, 6-1
configuring behind load balancer, 6-12
Index-2
Index
Index-3
Index
Index-4