Oracle Application Express is installed by default with Oracle Database 11g Release 1 (11.1) and later. This chapter describes required postinstallation configuration tasks for Oracle Application Express when installed with Oracle Database 12c or later in the standalone and multitenant architecture.
The instructions in this chapter apply to both new and upgrade installations. To learn more, see "Upgrading from a Previous Release of Oracle Application Express".
Note:
This chapter applies to installations in Oracle Database 12c in the multitenant architecture and non-CDB (or standalone) architecture. For more information on multitenant architecture, see "Part VI" in Oracle Database Concepts 12c Release 1 (12.1). For more information on different installation scenarios relating to Application Express in an Oracle Database 12c Release 1 (12.1) multitenant architecture, see Chapter 3, "Utilizing the Multitenant Architecture".Installing from the Database and Configuring Oracle REST Data Services
Installing from the Database and Configuring the Embedded PL/SQL Gateway
Installing from the Database and Configuring the Oracle HTTP Server
If you are already running Oracle Application Express, then check the Oracle Application Express page on the Oracle Technology Network (OTN) at the following URL for information about patch set releases or later releases of Oracle Application Express:
http://www.oracle.com/technology/products/database/application_express/index.html
Upgrading to Oracle Database 12c Release 1 (12.1) will not patch Oracle Application Express. To learn more about downloading and installing Oracle Application Express from Oracle Technology Network (OTN) see "Downloading from Oracle Technology Network" in Oracle Application Express Installation Guide for Oracle Application Express release 4.2.
Before installing Oracle Application Express, Oracle recommends that you complete the following steps:
Review and satisfy all Oracle Application Express installation requirements. See "Oracle Application Express Installation Requirements".
Shut down any existing Oracle Database instances as well as Oracle-related processes.
Shut down any existing Oracle Database instances with normal or immediate priority, except for the database where you plan to install the Oracle Application Express schemas. On Oracle Real Application Clusters (Oracle RAC) systems, shut down all instances on each node.
If Oracle Automatic Storage Management (ASM) is running, shut down all databases that use ASM except for the database where you will install Oracle Application Express, and then shut down the ASM instance.
You can use the Windows Services utility, located either in the Windows Control Panel or from the Administrative Tools menu (under Start and then Programs), to shut down Oracle Database and ASM instances. Names of Oracle Databases are preceded with OracleService
. The Oracle ASM service is named OracleASMService+ASM
. In addition, shut down the OracleCSService
service, which ASM uses. Right-click the name of the service and from the menu, choose Stop.
Back up the Oracle Database installation.
Oracle recommends that you create a backup of the current installation of Oracle Database installation before you install Oracle Application Express. You can use Oracle Database Recovery Manager, which is included the Oracle Database installation, to perform the backup.
Start the Oracle Database instance that contains the target database.
After backing up the system, you must start the Oracle instance that contains the target Oracle Database. Do not start other processes such as a Web listener. However, if you are performing a remote installation, make sure the Web listener for the remote database has started.
In order to run, Oracle Application Express must have access to Oracle REST Data Services, Oracle HTTP Server and mod_plsql,
or the embedded PL/SQL gateway. To learn more, see "About Choosing a Web Listener".
This section describes required postinstallation configuration tasks when running Oracle Application Express with Oracle REST Data Services.
Oracle Application Express automatically installs with Oracle Database 11g and later. To learn more about installing the Oracle Database, see the Oracle Database Installation Guide for your platform and "Recommended Pre-installation Tasks".
To download Oracle REST Data Services:
Download the latest release of Oracle REST Data Services from the following site:
http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html
Note that the version.number
in the file name reflects the current release number.
Unzip the downloaded zip file into a directory (or folder) of your choice:
UNIX and Linux: unzip ords.
version.number
.zip
Windows: Double-click the file ords.
version.number
.zip
in Windows Explorer
Copy the images directory, apex/images
, from the Application Express software ZIP to a location on the file system where Oracle REST Data Services is installed.
Locate the installation guide for Oracle REST Data Services and follow instructions to complete installation and configuration steps.
For Oracle Database 12c multitenant architecture, ensure that you configure the connection using the service name of the specific pluggable database (PDB) you want to access. Do not use the service name of the CDB$ROOT
unless you are configuring Oracle REST Data Services to address PDBs through the URL. See Oracle REST Data Services Installation and Developer Guide for more information.
In a new installation of Oracle Application Express, you configure RESTful Services by running the configuration script apex_rest_config.sql
. This step is optional and only needs to be completed if you wish to use RESTful Services with Oracle REST Data Services on the instance. 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. See "Configuring SQL Workshop" in Oracle Application Express Administration Guide.
Note:
RESTful Services requires Oracle REST Data Services release 2.0 or later.To configure RESTful Services in Oracle Application Express:
Change your working directory to $ORACLE_HOME/apex
.
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:
$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
Run apex_rest_config.sql
. For example:
@apex_rest_config.sql
When Prompted, enter a password for the APEX_LISTENER
and APEX_REST_PUBLIC_USER
accounts. When configuring RESTful Services in Oracle Application Express, it creates two new database accounts.
APEX_LISTENER
- The account used to query RESTful Services definitions stored in Oracle Application Express.
APEX_REST_PUBLIC_USER
- The account used when calling RESTful Services definitions stored in Oracle Application Express.
By default, the ability to interact with network services is disabled in Oracle Database 12c. Therefore, if you are running Oracle Application Express with Oracle Database 12c, you must use the new DBMS_NETWORK_ACL_ADMIN
package to grant connect privileges to any host for the APEX_040200
database user. Failing to grant these privileges results in issues with:
Sending outbound mail in Oracle Application Express.
Users can call methods from the APEX_MAIL
package, but issues arise when sending outbound email.
Using Web services in Oracle Application Express.
PDF report printing.
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 Oracle Database 12c already has the parameter set properly, but a database upgraded to Oracle Database 12c from a prior version may not. See "Creating and Configuring an Oracle Database" in Oracle Database Administrator's Guide for information about changing database initialization parameters.The examples below should be modified according to your environment and in a Oracle Database 12c multitenant architecture, should be run on each pluggable database (PDB).
The following example demonstrates how to grant connect privileges to any host for the APEX_040200
database user. This example assumes you connected to the database where Oracle Application Express is installed as SYS
specifying the SYSDBA
role.
DECLARE ACL_PATH VARCHAR2(4000); BEGIN -- Look for the ACL currently assigned to '*' and give APEX_040200 -- the "connect" privilege if APEX_040200 does not have the privilege yet. SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', 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 is used to enable 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_040200 -- the "connect" privilege if APEX_040200 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_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; / COMMIT;
If you receive an ORA-44416: Invalid ACL
error after running the previous script, use the following query to identify the invalid ACL:
REM Show the dangling references to dropped users in the ACL that is assigned REM to '*'. SELECT ACL, PRINCIPAL FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND NACL.ACLID = ACE.ACLID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);
Next, run the following code to fix the ACL:
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); IF (CNT > 0) THEN FOR R IN (SELECT PRINCIPAL FROM XDS_ACE WHERE ACLID = ACL_ID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL)) LOOP UPDATE XDB.XDB$ACL SET OBJECT_VALUE = DELETEXML(OBJECT_VALUE, '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]') WHERE OBJECT_ID = ACL_ID; END LOOP; ELSE DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID; END IF; END; / REM commit the changes. COMMIT;
Once the ACL has been fixed, you must run the first script in this section to apply the ACL to the APEX_040200
user. See "Granting Connect Privileges".
Oracle highly recommends you configure and use a Secure Sockets Layer (SSL) to ensure that passwords and other sensitive data are not transmitted in clear text in HTTP requests. Without the use of SSL, passwords could potentially be exposed, compromising security. SSL is an industry standard protocol that uses RSA public key cryptography in conjunction with symmetric key cryptography to provide authentication, encryption, and data integrity.
See Also:
"Requiring HTTPS" in Oracle Application Express Administration GuideThe Oracle Application Express interface is translated into German, Spanish, French, Italian, Japanese, Korean, Brazilian Portuguese, Simplified Chinese, and Traditional Chinese. A single instance of Oracle Application Express can be installed with one or more of these translated versions. At runtime, each user's Web browser language settings determine the specific language version.
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
.
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 theNLS_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
In a multitenant architecture, the scripts below should be run in each pluggable database (PDB).
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 $ORACLE_HOME/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
).
To install a translated version of Oracle Application Express:
Set the NLS_LANG
environment variable, making sure that the character set is AL32UTF8
. For example:
Bourne or Korn shell:
NLS_LANG=American_America.AL32UTF8 export NLS_LANG
C shell:
setenv NLS_LANG American_America.AL32UTF8
For Windows based systems:
set NLS_LANG=American_America.AL32UTF8
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the PDB to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
Execute the following statement:
ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;
Execute the appropriate language specific script. For example:
@load_lang.sql
Where lang
is the specific language (for example, load_de.sql
for German or load_ja.sql
for Japanese).
JOB_QUEUE_PROCESSES
determine the maximum number of concurrently running jobs. In Oracle Application Express release 4.2, transactional support and SQL scripts require jobs. If JOB_QUEUE_PROCESSES
is not enabled and working properly, you cannot successfully execute a script.
There are currently three ways to view the number of JOB_QUEUE_PROCESSES
:
In the installation log file
On the About Application Express page in Oracle Application Express
From SQL*Plus
After installing or upgrading Oracle Application Express to release 4.2, you can view the number of JOB_QUEUE_PROCESSES
in the installation log files. See "Reviewing a Log of an Installation Session".
You can also view the number of JOB_QUEUE_PROCESSES
on the About Application Express page.
To view the About Application Express page:
Log in to Oracle Application Express. See "Logging in to Your Oracle Application Express Workspace".
On the Administration list, click About Application Express.
The current number JOB_QUEUE_PROCESSES
displays at the bottom of the page.
You can change the number of JOB_QUEUE_PROCESSES
by running a SQL statement in SQL*Plus:
To update the number of JOB_QUEUE_PROCESSES
:
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
On UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
In SQL*Plus run the following SQL statement:
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number>
For example, running the statement ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20
sets JOB_QUEUE_PROCESSES
to 20.
You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirements".
A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.
An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Change Requests" in Oracle Application Express Administration Guide.
See Also:
Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application ExpressTo create an Oracle Application Express workspace manually:
Log in to Oracle Application Express Administration Services. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. You log in using the ADMIN
account and password created or reset during the installation process.
In a Web browser, navigate to the Oracle Application Express Administration Services application.
If your setup uses the Oracle REST Data Services, go to:
http://hostname:port/apex/apex_admin
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 and Developer Guide.
apex
is the service name defined when configuring Oracle REST Data Services.
On the Login page:
In Username, enter admin
.
In Password, enter the Oracle Application Express administrator account password you specified when you installed Oracle Application Express.
Click Login.
See Also:
See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.Next, create a workspace.
Click Manage Workspaces.
Under Manage Workspaces, click Create Workspace.
The Create Workspace Wizard appears.
For Identify Workspace, enter a workspace name and description and click Next.
For Identify Schema, select the Oracle Forms application schema.
For Re-use existing schema, select Yes.
Select a schema from the list.
Click Next.
For Identify Administrator, enter the Workspace administrator information and click Next.
Confirm your selections and click Create.
To create an Oracle Application Express user account:
Log in to Oracle Application Express Administration Services as described in the previous section. See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.
Click Manage Workspaces.
Under Manage Workspaces, click Manage Developers and Users.
The Manage Developers and Users page appears.
Click Create.
The Create/Edit User page appears.
Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.
Tip:
To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.Under Password, type a case-sensitive password for this account.
If your organization has set up a password policy, be sure the password meets the requirements.
Under Developer Privileges, select the appropriate privileges:
User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.
Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.
User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.
In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.
Under Account Control, specify the following:
Account Availability - Select Unlocked to enable a user to log in to this account.
Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.
Click Create User or Create and Create Another.
Once you create a workspace, you must log in to it using your login credentials (that is, the workspace name, user name, and password).
See Also:
See "Creating Workspaces" and "Managing Workspace and Change Requests" in Oracle Application Express Administration GuideTo log in to a workspace:
In a Web browser, navigate to the Oracle Application Express Login page.
If your setup uses Oracle REST Data Services, go to:
http://hostname:port/apex/apex_admin
Where:
hostname
is the name of the system where Oracle REST Data Services is installed.
port
is the port number assigned when configuring the Oracle REST Data Services. In a default installation, this number is 8080. To learn more, see Oracle REST Data Services Installation and Developer Guide.
apex
is the service name defined when configuring Oracle REST Data Services.
The Login page appears.
Under Login, enter the following:
Workspace field - Enter the name of your workspace.
Username field - Enter your user name.
Password field - Enter your case-sensitive password.
Click Login.
Note that, depending on your setup, you might be required to change your password when you log in for the first time.
This section describes required post installation configuration tasks when running Oracle Application Express with the embedded PL/SQL gateway.
Oracle Application Express automatically installs with Oracle Database 11g and later. To learn more about installing the Oracle Database, see the Oracle Database Installation Guide for your operating environment and "Recommended Pre-installation Tasks".
In a new or upgrade installation, you load image and static resources into the XDB repository and make them available by running the configuration script apex_epg_config.sql
.
To run apex_epg_config.sql configuration script:
Change your working directory to ORACLE_BASE\ORACLE_HOME\apex
or whatever convention used to indicate the Oracle home.
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS. 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
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to be configured as shown in the following example:
ALTER SESSION SET CONTAINER = <PDB_name>;
Run apex_epg_config.sql
passing the file system path to the Oracle home as shown in the following example:
@apex_epg_config /u01/app/product/12.1.0/dbhome_1
Although the embedded PL/SQL gateway installs with the Oracle Database 12c, you must configure it before you can use it with Oracle Application Express. To accomplish this, you run a configuration script and unlock the ANONYMOUS
account.
Note:
The Oracle XML DB Protocol Server with the embedded PL/SQL gateway is not supported before Oracle Database 11g.In a new installation, you configure the embedded PL/SQL gateway by running the configuration script apxconf.sql
. Then, you unlock the ANONYMOUS
account.
Note:
If you are upgrading and have previously configured the embedded PL/SQL gateway, skip this section and go to "Enable Network Services in Oracle Database 12c".To run the apxconf.sql
configuration script:
Change your working directory to ORACLE_BASE\ORACLE_HOME\apex
or whatever convention used to indicate the Oracle home.
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS
. 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
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to be configured as shown in the following example:
ALTER SESSION SET CONTAINER = <PDB_name>;
Run apxconf.sql
as shown in the following example:
@apxconf
If running in the Oracle Database 12c multitenant architecture, set the container to CDB$ROOT
:
ALTER SESSION SET CONTAINER = CDB$ROOT;
Enter the following statement to unlock the ANONYMOUS account:
ALTER USER ANONYMOUS ACCOUNT UNLOCK;
Tip:
If running in the Oracle Database 12c multitenant architecture, you only need to execute steps 5 and 6 once when configuring the first PDB, as you only need to unlock the ANONYMOUS account once in the root container.Complete appropriate steps in sections "Enable Network Services in Oracle Database 12c" through "Create a Workspace and Add Oracle Application Express Users".
The embedded PL/SQL gateway runs in the Oracle XML DB Protocol Server in the Oracle Database. You can determine if the Oracle XML DB Protocol Server has HTTP enabled by verifying the associated port number.
To verify the HTTP port number where the Oracle XML DB Protocol Server is running:
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
On UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to be verified:
ALTER SESSION SET CONTAINER = <PDB_name>;
Enter the following statement to verify the port number:
SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;
If the port number returns 0
, the Oracle XML DB Protocol Server is disabled.
To enable it, follow the instructions in "Enabling Oracle XML DB Protocol Server".
The embedded PL/SQL gateway runs in the Oracle XML DB Protocol Server in the Oracle Database.
To enable Oracle XML DB Protocol Server:
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS. For example:
Windows:
DRIVE_LETTER:\> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: SYS_password
UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the PDB to enable:
ALTER SESSION SET CONTAINER = <PDB_name>;
Run the following statements:
EXEC DBMS_XDB.SETHTTPPORT(port);
COMMIT;
For example:
EXEC DBMS_XDB.SETHTTPPORT(8080); COMMIT;
Note:
Port numbers less than 1024 are reserved for use by privileged processes on many operating systems. To enable the XML DB Protocol Server on a port less than 1024, such as 80, review the following documentation:"Accessing the Repository Using Protocols" and "Oracle XML DB Protocol Server Configuration Management" in Oracle XML DB Developer's Guide.
"Protocol Address Configuration" and "Port Number Limitations" in Oracle Database Net Services Reference.
The embedded PL/SQL gateway runs in the Oracle XML DB Protocol Server in the Oracle Database.
To disable Oracle XML DB Protocol Server:
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS. For example:
Windows:
DRIVE_LETTER:\> sqlplus /nolog SQL> SQL> CONNECT SYS as SYSDBA Enter password: SYS_password
UNIX and Linux:
$ sqlplus /nolog
SQL> SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to disable:
ALTER SESSION SET CONTAINER = <PDB_name>;
Run the following statements:
EXEC DBMS_XDB.SETHTTPPORT(0); COMMIT;
By default, the ability to interact with network services is disabled in Oracle Database 12c. Therefore, if you are running Oracle Application Express with Oracle Database 12c, you must use the new DBMS_NETWORK_ACL_ADMIN
package to grant connect privileges to any host for the APEX_040200
database user. Failing to grant these privileges results in issues with:
Sending outbound mail in Oracle Application Express.
Users can call methods from the APEX_MAIL
package, but issues arise when sending outbound email.
Using Web services in Oracle Application Express.
PDF report printing.
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 Oracle Database 12c already has the parameter set properly, but a database upgraded to Oracle Database 12c from a prior version may not. See "Creating and Configuring an Oracle Database" in Oracle Database Administrator's Guide for information about changing database initialization parameters.The examples below should be modified according to your environment and in a 12c multitenant architecture, should be run on each pluggable database (PDB).
The following example demonstrates how to grant connect privileges to any host for the APEX_040200
database user. This example assumes you connected to the database where Oracle Application Express is installed as SYS specifying the SYSDBA
role.
DECLARE ACL_PATH VARCHAR2(4000); BEGIN -- Look for the ACL currently assigned to '*' and give APEX_040200 -- the "connect" privilege if APEX_040200 does not have the privilege yet. SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', 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 is used to enable 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_040200 -- the "connect" privilege if APEX_040200 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_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; / COMMIT;
If you receive an ORA-44416: Invalid ACL
error after running the previous script, use the following query to identify the invalid ACL:
REM Show the dangling references to dropped users in the ACL that is assigned REM to '*'. SELECT ACL, PRINCIPAL FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND NACL.ACLID = ACE.ACLID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);
Next, run the following code to fix the ACL:
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); IF (CNT > 0) THEN FOR R IN (SELECT PRINCIPAL FROM XDS_ACE WHERE ACLID = ACL_ID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL)) LOOP UPDATE XDB.XDB$ACL SET OBJECT_VALUE = DELETEXML(OBJECT_VALUE, '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]') WHERE OBJECT_ID = ACL_ID; END LOOP; ELSE DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID; END IF; END; / REM commit the changes. COMMIT;
Once the ACL has been fixed, you must run the first script in this section to apply the ACL to the APEX_040200
user. See "Granting Connect Privileges".
Oracle highly recommends you configure and use a Secure Sockets Layer (SSL) to ensure that passwords and other sensitive data are not transmitted in clear text in HTTP requests. Without the use of SSL, passwords could potentially be exposed, compromising security.
SSL is an industry standard protocol that uses RSA public key cryptography in conjunction with symmetric key cryptography to provide authentication, encryption, and data integrity.
See Also:
"Requiring HTTPS" in Oracle Application Express Administration GuideThe Oracle Application Express interface is translated into German, Spanish, French, Italian, Japanese, Korean, Brazilian Portuguese, Simplified Chinese, and Traditional Chinese. A single instance of Oracle Application Express can be installed with one or more of these translated versions. At runtime, each user's Web browser language settings determine the specific language version.
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
.
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 theNLS_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 of directory, there is a language loading script identified by the language code (for example, load_de.sql
or load_ja.sql
).
To install a translated version of Oracle Application Express:
Set the NLS_LANG
environment variable, making sure that the character set is AL32UTF8
. For example:
Bourne or Korn shell:
NLS_LANG=American_America.AL32UTF8 export NLS_LANG
C shell:
setenv NLS_LANG American_America.AL32UTF8
For Windows based systems:
set NLS_LANG=American_America.AL32UTF8
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
Execute the following statement:
ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;
Execute the appropriate language specific script. For example:
@load_lang.sql
Where lang
is the specific language (for example, load_de.sql
for German or load_ja.sql for Japanese).
JOB_QUEUE_PROCESSES
determine the maximum number of concurrently running jobs. In Oracle Application Express release 4.2, transactional support and SQL scripts require jobs. If JOB_QUEUE_PROCESSES
is not enabled and working properly, you cannot successfully execute a script.
There are currently three ways to view the number of JOB_QUEUE_PROCESSES
:
In the installation log file
On the About Application Express page in Oracle Application Express
From SQL*Plus
After installing or upgrading Oracle Application Express to release 4.2, you can view the number of JOB_QUEUE_PROCESSES
in the installation log files. See "Reviewing a Log of an Installation Session".
You can also view the number of JOB_QUEUE_PROCESSES
on the About Application Express page.
To view the About Application Express page:
Log in to Oracle Application Express. See "Logging in to Your Oracle Application Express Workspace".
On the Administration list, click About Application Express.
The current number JOB_QUEUE_PROCESSES
displays at the bottom of the page.
You can change the number of JOB_QUEUE_PROCESSES
by running a SQL statement in SQL*Plus:
To update the number of JOB_QUEUE_PROCESSES
:
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
On UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
In SQL*Plus run the following SQL statement:
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number>
For example, running the statement ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20
sets JOB_QUEUE_PROCESSES
to 20.
The embedded PL/SQL gateway uses the shared server architecture of the Oracle Database. To achieve acceptable performance when using the embedded PL/SQL gateway, ensure the SHARED_SERVERS
database initialization parameter is set to a reasonable value (that is, not 0
or 1
). For a small group of concurrent users, Oracle recommends a value of 5
for SHARED_SERVERS
.
Consider the following example:
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Run the following statement:
ALTER SYSTEM SET SHARED_SERVERS = 5 SCOPE=BOTH;
You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirements".
A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.
An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.
See Also:
Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application ExpressTo create an Oracle Application Express workspace manually:
Log in to Oracle Application Express Administration Services. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. You log in using the ADMIN
account and password created or reset during the installation process.
In a Web browser, navigate to the Oracle Application Express Administration Services application.
Because your setup uses the embedded PL/SQL gateway, go to:
http://hostname:port/apex/apex_admin
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 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.
On the Login page:
In Username, enter admin
.
In Password, enter the Oracle Application Express administrator account password you specified when you installed Oracle Application Express.
Click Login.
See Also:
See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.Next, create a workspace.
Click Manage Workspaces.
Under Manage Workspaces, click Create Workspace.
The Create Workspace Wizard appears.
For Identify Workspace, enter a workspace name and description and click Next.
For Identify Schema, select the Oracle Forms application schema.
For Re-use existing schema, select Yes.
Select a schema from the list.
Click Next.
For Identify Administrator, enter the Workspace administrator information and click Next.
Confirm your selections and click Create.
To create an Oracle Application Express user account:
Log in to Oracle Application Express Administration Services as described in the previous section. See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.
Click Manage Workspaces.
Under Manage Workspaces, click Manage Developers and Users.
The Manage Developers and Users page appears.
Click Create.
The Create/Edit User page appears.
Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.
Tip:
To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.Under Password, type a case-sensitive password for this account.
If your organization has set up a password policy, be sure the password meets the requirements.
Under Developer Privileges, select the appropriate privileges:
User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.
Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.
User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.
In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.
Under Account Control, specify the following:
Account Availability - Select Unlocked to enable a user to log in to this account.
Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.
Click Create User or Create and Create Another.
Once you create a workspace, you must log in to it using your login credentials (that is, the workspace name, user name, and password).
See Also:
See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration GuideTo log in to a workspace:
In a Web browser, navigate to the Oracle Application Express Login page.
If your setup uses the embedded PL/SQL gateway, go to:
http://hostname:port/apex
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 multitenant architecture then each PDB will have a distinct port number.
apex
is the database access descriptor (DAD) defined in the configuration file.
For users who have upgraded from earlier releases, or who have a custom configuration, this value may be htmldb
or something else. Verify your DAD with your Oracle Application Express administrator.
The Login page appears.
Under Login, enter the following:
Workspace field - Enter the name of your workspace.
Username field - Enter your user name.
Password field - Enter your case-sensitive password.
Click Login.
Note that, depending on your setup, you might be required to change your password when you log in for the first time.
This section describes how to configure Oracle HTTP Server with mod_plsql
distributed with Oracle Database 12c.
Install the Oracle Database and Complete Pre-installation Tasks
Configure Oracle HTTP Server Distributed with Oracle Database 12c
Note:
Within the context of this section, the Oracle home directory (ORACLE_HTTPSERVER_HOME
) is the location where Oracle HTTP Server is installed.Oracle Application Express automatically installs with Oracle Database 11g and later. To learn more about installing the Oracle Database, see the Oracle Database Installation Guide for your operating environment and "Recommended Pre-installation Tasks".
Perform these post installation steps if all of the following statements are true:
You are using a version of Oracle Application Express that installs with Oracle Database 12c or later.
You are not upgrading from a previous release. This is a new installation of Oracle Application Express.
You are running Oracle HTTP Server distributed with Oracle Database 12c.
This section contains the following topics:
Note:
Within the context of this section, the Oracle home directory (ORACLE_HTTPSERVER_HOME
) is the location where Oracle HTTP Server is installed.First, change the password for the Oracle Application Express ADMIN account. In the multitenant architecture, this should only be done in the pluggable database (PDB) to be configured and never in the CDB$ROOT
container.
Tip:
If you are upgrading from a prior release of Oracle Application Express, this step is unnecessary.To change the password for the ADMIN
account:
Change your working directory to ORACLE_BASE\ORACLE_HOME\apex
or whatever convention used to indicate the Oracle home.
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS. 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
If running in the Oracle Database 12c multitenant architecture, set the container to the PDB to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
Run apxchpwd.sql
. For example:
@apxchpwd.sql
When prompted enter a password for the ADMIN account.
When configuring Oracle HTTP Server for Oracle Application Express in a new installation, the database user APEX_PUBLIC_USER
must be an unlocked account. To unlock the account for database user APEX_PUBLIC_USER,
execute the following steps:
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS
. 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
Run the following statement:
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
In order to specify the password in the DAD
file, you have to change the password for the database user APEX_PUBLIC_USER
. Please use the following steps to change the password for the APEX_PUBLIC_USER
database user:
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS
. 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
Run the following statement:
SQL> PASSWORD APEX_PUBLIC_USER Changing password for APEX_PUBLIC_USER New password: password Retype new password: password
In the default profile in Oracle Database 12c, the parameter PASSWORD_LIFE_TIME
is set to 180. If you are using Oracle Database 12c with Oracle Application Express, this causes the password for APEX_PUBLIC_USER
to expire in 180 days. As a result, your Oracle Application Express instance will become unusable until you change the password.
To prevent this behavior, create another profile in which the PASSWORD_LIFE_TIME
parameter is set to unlimited and alter the APEX_PUBLIC_USER
account and assign it the new profile.
To create a profile where the password does not expire in a non-CDB, follow these steps:
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS
. 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
Run the following statement:
SQL> create profile c##apex_pub_profile LIMIT PASSWORD_LIFE_TIME UNLIMITED; alter user APEX_PUBLIC_USER profile c##apex_pub_profile;
See Also:
Oracle Database Security Guide for information on creating profiles and assigning them to database users.To create a profile where the password does not expire in a CDB, follow these steps:
Start SQL*Plus and connect to CDB$ROOT of the database where Oracle Application Express is installed as SYS. 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
Run the following statement:
SQL> create profile c##apex_pub_profile LIMIT PASSWORD_LIFE_TIME UNLIMITED; alter user APEX_PUBLIC_USER profile c##apex_pub_profile;
See Also:
Oracle Database Security Guide for information on creating profiles and assigning them to database users.Whether you are loading a new installation or upgrading from a previous release, you must copy the images
directory from the top level of the apex\images
directory to the location on the file system containing the Oracle home for Oracle HTTP Server.
During an upgrade, to ensure that you can revert to the previous version, rename your existing images directory for Oracle Application Express, indicating the release number of the images.
To locate the images
directory on the file system, review the following files for the text alias /i/
:
Oracle HTTP Server distributed Oracle9i Release 2—see the httpd.conf
file.
Oracle Application Server 10g—see the marvel.conf
or dads.conf
files.
Oracle HTTP Server distributed with Oracle Database 11g or 12c —see the marvel.conf
or dads.conf
files.
When you locate the images directory path, rename the existing images directory to a backup location. Doing so enables you to revert to the previous release, if that becomes necessary.
Use the following command syntax to copy the apex\images
directory from the Oracle Database home to a path in the Oracle HTTP Server home:
Oracle HTTP Server distributed with Oracle Database 12c:
On Windows:
xcopy /E /I ORACLE_HOME\apex\images ORACLE_HTTPSERVER_HOME\user_projects\domains\base_domain\images
On UNIX and Linux:
cp -rf $ORACLE_HOME/apex/images ORACLE_HTTPSERVER_HOME/user_projects/domains/base_domain
In the preceding syntax examples:
ORACLE_HOME
is the Oracle Database 12c Oracle home
ORACLE_HTTPSERVER_HOME
is the existing Oracle Application Server or Oracle HTTP Server Oracle home
Perform the following post installation steps if:
You are running Oracle HTTP Server 12c.
Oracle HTTP Server is installed in an Oracle home.
Note:
Within the context of this document,ORACLE_HTTPSERVER_HOME
is the location where Oracle HTTP Server is installed.If this is a new installation of Oracle Application Express, you must edit the dads.conf
file. The dads.conf
file contains the information about the DAD to access Oracle Application Express.
To edit the dads.conf
file:
Use a text editor and open the dads.conf.
Oracle HTTP Server distributed with Oracle Database 12c:
On Windows see:
ORACLE_HTTPSERVER_HOME\user_projects\domains\base_domain\config\fmwconfig\components\OHS\instances\ohs1\mod_plsql\dads.conf
On UNIX and Linux see:
ORACLE_HTTPSERVER_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/ohs1/mod_plsql/dads.conf
Note:
In the examples above, ohs1 refers to the name of the Oracle HTTP Server instance. When running the Oracle HTTP Server Configuration Wizard, the default name is ohs1. It may have been changed to a name other than ohs1.In the dads.conf
file, replace ORACLE_HTTPSERVER_HOME
, host
, port
, service_name
, and apex_public_user_password
with values appropriate for your environment. Note that the apex_public_user_password
is the password you changed in "Change the Password for the APEX_PUBLIC_USER Database User". Also note that the service_name
should be the service name of the PDB if configuring a multitenant architecture. It should never be the service_name
of the CDB$ROOT
container.
Note that the path listed is only an example. The path in the dads.conf file should reference the file system path described in "Copy the Images Directory". Also, if your are configuring an Oracle Application Express instance in a multitenant architecture, be sure to use the service name of the pluggable database (PDB) to be enabled. Never use the service name of the CDB$ROOT
container.
Alias /i/ "ORACLE_HTTPSERVER_HOME/user_projects/domains/base_domain/images/" <Location /pls/apex> Order deny,allow PlsqlDocumentPath docs AllowOverride None PlsqlDocumentProcedure wwv_flow_file_mgr.process_download PlsqlDatabaseConnectString host:port:service_name ServiceNameFormat PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8 PlsqlAuthenticationMode Basic SetHandler pls_handler PlsqlDocumentTablename wwv_flow_file_objects$ PlsqlDatabaseUsername APEX_PUBLIC_USER PlsqlDefaultPage apex PlsqlDatabasePassword apex_public_user_password PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize Allow from all </Location>
Locate the line containing PlsqlNLSLanguage
.
The PlsqlNLSLanguage
setting determines the language setting of the DAD. The character set portion of the PlsqlNLSLanguage
value must be set to AL32UTF8
, regardless of whether or not the database character set is AL32UTF8
. For example:
... PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8 ...
Save and exit the dads.conf
file.
To stop and restart the Oracle HTTP Server, enter commands using the following syntax, where DOMAIN_HOME
is the path to the Oracle HTTP Server domain:
Linux:
$DOMAIN_HOME/bin/stopComponent.sh componentName
Windows:
%DOMAIN_HOME%\bin\stopComponent.cmd componentName
In a default installation, componentName
is ohs1 but may have been changed when running the Oracle HTTP Server Configuration Wizard.
By default, the ability to interact with network services is disabled in Oracle Database 12c Release 1 (12.1). Therefore, if you are running Oracle Application Express with Oracle Database 12c Release 1 (12.1), you must use the new DBMS_NETWORK_ACL_ADMIN
package to grant connect privileges to any host for the APEX_040200
database user. Failing to grant these privileges results in issues with:
Sending outbound mail in Oracle Application Express.
Users can call methods from the APEX_MAIL
package, but issues arise when sending outbound email.
Using Web services in Oracle Application Express.
PDF report printing.
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, Oracle Database 12c already has the parameter set properly, but a database upgraded to Oracle Database 12c from a prior version may not. See "Creating and Configuring an Oracle Database" in Oracle Database Administrator's Guide for information about changing database initialization parameters.The examples below should be modified according to your environment and in an Oracle Database 12c multitenant architecture, should be run on each PDB.
The following example demonstrates how to grant connect privileges to any host for the APEX_040200
database user. This example assumes you connected to the database where Oracle Application Express is installed as SYS
specifying the SYSDBA
role.
DECLARE ACL_PATH VARCHAR2(4000); BEGIN -- Look for the ACL currently assigned to '*' and give APEX_040200 -- the "connect" privilege if APEX_040200 does not have the privilege yet. SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', 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 is used to enable 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_040200 -- the "connect" privilege if APEX_040200 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_040200', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_040200', 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_040200', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; / COMMIT;
If you receive an ORA-44416: Invalid ACL
error after running the previous script, use the following query to identify the invalid ACL:
REM Show the dangling references to dropped users in the ACL that is assigned REM to '*'. SELECT ACL, PRINCIPAL FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND NACL.ACLID = ACE.ACLID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);
Next, run the following code to fix the ACL:
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); IF (CNT > 0) THEN FOR R IN (SELECT PRINCIPAL FROM XDS_ACE WHERE ACLID = ACL_ID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL)) LOOP UPDATE XDB.XDB$ACL SET OBJECT_VALUE = DELETEXML(OBJECT_VALUE, '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]') WHERE OBJECT_ID = ACL_ID; END LOOP; ELSE DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID; END IF; END; / REM commit the changes. COMMIT;
Once the ACL has been fixed, you must run the first script in this section to apply the ACL to the APEX_040200
user. See "Granting Connect Privileges".
Oracle highly recommends you configure and use Secure Sockets Layer (SSL) to ensure that passwords and other sensitive data are not transmitted in clear text in HTTP requests. Without the use of SSL, passwords could potentially be exposed, compromising security.
SSL is an industry standard protocol that uses RSA public key cryptography in conjunction with symmetric key cryptography to provide authentication, encryption, and data integrity.
See Also:
"Requiring HTTPS" in Oracle Application Express Administration GuideThe Oracle Application Express interface is translated into German, Spanish, French, Italian, Japanese, Korean, Brazilian Portuguese, Simplified Chinese, and Traditional Chinese. A single instance of Oracle Application Express can be installed with one or more of these translated versions. At runtime, each user's Web browser language settings determine the specific language version.
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
.
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 theNLS_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 of directory, there is a language loading script identified by the language code (for example, load_de.sql
or load_ja.sql
).
To install a translated version of Oracle Application Express:
Set the NLS_LANG
environment variable, making sure that the character set is AL32UTF8
. For example:
Bourne or Korn shell:
NLS_LANG=American_America.AL32UTF8 export NLS_LANG
C shell:
setenv NLS_LANG American_America.AL32UTF8
For Windows based systems:
set NLS_LANG=American_America.AL32UTF8
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Execute the following statement:
ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;
Execute the appropriate language specific script. For example:
@load_lang.sql
Where lang
is the specific language (for example, load_de.sql
for German or load_ja.sql
for Japanese).
JOB_QUEUE_PROCESSES
determine the maximum number of concurrently running jobs. In Oracle Application Express release 4.2, transactional support and SQL scripts require jobs. If JOB_QUEUE_PROCESSES
is not enabled and working properly, you cannot successfully execute a script.
There are currently three ways to view the number of JOB_QUEUE_PROCESSES
:
In the installation log file
On the About Application Express page in Oracle Application Express
From SQL*Plus
After installing or upgrading Oracle Application Express to release 4.2, you can view the number of JOB_QUEUE_PROCESSES
in the installation log files. See "Reviewing a Log of an Installation Session".
You can also view the number of JOB_QUEUE_PROCESSES
on the About Application Express page.
To view the About Application Express page:
Log in to Oracle Application Express. See "Logging in to Your Oracle Application Express Workspace".
On the Administration list, click About Application Express.
The current number JOB_QUEUE_PROCESSES
displays at the bottom of the page.
You can change the number of JOB_QUEUE_PROCESSES
by running a SQL statement in SQL*Plus:
To update the number of JOB_QUEUE_PROCESSES
:
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
On UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
In SQL*Plus run the following SQL statement:
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number>
For example, running the statement ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20
sets JOB_QUEUE_PROCESSES
to 20.
The PlsqlDatabasePassword
parameter specifies the password for logging in to the database. You can use the dadTool.pl
utility to obfuscate passwords in the dads.conf
file.
You can find the dadTool.pl
utility in the following directory:
For UNIX and Linux based systems:
ORACLE_BASE/ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf
For Windows based systems:
ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf
You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirements".
A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.
An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.
See Also:
Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application ExpressTo create an Oracle Application Express workspace manually:
Log in to Oracle Application Express Administration Services. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. You log in using the ADMIN
account and password created or reset during the installation process.
If your setup uses Apache and mod_plsql
, go to:
http://hostname:port/pls/apex/apex_admin
Where:
hostname
is the name of the system where Oracle HTTP Server is installed.
port
is the port number assigned to HTTP on the Oracle HTTP Server. In a default installation, this number is 7777.
pls
is the indicator to use the mod_plsql
cartridge.
apex
is the database access descriptor (DAD) defined in the mod_plsql
configuration file.
See Also:
See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.Next, create a workspace.
Click Manage Workspaces.
Under Manage Workspaces, click Create Workspace.
The Create Workspace Wizard appears.
For Identify Workspace, enter a workspace name and description and click Next.
For Identify Schema, select the Oracle Forms application schema.
For Re-use existing schema, select Yes.
Select a schema from the list.
Click Next.
For Identify Administrator, enter the Workspace administrator information and click Next.
Confirm your selections and click Create.
To create an Oracle Application Express user account:
Log in to Oracle Application Express Administration Services as described in the previous section. See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.
Click Manage Workspaces.
Under Manage Workspaces, click Manage Developers and Users.
The Manage Developers and Users page appears.
Click Create.
The Create/Edit User page appears.
Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.
Tip:
To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.Under Password, type a case-sensitive password for this account.
If your organization has set up a password policy, be sure the password meets the requirements.
Under Developer Privileges, select the appropriate privileges:
User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.
Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.
User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.
In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.
Under Account Control, specify the following:
Account Availability - Select Unlocked to enable a user to log in to this account.
Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.
Click Create User or Create and Create Another.
Once you create a workspace, you must log in to it using your login credentials (that is, the workspace name, user name, and password).
See Also:
See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration GuideTo log in to a workspace:
In a Web browser, navigate to the Oracle Application Express Login page. By default, Oracle Application Express installs to the following location:
If your setup uses Oracle HTTP Server (Apache) and mod_plsql
, go to:
http://hostname:port/pls/apex
Where:
hostname
is the name of the system where Oracle HTTP Server is installed.
port
is the port number assigned to HTTP on the Oracle HTTP Server. In a default installation, this number is 7777. You can find information about your Oracle HTTP Server installation's port number from either of the following files:
ORACLE_BASE\ORACLE_HOME\install\portlist.ini ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
Be aware that if you change a port number, it is not updated in the portlist.ini
file. You can only rely on this file immediately after installation.
pls
is the indicator to use the mod_plsql
cartridge.
apex
is the database access descriptor (DAD) defined in the mod_plsql
configuration file.
For users who have upgraded from earlier releases, or who have a custom configuration, this value may be htmldb
or something else. Verify your DAD with your Oracle Application Express administrator.
The Login page appears.
Under Login, enter the following:
Workspace field - Enter the name of your workspace.
Username field - Enter your user name.
Password field - Enter your case-sensitive password.
Click Login.
Note that, depending on your setup, you might be required to change your password when you log in for the first time.
Once you have verified that your upgrade installation was successful and all upgraded applications function properly, you should remove schemas from prior Oracle Application Express installations.
The database users associated with schemas from prior installations are privileged users and should be removed when they are no longer necessary. Removing schemas from a prior installation is a two step process. First you verify if a prior installation exists and then you remove the schemas.
To verify if prior installations exist:
Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS
. 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
If running in the Oracle Database 12c multitenant architecture, set the container to the PDB to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
Run the following query:
SELECT username FROM dba_users WHERE (username LIKE 'FLOWS_%' OR USERNAME LIKE 'APEX_%') AND USERNAME NOT IN ( SELECT 'FLOWS_FILES' FROM DUAL UNION SELECT 'APEX_PUBLIC_USER' FROM DUAL UNION SELECT SCHEMA s 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.
To remove schemas from prior installations:
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the PDB to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
Execute a statement connected similar to the following example:
DROP USER FLOWS_030000 CASCADE;
After following the instructions in"Remove Prior Oracle Application Express Installations", you may need to fix an invalid ACL if you are running Oracle Database 12c and you enabled network services for the prior Oracle Application Express schema.
To fix an invalid ACL:
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
If running in the Oracle Database 12c multitenant architecture, set the container to the pluggable database (PDB) to be configured:
ALTER SESSION SET CONTAINER = <PDB_name>;
Execute a statement similar to following:
EXEC DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE('power_users.xml', 'FLOWS_030000');
The Oracle Application Express runtime environment enables you to run production applications. It includes only the packages necessary to run your applications, making it a more hardened environment. It does not provide a Web interface for administration.
You administer the Oracle Application Express runtime environment using SQL*Plus or SQL Developer and the APEX_INSTANCE_ADMIN
API. To learn more see, "Managing a Runtime Environment" and in Oracle Application Express Application Builder User's Guide.
Convert a Runtime Environment to a Full Development Environment - Oracle Database 12c Non-CDB
Convert a Full Development Environment to a Runtime Environment - Oracle Database 12c Non-CDB
To convert an Oracle Application Express runtime environment to a full development environment:
Change your working directory to $ORACLE_HOME/apex
.
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Run apxdvins.sql
. For example:
@apxdvins
See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*PlusTo convert an Oracle Application Express runtime environment to a full development environment in an Oracle Databases 12c multitenant architecture where Oracle Application Express is installed in the CDB$ROOT
:
Change your working directory to $ORACLE_HOME/apex
.
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Run apxdvins_con.sql
. For example:
@apxdvins_con.sql
To convert an Oracle Application Express full development environment to a runtime environment in an Oracle Database 12c non-CDB (standalone):
Change your working directory to $ORACLE_HOME/apex
.
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Run apxdevrm.sql
. For example:
@apxdevrm
Follow the instructions in "Change the Password for the ADMIN Account".
See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*PlusTo convert an Oracle Application Express full development environment to a runtime environment in Oracle Database 12c multitenant architecture with Oracle Application Express installed in CDB$ROOT
:
Change your working directory to $ORACLE_HOME/apex
.
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:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
Run apxdevrm_con.sql
. For example:
@apxdevrm_con.sql
Follow the instructions in "Change the Password for the ADMIN Account".