Oracle® Application Express

Installation Guide

Release 4.2

E35123-05

March 2013

Oracle Application Express Installation Guide, Release 4.2

E35123-05

Copyright © 2003, 2013, Oracle and/or its affiliates. All rights reserved.

Primary Author:   Drue Swadener

Contributors:  Terri Jennings, Christina Cho, Joel Kallman, David Peake, Jason Straub

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, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. 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 Xeon 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, Opteron, the AMD logo, and the AMD Opteron 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 on 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. 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.

Contents

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

- Third-Party License Information

Changes in This Release

- Changes in Oracle Application Express Release 4.2

1 Oracle Application Express Installation Overview

- 1.1 Overview of the Installation Process

- 1.2 Upgrading from a Previous Release of Oracle Application Express

- 1.3 About the Oracle Application Express Runtime Environment

- 1.4 About Choosing a Web Listener

- 1.4.1 About Oracle Application Express Listener and Oracle HTTP Server with mod_plsql

- 1.4.2 About the Embedded PL/SQL Gateway

- 1.4.3 Selecting a Web Listener in an Oracle RAC Environment

- 1.5 Available Installation Scenarios

- 1.5.1 Scenario 1: Downloading from OTN and Configuring the Oracle Application Express Listener

- 1.5.2 Scenario 2: Downloading from OTN and Configuring the Embedded PL/SQL Gateway

- 1.5.3 Scenario 3: Downloading from OTN and Configuring Oracle HTTP Server

2 Oracle Application Express Installation Requirements

- 2.1 Oracle Database Requirement

- 2.1.1 Checking the shared_pool_size of the Target Database

- 2.2 Browser Requirements

- 2.3 Web Listener Requirements

- 2.4 Disk Space Requirement

- 2.5 Oracle XML DB Requirement

- 2.6 PL/SQL Web Toolkit

3 Downloading from Oracle Technology Network

- 3.1 Recommended Pre-installation Tasks

- 3.2 Choosing a Web Listener

- 3.3 Downloading from OTN and Configuring Oracle Application Express Listener

- 3.3.1 Install the Oracle Database and Complete Pre-installation Tasks

- 3.3.2 Download and Install Oracle Application Express

- 3.3.3 Change the Password for the ADMIN Account

- 3.3.4 Restart Processes

- 3.3.5 Configure APEX_PUBLIC_USER Account

- 3.3.6 Download and Install Oracle Application Express Listener

- 3.3.7 Configure RESTful Services

- 3.3.8 Enable Network Services in Oracle Database 11g

- 3.3.9 Security Considerations

- 3.3.10 About Managing JOB_QUEUE_PROCESSES

- 3.3.11 About Developing Oracle Application Express in Other Languages

- 3.3.12 Create a Workspace and Add Oracle Application Express Users

- 3.4 Downloading from OTN and Configuring the Embedded PL/SQL Gateway

- 3.4.1 Install the Oracle Database and Complete Pre-installation Tasks

- 3.4.2 Download and Install Oracle Application Express

- 3.4.3 Change the Password for the ADMIN Account

- 3.4.4 Configure the Embedded PL/SQL Gateway

- 3.4.5 Enable Network Services in Oracle Database 11g

- 3.4.6 Security Considerations

- 3.4.7 About Managing JOB_QUEUE_PROCESSES

- 3.4.8 About Running Oracle Application Express in Other Languages

- 3.4.9 Configuring the SHARED_SERVERS Parameter

- 3.4.10 Create a Workspace and Add Oracle Application Express Users

- 3.5 Downloading from OTN and Configuring Oracle HTTP Server

- 3.5.1 Install the Oracle Database and Complete Pre-installation Tasks

- 3.5.2 Download and Install Oracle Application Express

- 3.5.3 Change the Password for the ADMIN Account

- 3.5.4 Restart Processes

- 3.5.5 Configure Oracle HTTP Server Distributed with Oracle Database 11g or Oracle Application Server 10g

- 3.5.6 Enable Network Services in Oracle Database 11g

- 3.5.7 Security Considerations

- 3.5.8 About Managing JOB_QUEUE_PROCESSES

- 3.5.9 About Running Oracle Application Express in Other Languages

- 3.5.10 About Obfuscating PlsqlDatabasePassword Parameter

- 3.5.11 Create a Workspace and Add Oracle Application Express Users

- 3.6 Post Installation Tasks for Upgrade Installations

- 3.6.1 Remove Prior Oracle Application Express Installations

- 3.6.2 Fix Invalid ACL in Oracle Database 11g

- 3.7 Performance Optimization Tasks

- 3.8 About the Oracle Application Express Runtime Environment

- 3.8.1 Converting a Runtime Environment to a Full Development Environment

- 3.8.2 Converting a Full Development Environment to a Runtime Environment

A Oracle Application Express Troubleshooting

- A.1 Reviewing a Log of an Installation Session

- A.2 Verifying the Validity of an Oracle Application Express Installation

- A.3 Cleaning Up After a Failed Installation

- A.3.1 Reverting to a Previous Release After a Failed Upgrade Installation

- A.3.2 Removing Oracle Application Express from the Database

- A.4 Images Displaying Incorrectly in Oracle Application Express

- A.5 Page Protection Violation

Index

Preface

This guide explains how to install and configure Oracle Application Express.

This Preface contains these topics:

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

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

Related Documents

For more information, see these Oracle resources:

- Oracle Application Express Release Notes

- Oracle Database 2 Day + Oracle Application Express Developer's Guide

- Oracle Application Express Application Builder User's Guide

- Oracle Application Express Administration Guide

- Oracle Application Express SQL Workshop Guide

- Oracle Application Express API Reference

- Oracle Application Migration Guide

- Oracle Application Express End User's Guide

- Oracle Database Concepts

- Oracle HTTP Server Administrator's Guide

- Oracle Database Advanced Application Developer's Guide

- Oracle Database Administrator's Guide

- Oracle Database SQL Language Reference

- SQL*Plus User's Guide and Reference

- Oracle Database Licensing Information

- Oracle Application Express Listener Installation and Developer Guide

For information about Oracle error messages, see Oracle Database Error Messages. Oracle error message documentation is available only in HTML. If you have access to the Oracle Database Documentation Library, you can browse the error messages by range. Once you find the specific range, use your browser's "find in page" feature to locate the specific message. When connected to the Internet, you can search for a specific error message using the error message search feature of the Oracle online documentation.

Many books in the documentation set use the sample schemas of the seed database, which is installed by default when you install Oracle. Refer to Oracle Database Sample Schemas for information on how these schemas were created and how you can use them yourself.

For additional application examples, go to the Learning Library. Search for free online training content, including Oracle by Example (OBE), demos, and tutorials. To access the Oracle Learning Library, go to:

http://www.oracle.com/technetwork/tutorials/index.html

Printed documentation is available for sale in the Oracle Store at

http://shop.oracle.com/

If you already have a user name and password for OTN, then you can go directly to the documentation section of the OTN Web site at

http://www.oracle.com/technology/documentation/

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.

Third-Party License Information

Oracle Application Express contains third-party code. Please see the Oracle Database Licensing Information book for notices Oracle is required to provide.

Note, however, that the Oracle program license that accompanied this product determines your right to use the Oracle program, including the third-party software, and the terms contained in the following notices do not change those rights.

Changes in This Release

This preface contains:

- Changes in Oracle Application Express Release 4.2

Changes in Oracle Application Express Release 4.2

The following are changes in Oracle Application Express Installation Guide for Oracle Application Express release 4.2.

New Features

The following features are new in this release:

- RESTful Web Services
In SQL Workshop you can now define RESTful Web Service calls from the database. These definitions combined with the Oracle Application Express Listener 2.0 enables the database to emit RESTful Web Services rather than just being able to consume Web Services. See "Using RESTful Services" in Oracle Application Express SQL Workshop Guide

RESTful Services require the installation of Application Express Listener release 2.0. See "Configure RESTful Services".

The instance administrator enables RESTful Services for this Application Express instance. See "Configuring SQL Workshop" in Oracle Application Express Administration Guide.

Other Changes

The following are additional changes in the release:

- All content has been updated to reflect new functionality.

- Screen captures and graphics have been added and updated to reflect Oracle Application Express release 4.2 user interface enhancements.

- Browser Requirements have changed. See "Browser Requirements".

- Microsoft Internet Explorer 7.0 or later is now supported.

- Mozilla Firefox 14 or later is now required.

- Google Chrome 21 or later is now required.

1 Oracle Application Express Installation Overview

This chapter provides an overview of installing Oracle Application Express and describes issues to consider before installing.

Topics:

- Overview of the Installation Process

- Upgrading from a Previous Release of Oracle Application Express

- About the Oracle Application Express Runtime Environment

- About Choosing a Web Listener

- Available Installation Scenarios

1.1 Overview of the Installation Process

The installation process involves the following:

1. Plan your installation: This chapter offers an overview of the steps required to install Oracle Application Express. During the planning phase, you should determine whether to install a full development environment or runtime environment. You should also determine which Web Listener to use. Available options include the Oracle Application Express Listener, the embedded PL/SQL gateway, or Oracle HTTP Server and mod_plsql.
A full development environment provides complete access to the Application Builder environment to develop applications. A runtime environment is an appropriate choice for production implementations in which you want to run applications that cannot be modified. To learn more, see "About the Oracle Application Express Runtime Environment".

2. Verify installation requirements: "Oracle Application Express Installation Requirements" describes the minimum requirements that your system must meet before you install the software.

3. Install the software: The required installation steps depend upon which Web Listener you decide to use.

1.2 Upgrading from a Previous Release of Oracle Application Express

If you have release 1.5.x, 1.6.x, 2.0.x, 2.2.x, 3.0.x, 3.1.x, 3.2.x, 4.0x or 4.1x of Oracle Application Express, following any of the installation scenarios in this guide upgrades your Oracle Application Express instance to release 4.2 and creates Oracle Application Express 4.2 database objects in a new schema and migrates the application metadata to the new release.

1.3 About the Oracle Application Express Runtime Environment

For testing and production instances, Oracle Application Express supports the ability to install just a runtime version of Oracle Application Express. This runtime environment minimizes the installed footprint and privileges and improves application security since in a runtime instance developers cannot inadvertently update a production application.

An Oracle Application Express runtime environment enables you to run production applications, but it does not provide a Web interface for administration. A runtime environment only includes the packages necessary to run your application, making it a more hardened environment. 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" in Oracle Application Express Application Builder User's Guide.

Scripts are provided to remove or add the developer interface from an existing instance. To learn more, see "About the Oracle Application Express Runtime Environment".

1.4 About Choosing a Web Listener

In order to receive and respond to requests over the Internet, Oracle Application Express uses one of the following three web listeners, Oracle Application Express Listener, Oracle HTTP Server with mod_plsql,or the embedded PL/SQL gateway.

For further information on selecting the best web listener, please review the Oracle Application Express Deployment page on Oracle Technology Network (OTN):

http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-deploy-installation-1878444.html#listener

Topics:

- About Oracle Application Express Listener and Oracle HTTP Server with mod_plsql

- About the Embedded PL/SQL Gateway

- Selecting a Web Listener in an Oracle RAC Environment

1.4.1 About Oracle Application Express Listener and Oracle HTTP Server with mod_plsql

Oracle Application Express Listener communicates directly with the Oracle Application Express engine. Oracle HTTP Server uses the mod_plsql plug-in to communicate with the Oracle Application Express engine within the Oracle database. Oracle Application Express Listener and the Oracle HTTP Server function as communication brokers between the Web server and the Oracle Application Express objects in the Oracle database. More specifically, they map browser requests into database stored procedure calls over a SQL*Net connection. The following graphic illustrates the Oracle Application Express architecture using the Oracle Application Express Listener.

See Also:
"Web Listener Requirements"

Note this three tier architecture consists of the following components:

- Web browser

- Oracle Application Express Listener or Oracle HTTP Server with mod_plsql

- Oracle database containing Oracle Application Express

The major advantage of Oracle Application Express Listener or Oracle HTTP Server (Apache) with mod_plsql is the separation of the mid-tier and the database tier. Note that this architecture is appropriate for Oracle Real Application Clusters (Oracle RAC) environments. See "Selecting a Web Listener in an Oracle RAC Environment".

1.4.1.1 Where Images Are Stored When Using Oracle HTTP Server

In an Oracle HTTP Server or Oracle Application Server configuration, images are stored on the file system in the location referenced by the alias /i/. If you are upgrading Oracle Application Express from a prior release, you can locate the images directory on the file system, by reviewing the following files and searching for the text alias /i/:

- Oracle HTTP Server distributed with Oracle Database 11g release 1 and later — see the dads.conf file.

- Oracle Application Server 10g—see the marvel.conf file.

Specific examples for locating the text alias /i/ can be found in "Downloading from Oracle Technology Network" on page 3-1.

1.4.2 About the Embedded PL/SQL Gateway

Oracle XML DB Protocol Server with the embedded PL/SQL gateway installs with Oracle Database. It provides the Oracle database with a Web server and also the necessary infrastructure to create dynamic applications. The embedded PL/SQL gateway runs in the Oracle XML DB Protocol server in the Oracle database and includes the core features of mod_plsql. The following graphic illustrates the Oracle Application Express architecture using the embedded PL/SQL gateway.

As shown in the previous graphic, the embedded PL/SQL gateway consists of a simple two tier architecture: a Web browser and an Oracle database containing the embedded PL/SQL gateway and Oracle Application Express.

Advantages of the embedded PL/SQL gateway include:

- Ease of configuration

- Included in the database

- No separate server installation

1.4.2.1 Security Considerations When Using the Embedded PL/SQL Gateway

The embedded PL/SQL gateway runs in the database as part of the XML DB HTTP Protocol Listener. Because the HTTP Listener runs in the same database where Oracle Application Express is installed, it is not possible to separate the HTTP listener from the database. For this reason, Oracle does not recommend the use of the embedded PL/SQL gateway for applications that run on the Internet.

1.4.2.2 Where Images Are Stored When Using the Embedded PL/SQL Gateway

When running Oracle Application Express with the embedded PL/SQL gateway, images are stored directly in the database within the Oracle XML DB repository. You can access images by using the WebDAV feature of Oracle XML DB or by using FTP. To learn more, see "Accessing the Repository Using Protocols" in Oracle XML DB Developer's Guide.

1.4.3 Selecting a Web Listener in an Oracle RAC Environment

When running Oracle Application Express in an Oracle Real Application Clusters (Oracle RAC) environment, Oracle recommends that you use Oracle Application Express Listener or Oracle HTTP Server with mod_plsql. Oracle Application Express Listener or Oracle HTTP Server with mod_plsql permit you to specify a connection in the service name format, so that one HTTP Server can access all nodes.

Oracle recommends that you do not select the embedded PL/SQL gateway option for Oracle RAC installations. The embedded PL/SQL gateway uses an HTTP Server built into the database instance, and because of this, it does not take advantage of the Oracle RAC shared architecture.

1.5 Available Installation Scenarios

How you install Oracle Application Express, depends on which web listener you decide to use. This section provides an overview of each installation scenario.

See Also:
"About Choosing a Web Listener" and "About the Oracle Application Express Runtime Environment"

Topics:

- Scenario 1: Downloading from OTN and Configuring the Oracle Application Express Listener

- Scenario 2: Downloading from OTN and Configuring the Embedded PL/SQL Gateway

- Scenario 3: Downloading from OTN and Configuring Oracle HTTP Server

1.5.1 Scenario 1: Downloading from OTN and Configuring the Oracle Application Express Listener

Follow the steps in this scenario if you are downloading Oracle Application Express from Oracle Technology Network (OTN) and configuring the Oracle Application Express Listener. Required installation steps in this scenario include:

- Step 1: Install the Oracle Database and Complete Pre-installation Tasks

- Step 2: Download and Install Oracle Application Express

- Step 3: Change the Password for the ADMIN Account

- Step 4: Configure RESTful Services

- Step 5: Restart Processes

- Step 6: Configure APEX_PUBLIC_USER Account

- Step 7: Download and Install Oracle Application Express Listener

- Step 8: Enable Network Services in Oracle Database 11g

- Step 9: Security Considerations

- Step 10: About Developing Oracle Application Express in Other Languages

- Step 11: About Managing JOB_QUEUE_PROCESSES

- Step 12: Create a Workspace and Add Oracle Application Express Users

1.5.2 Scenario 2: Downloading from OTN and Configuring the Embedded PL/SQL Gateway

Follow the steps in this scenario if you are downloading Oracle Application Express from Oracle Technology Network (OTN) and configuring the embedded PL/SQL gateway. Required installation steps in this scenario include:

- Step 1: Install the Oracle Database and Complete Pre-installation Tasks

- Step 2: Download and Install Oracle Application Express

- Step 3: Change the Password for the ADMIN Account

- Step 4: Configure the Embedded PL/SQL Gateway

- Step 5: Enable Network Services in Oracle Database 11g

- Step 6: Security Considerations

- Step 7: About Running Oracle Application Express in Other Languages

- Step 8: About Managing JOB_QUEUE_PROCESSES

- Step 9: Configuring the SHARED_SERVERS Parameter

- Step 10: Create a Workspace and Add Oracle Application Express Users

1.5.3 Scenario 3: Downloading from OTN and Configuring Oracle HTTP Server

Follow the steps in this scenario if you are downloading Oracle Application Express from Oracle Technology Network (OTN) and configuring Oracle HTTP Server with mod_plsql distributed with Oracle Database 11g or Oracle Application Server 10g. Required steps in this scenario include:

- Step 1: Install the Oracle Database and Complete Pre-installation Tasks

- Step 2: Download and Install Oracle Application Express

- Step 3: Change the Password for the ADMIN Account

- Step 4: Restart Processes

- Step 5: Configure Oracle HTTP Server Distributed with Oracle Database 11g or Oracle Application Server 10g

- Step 6: Enable Network Services in Oracle Database 11g

- Step 7: Security Considerations

- Step 8: About Running Oracle Application Express in Other Languages

- Step 9: About Managing JOB_QUEUE_PROCESSES

- Step 10: About Obfuscating PlsqlDatabasePassword Parameter

- Step 11: Create a Workspace and Add Oracle Application Express Users

2 Oracle Application Express Installation Requirements

This chapter describes the requirements for installing Oracle Application Express.

Topics:

- Oracle Database Requirement

- Browser Requirements

- Web Listener Requirements

- Disk Space Requirement

- Oracle XML DB Requirement

- PL/SQL Web Toolkit

2.1 Oracle Database Requirement

Oracle Application Express release 4.2 requires an Oracle database (Enterprise Edition, Standard Edition or Standard Edition One) that is Release 10.2.0.4 or higher. Oracle Application Express 4.2 can also be used with Oracle Database Express Edition 10g Release 2 and later. The Oracle HTTP Server is not included with the distribution of Oracle Database Express Edition.

Note:
You can upgrade the version of Oracle Application Express in Oracle Database Express Edition 10g Release 2 (10.2) and later, by installing Oracle Application Express release 4.2. For more information, see the Oracle Application Express Learn More page on the Oracle Technology Network (OTN).

2.1.1 Checking the shared_pool_size of the Target Database

Note:
Ignore this requirement if your configuration defines specific memory target values for the database initialization parameters SGA_TARGET (in Oracle Database 10g and 11g) or MEMORY_TARGET (in Oracle Database 11g).

Oracle Application Express requires the shared_pool_size of the target database to be at least 100 MB.

To check the shared_pool_size of the target database:

1. Start the database:

SQL> STARTUP

2. If necessary, enter the following command to determine whether the system uses an initialization parameter file (initsid.ora) or a server parameter file (spfiledbname.ora):

SQL> SHOW PARAMETER PFILE;

This command displays the name and location of the server parameter file or the initialization parameter file.

3. Determine the current values of the shared_pool_size parameter:

SQL> SHOW PARAMETER SHARED_POOL_SIZE

4. If the system is using a server parameter file, set the value of the SHARED_POOL_SIZE initialization parameter to at least 100 MB:

SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='100M' SCOPE=spfile;

5. If the system uses an initialization parameter file, change the value of the SHARED_POOL_SIZE parameter to at least 100 MB in the initialization parameter file (initsid.ora).

6. Shut down the database:

SQL> SHUTDOWN

7. Restart the database:

SQL> STARTUP

2.2 Browser Requirements

To run or develop Oracle Application Express applications, Web browsers must have JavaScript enabled. The following browsers are required to develop applications in Oracle Application Express:

- Microsoft Internet Explorer 7.0 or later

- Mozilla Firefox 14 or later

- Google Chrome 21 or later

- Apple Safari 5.0 or later

Oracle Application Express applications can be developed that support earlier Web browser releases, including Microsoft Explorer 6.0. Application Express has a number of advanced widgets, such as date pickers, which may not work correctly on earlier browsers.

2.3 Web Listener Requirements

In order to run Oracle Application Express you must have access to one of the following:

- Oracle Application Express Listener
Oracle Application Express Listener is a Java-based Web server. It features file system caching, offers improved file upload capability, and is certified with Oracle WebLogic Server, Oracle Glassfish Server, and OC4J.

- Embedded PL/SQL gateway
Oracle XML DB Protocol server with the embedded PL/SQL gateway installs with Oracle Database 11g Release 1. It provides the database with a Web server and the necessary infrastructure to create dynamic applications.

- Oracle HTTP Server and mod_plsql
Oracle HTTP Server uses the mod_plsql plug-in to communicate with the Oracle Application Express engine within the Oracle database.

The following products include appropriate versions of HTTP Server and mod_plsql:

- Oracle Database 10g Companion CD Release 2

- Oracle Database 11g Release 1 or 2

See Also:
"About Choosing a Web Listener"

2.4 Disk Space Requirement

Oracle Application Express disk space requirements are as follows:

- Free space for Oracle Application Express software files on the file system: 278 MB if using English only download (apex_4.2_en.zip) and 935 MB if using full download (apex_4.2.zip).

- Free space in Oracle Application Express tablespace: 275 MB

- Free space in SYSTEM tablespace: 100 MB

- Free space in Oracle Application Express tablespace for each additional language (other than English) installed: 60 MB

2.5 Oracle XML DB Requirement

Oracle XML DB must be installed in the Oracle database that you want to use. If you are using a preconfigured database created either during an installation or by Database Configuration Assistant (DBCA), Oracle XML DB is already installed and configured.

See Also:
Oracle XML DB Developer's Guide for more information about manually adding Oracle XML DB to an existing database

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.6 PL/SQL Web Toolkit

Oracle Application Express requires the PL/SQL Web Toolkit release 10.1.2.0.6 or later. For instructions on determining the current release of the PL/SQL Web Toolkit, and for instructions on installing release 10.1.2.0.6, please review the README.txt file contained in the directory apex/owa.

3 Downloading from Oracle Technology Network

This chapter describes how to install Oracle Application Express by downloading a ZIP file from Oracle Technology Network (OTN) and completing the appropriate post installation tasks.

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

Topics:

- Recommended Pre-installation Tasks

- Choosing a Web Listener

- Downloading from OTN and Configuring Oracle Application Express Listener

- Downloading from OTN and Configuring the Embedded PL/SQL Gateway

- Downloading from OTN and Configuring Oracle HTTP Server

- Post Installation Tasks for Upgrade Installations

- Performance Optimization Tasks

- About the Oracle Application Express Runtime Environment

Note:
Within the context of this document, the Apache Oracle home directory (ORACLE_HTTPSERVER_HOME) is the location where Oracle HTTP Server is installed.

3.1 Recommended Pre-installation Tasks

Before installing Oracle Application Express, Oracle recommends that you complete the following steps:

1. Review and satisfy all Oracle Application Express installation requirements. See "Oracle Application Express Installation Requirements".

2. Shut down with normal or immediate priority the Oracle Database instances where you plan to install Oracle Application Express. On Oracle Real Application Clusters (Oracle RAC) systems, shut down all instances on each node.
An alternative to shutting down the database is to prevent all users from accessing Oracle Application Express when upgrading your installation from a previous release of Oracle Application Express. Oracle only recommends this option in high availability production environments where planned outages are not available. For all other scenarios, the database should be shut down.

To disable access to Oracle Application Express when the existing installation is using the Application Express Listener, shut down the appropriate application server where the Application Express listener is deployed.

To disable user access to Oracle Application Express when the existing installation is using the Oracle HTTP Server with mod_plsql, you should either shut down the Web server or disable the Application Express Database Access Descriptor of the Web server.

For an existing installation using the embedded PL/SQL gateway, you should disable the Oracle XML DB Protocol Server by setting the HTTP port to 0. This can be accomplished by starting SQL*Plus, connecting as SYS to the database where Oracle Application Express is installed, and running:

EXEC DBMS_XDB.SETHTTPPORT(0);

Once you have prevented access from Oracle Application Express users, you should log into SQL*Plus as SYS, connecting to the database where Oracle Application Express is installed, and query V$SESSION to ensure there are no long running sessions which would interfere with the upgrade process.

3. Back up the Oracle Database installation.
Oracle recommends that you create a backup of the current Oracle Database installation before you install Oracle Application Express. You can use Oracle Database Recovery Manager, which is included in the Oracle Database installation, to perform the backup.

See Also:
Oracle Database Backup and Recovery User's Guide

4. 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 database listener for the remote database has started.

3.2 Choosing a Web Listener

In order to receive and respond to requests over the Internet, Oracle Application Express uses one of the following three web listeners, Oracle Application Express Listener, Oracle HTTP Server with mod_plsql,or the embedded PL/SQL gateway.

For further information on selecting the best web listener, please review the Oracle Application Express Deployment page on Oracle Technology Network (OTN):

http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-deploy-installation-1878444.html#listener

3.3 Downloading from OTN and Configuring Oracle Application Express Listener

This section describes how to install Oracle Application Express by downloading a ZIP file from OTN and then configuring the Oracle Application Express Listener.

Topics:

- Install the Oracle Database and Complete Pre-installation Tasks

- Download and Install Oracle Application Express

- Change the Password for the ADMIN Account

- Restart Processes

- Configure APEX_PUBLIC_USER Account

- Download and Install Oracle Application Express Listener

- Configure RESTful Services

- Enable Network Services in Oracle Database 11g

- Security Considerations

- About Managing JOB_QUEUE_PROCESSES

- About Developing Oracle Application Express in Other Languages

- Create a Workspace and Add Oracle Application Express Users

See Also:
"About the Oracle Application Express Runtime Environment"

3.3.1 Install the Oracle Database and Complete Pre-installation Tasks

Oracle Application Express requires an Oracle database that is Release 10.2.0.4 and later or Oracle Database 10g Express Edition. To learn more, see the Oracle Database Installation Guide for your operating environment and "Recommended Pre-installation Tasks".

3.3.2 Download and Install Oracle Application Express

To install Oracle Application Express:

1. For installations where the development will be in English only, download the file apex_4.2_en.zip from the Oracle Application Express download page. Where the development will include languages other than English, download apex_4.2.zip from the Oracle Application Express download page. See:

http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

Note that the actual file name may differ if a more recent release has shipped since this document was published.

2. Unzip downloaded zip file:

- If English only, unzip apex_4.2_en.zip as follows, preserving directory names:

- UNIX and Linux: $ unzip apex_4.2_en.zip

- Windows: Double click the file apex_4.2_en.zip in Windows Explorer

- If multiple languages, unzip apex_4.2.zip as follows, preserving directory names:

- UNIX and Linux: $ unzip apex_4.2.zip

- Windows: Double click the file apex_4.2.zip in Windows Explorer

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.

3. Change your working directory to apex.

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

5. Select the appropriate installation option.
Full development environment provides complete access to the Application Builder environment to develop applications. A Runtime environment enables users to run applications that cannot be modified. To learn more, see "About the Oracle Application Express Runtime Environment".

Available installation options include:

- Full development environment. Run apexins.sql passing the following four arguments in the order shown:

@apexins.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. To support future Oracle Application Express upgrades, define the virtual image directory as /i/.

Example:

@apexins.sql SYSAUX SYSAUX TEMP /i/

Note:
If you receive the following error, please 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"

- Runtime environment. Run apxrtins.sql passing the following arguments in the order shown:

@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. To support future Oracle Application Express upgrades, define the virtual image directory as /i/.

Example:

@apxrtins.sql SYSAUX SYSAUX TEMP /i/

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

When Oracle Application Express installs, it creates three new database accounts:

- APEX_040200 - The account that owns the Oracle Application Express schema and metadata.

- FLOWS_FILES - The account that owns the Oracle Application Express uploaded files.

- APEX_PUBLIC_USER - The minimally privileged account is used for Oracle Application Express configuration with Oracle Application Express Listener 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.

Tip:
Oracle Application Express must be installed from a writable directory on the file system. See "Reviewing a Log of an Installation Session".

3.3.3 Change the Password for the ADMIN Account

In a new installation of Oracle Application Express, or if you are converting a runtime environment to a development environment, you must change the password of the ADMIN account. In an upgrade scenario, the password will be preserved and carried over from the prior release. If you are unsure of the password for the ADMIN account in an existing installation you can run the commands below to reset the password.

Tip:
You use the ADMIN account to log in to Oracle Application Express Administration Services and manage an entire Oracle Application Express instance.

To change the password for the ADMIN account:

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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

3. Run apxchpwd.sql. For example:

@apxchpwd.sql

When prompted, enter a password for the ADMIN account.

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

3.3.4 Restart Processes

After you install Oracle Application Express, you must restart the processes that you stopped before you began the installation.

3.3.5 Configure APEX_PUBLIC_USER Account

It is important to correctly configure the APEX_PUBLIC_USER account to enable proper operation of Oracle Application Express.

3.3.5.1 Unlocking the APEX_PUBLIC_USER Account

The APEX_PUBLIC_USER account is locked at the end of a new installation of Oracle Application Express. You must unlock this account before configuring the database access descriptor (DAD) in a new installation.

Tip:
If you are upgrading from a prior release of Oracle Application Express, this step is unnecessary.

To unlock the APEX_PUBLIC_USER account:

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:

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

3.3.5.2 Changing the Password for the APEX_PUBLIC_USER Account

The APEX_PUBLIC_USER account is created with a random password in a new installation of Oracle Application Express. You must change the password for this account before configuring the database access descriptor (DAD) in a new installation.

Tip:
If you are upgrading from a prior release of Oracle Application Express, this step is unnecessary.

To change the password for the APEX_PUBLIC_USER account:

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:

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

3.3.5.2.1 About Password Expiration in Oracle Database 11g

In the default profile in Oracle Database 11g, the parameter PASSWORD_LIFE_TIME is set to 180. If you are using Oracle Database 11g 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 to the new profile.

See Also:
Oracle Database Security Guide for information on creating profiles and assigning them to database users.

3.3.6 Download and Install Oracle Application Express Listener

To download the Oracle Application Express Listener:

1. Download the latest release of the Oracle Application Express Listener, apex_listener.version.number.zip, from the Oracle Application Express download page. See:

http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html

Note that the version.number in the file name reflects the current release number.

2. Unzip the downloaded zip file into a directory (or folder) of your choice:

- UNIX and Linux: unzip apex_listener.version.number.zip

- Windows: Double-click the file apex_listener.version.number.zip in Windows Explorer

3. Locate the installation guide for Oracle Application Express Listener and follow instructions to complete installation and configuration steps.

3.3.6.1 Disabling Oracle XML DB Protocol Server

If you were previously using the embedded PL/SQL Gateway and now wish to use Oracle Application Express Listener, you need to disable the Oracle XML DB Protocol server.

To disable Oracle XML DB Protocol server:

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:

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

EXEC DBMS_XDB.SETHTTPPORT(0);

3.3.7 Configure RESTful Services

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 the Oracle Application Express Listener 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 Application Express Listener 2.0 or later.

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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

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

3.3.8 Enable Network Services in Oracle Database 11g

By default, the ability to interact with network services is disabled in Oracle Database 11g Release 1 or 2. Therefore, if you are running Oracle Application Express with Oracle Database 11g Release 1 or 2, 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.

Topics:

- Granting Connect Privileges

- Troubleshooting an Invalid ACL Error

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 a 11g database will already have the parameter set properly, but a database upgraded to 11g 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.

3.3.8.1 Granting Connect Privileges

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;

3.3.8.2 Troubleshooting an Invalid ACL Error

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

3.3.9 Security Considerations

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 Guide

3.3.10 About Managing JOB_QUEUE_PROCESSES

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.

Topics:

- Viewing the Number of JOB_QUEUE_PROCESSES

- Changing the Number of JOB_QUEUE_PROCESSES

3.3.10.1 Viewing the Number of JOB_QUEUE_PROCESSES

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

3.3.10.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

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

3.3.10.1.2 Viewing JOB_QUEUE_PROCESSES in Oracle Application Express

You can also view the number of JOB_QUEUE_PROCESSES on the About Application Express page.

To view the About Application Express page:

1. Log in to Oracle Application Express. See "Logging in to Your Workspace".

2. On the Administration list, click About Application Express.
The current number JOB_QUEUE_PROCESSES displays at the bottom of the page.

3.3.10.1.3 Viewing JOB_QUEUE_PROCESSES from SQL*Plus

You can also view the number of JOB_QUEUE_PROCESSES from SQL*Plus by running the following SQL statement:

SELECT VALUE FROM v$parameter WHERE NAME = 'job_queue_processes'

3.3.10.2 Changing the Number of JOB_QUEUE_PROCESSES

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:

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

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

3.3.11 About Developing Oracle Application Express in Other Languages

The 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. Developers can choose to run the Application Express development environment in any of the installed languages by simply selecting the language from the Application Builder log in screen or home page.

In order to install other languages you must use the apex_4.2.zip file which contains the extra files referenced below. If you previously downloaded apex_4.2_en.zip, then you do not need to re-install Oracle Application Express. Simply download apex_4.2.zip and unzip the file into the same directory where you unzipped apex_4.2_en.zip.

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

3.3.11.1 Installing a Translated Version of Oracle Application Express

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

To install a translated version of Oracle Application Express:

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

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:

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

3. Execute the following statement:

ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;

4. 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).

3.3.12 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to a workspace using a Web browser. Your Web browser must have JavaScript enabled. 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 instance 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 Express

Topics:

- Creating a Workspace Manually

- Creating Oracle Application Express Users

- Logging in to Your Workspace

3.3.12.1 Creating a Workspace Manually

To create an Oracle Application Express workspace manually:

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

1. In a Web browser, navigate to the Oracle Application Express Administration Services application.
Because your setup uses Oracle Application Express Listener, go to:

http://hostname:port/apex/apex_admin

Where:

hostname is the name of the system where Oracle Application Express Listener is installed.

port is the port number assigned when configuring the Oracle Application Express Listener. In a default installation, this number is 8080. To learn more, see Oracle Application Express Listener Installation and Developer Guide.

apex is the service name defined when configuring the Oracle Application Express Listener.

2. On the Login page:

- In Username, enter admin.

- In Password, enter the Oracle Application Express administrator account password you specified in "Change the Password for the ADMIN Account".

- Click Login 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:
See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.

Next, create a workspace.

2. Click Manage Workspaces.

3. Under Workspace Actions, click Create Workspace.
The Create Workspace Wizard appears.

4. For Identify Workspace, enter the following:

1. Workspace Name - Enter a unique workspace name.

2. Workspace ID - Leave Workspace ID blank to have the new Workspace ID automatically generated. A Workspace ID must be a positive integer greater than 100000.

3. Workspace Description - Enter a workspace description.

4. Click Next.

5. For Identify Schema, specify whether you are re-using an existing schema or creating a new one.
If you are using an existing schema:

1. For Re-use existing schema, select Yes.

2. Select a schema from the list.

3. Click Next.

If you are creating a new schema:

1. For Re-use existing schema, select No.

2. Enter a schema name and password.

3. Specify a space quota.

4. Click Next.

6. For Identify Administrator, enter the Workspace administrator information and click Next.

7. Confirm your selections and click Create Workspace.

3.3.12.2 Creating Oracle Application Express Users

To create an Oracle Application Express user account:

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

2. Click the Manage Workspaces icon.
The Administration page appears.

3. Click Manage Developers and Users.

4. Click Create User.
The Create User page appears.

5. Under User Attributes, enter:

1. Username - Enter the username used to log in to the system. Restrictions include:

- Maximum length of 100 characters

- No spaces

- Only these special characters are permitted: ampersand (@) and period (.)

2. Email Address - Enter the valid email address for this user.

3. First Name - Enter the first or given name to further identify the user.

4. Last Name - Enter the last or family name to further identify the user.

5. Description - Enter comments about this user.

6. Default Date Format - Enter the default Oracle date format for the user. This controls the default date format within SQL Workshop.

6. Under Account Privileges:

1. Workspace - Select a workspace from the list.

2. Default Schemas - Specify the default schema used for data browsing, application creation, and SQL script execution.
When using workspaces that have more than one schema available, this schema is the default. This setting does not control security, only the user's preference.

3. User is a workspace administrator - Specify if this user should have workspace administrator privileges.
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 Instance Administrators.

4. User is a developer - Specify if this user should have developer privileges.
Developers must have access to either Application Builder, SQL Workshop, or both. These components may not be available if they are switched off by the Instance Administrator.

5. Application Builder Access - Determines whether a developer has access to the Application Builder.

6. SQL Workshop Access - Determines whether a developer has access to the SQL Workshop.

7. Team Development Access - Determines whether a developer has access to the Team Development.

8. Set Account Availability - Select Locked to prevent the account from being used. Select Unlocked to allow the account to be used.
If the user has exceeded the maximum login failures allowed, specified in Workspace Preferences, then their account will be locked automatically.

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.

3.3.12.3 Logging in to Your Workspace

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 Guide

To log in to your workspace:

1. In a Web browser, navigate to the Oracle Application Express Login page.
Because your setup uses the Oracle Application Express Listener, go to:

http://hostname:port/apex/

Where:

- hostname is the name of the system where Oracle Application Express Listener is installed.

- port is the port number assigned when configuring the Oracle Application Express Listener. In a default installation, this number is 8080. To learn more, see Oracle Application Express Listener Installation and Developer Guide.

- apex is the service name defined when configuring the Oracle Application Express Listener.

The Login page appears.

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

3. Click Login.
Note that, depending on your setup, you might be required to change your password when you log in for the first time.

3.4 Downloading from OTN and Configuring the Embedded PL/SQL Gateway

This section describes how to install Oracle Application Express by downloading a ZIP file from OTN and then configuring the embedded PL/SQL gateway.

Topics:

- Install the Oracle Database and Complete Pre-installation Tasks

- Download and Install Oracle Application Express

- Change the Password for the ADMIN Account

- Configure the Embedded PL/SQL Gateway

- Enable Network Services in Oracle Database 11g

- Security Considerations

- About Managing JOB_QUEUE_PROCESSES

- About Running Oracle Application Express in Other Languages

- Configuring the SHARED_SERVERS Parameter

- Create a Workspace and Add Oracle Application Express Users

See Also:
"About the Oracle Application Express Runtime Environment"

3.4.1 Install the Oracle Database and Complete Pre-installation Tasks

Oracle Application Express requires an Oracle database that is Release 10.2.0.4 or later or Oracle Database 10g Express Edition. To learn more, see the Oracle Database Installation Guide for your operating environment and "Recommended Pre-installation Tasks".

3.4.2 Download and Install Oracle Application Express

To install Oracle Application Express:

1. For installations where the development will be in English only, download the file apex_4.2_en.zip from the Oracle Application Express download page. Where the development will include languages other than English, download apex_4.2.zip from the Oracle Application Express download page. See:

http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

Note that the actual file name may differ if a more recent release has shipped since this document was published.

2. Unzip downloaded zip file:

- If English only, unzip apex_4.2_en.zip as follows, preserving directory names:

- UNIX and Linux: $unzip apex_4.2_en.zip

- Windows: Double click the file apex_4.2_en.zip in Windows Explorer

- If multiple languages, unzip apex_4.2.zip as follows, preserving directory names:

- UNIX and Linux: $unzip apex_4.2.zip

- Windows: Double click the file apex_4.2.zip in Windows Explorer

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.

3. Change your working directory to apex.

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

5. Disable any existing password complexity rules for the default profile. See "Configuring Password Protection" in Oracle Database Security Guide.

6. Select the appropriate installation option.
Full development environment provides complete access to the Application Builder environment to develop applications. A Runtime environment enables users to run applications that cannot be modified. To learn more, see "About the Oracle Application Express Runtime Environment".

Available installation options include:

- Full development environment. Run apexins.sql passing the following four arguments in the order shown:

@apexins.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. To support future Oracle Application Express upgrades, define the virtual image directory as /i/.

Example:

@apexins.sql SYSAUX SYSAUX TEMP /i/

Note:
If you receive the following error, please exit SQL*Plus and change your working directory to apex:
SP2-0310: unable to open file "apexins.sql"

- Runtime environment. Run apxrtins.sql passing the following arguments in the order shown:

@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. To support future Oracle Application Express upgrades, define the virtual image directory as /i/.

Example:

@apxrtins.sql SYSAUX SYSAUX TEMP /i/

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

When Oracle Application Express installs, it creates three new database accounts:

- APEX_040200 - The account that owns the Oracle Application Express schema and metadata.

- FLOWS_FILES - The account that owns the Oracle Application Express uploaded files.

- APEX_PUBLIC_USER - The minimally privileged account used for Oracle Application Express configuration with Oracle Application Express Listener or Oracle HTTP Server and mod_plsql. 'This account is created to enable a later switch to a different HTTP server.

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.

Tip:
Oracle Application Express must be installed from a writable directory on the file system. See "Reviewing a Log of an Installation Session".

3.4.3 Change the Password for the ADMIN Account

In a new installation of Oracle Application Express, or if you are converting a runtime environment to a development environment, you must change the password of the internal ADMIN account. In an upgrade scenario, the password will be preserved and carried over from the prior release.

Tip:
You use the ADMIN account to log in to Oracle Application Express Administration Services and manage an entire Oracle Application Express instance.

To change the password for the ADMIN account:

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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

3. Run apxchpwd.sql. For example:

@apxchpwd.sql

When prompted, enter a password for the ADMIN account.

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

3.4.4 Configure the Embedded PL/SQL Gateway

The embedded PL/SQL gateway installs with the Oracle Database 11g. However, 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.

Topics:

- Running the apex_epg_config.sql Configuration Script

- Updating the Images Directory When Upgrading from a Previous Release

- Verifying the Oracle XML DB Protocol Server Port

- Enabling Oracle XML DB Protocol Server

See Also:
"About Choosing a Web Listener" and "About the Embedded PL/SQL Gateway"

3.4.4.1 Running the apex_epg_config.sql Configuration Script

In a new installation, you configure the embedded PL/SQL gateway by running the configuration script apex_epg_config.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 "Updating the Images Directory When Upgrading from a Previous Release".

To run the apex_epg_config.sql configuration script:

1. Change your working directory to the apex directory where you unzipped the Oracle Application Express 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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

3. Run apex_epg_config.sql passing the file system path to the base directory where the Oracle Application Express software was unzipped as shown in the following example:

- On Windows:

@apex_epg_config.sql SYSTEM_DRIVE:\TEMP

- On UNIX and Linux:

@apex_epg_config.sql /tmp

4. Enter the following statement to unlock the ANONYMOUS account:

ALTER USER ANONYMOUS ACCOUNT UNLOCK;

3.4.4.2 Updating the Images Directory When Upgrading from a Previous Release

If you are upgrading Oracle Application Express from a previous release, you must run the apxldimg.sql script to update the images directory.

Tip:
If you are not upgrading from a prior release of Oracle Application Express, this step is unnecessary. The images will be loaded by running apex_epg_config.sql as described in the prior section.

To run the apxldimg.sql script:

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

2. Run apxldimg.sql passing the file system path to the base directory where the Oracle Application Express software was unzipped as shown in the following example:

- On Windows:

@apxldimg.sql SYSTEM_DRIVE:\TEMP

- On UNIX and Linux:

@apxldimg.sql /tmp

Tip:
The above examples assume that you unzipped Oracle Application Express in a directory called TEMP on Windows and tmp on UNIX or Linux.

3.4.4.3 Verifying the Oracle XML DB Protocol Server Port

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 is enabled by verifying the associated port number.

To verify the port number where the Oracle XML DB Protocol Server is running:

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

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

3. To enable it, follow the instructions in "Enabling Oracle XML DB Protocol Server".

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

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:

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. Enter a statement similar to the following:

EXEC DBMS_XDB.SETHTTPPORT(port);

For example:

EXEC DBMS_XDB.SETHTTPPORT(8080);

Note:
Port numbers less than 1024 are reserved for use by privileged processes on many operating systems. To enable the XML DB HTTP listener on a port less than 1024, such as 80, review the following documentation:

- "Accessing the Repository Using Protocols" in Oracle XML DB Developer's Guide.

- "Protocol Address Configuration" and "Port Number Limitations" in Oracle Database Net Services Reference.

3.4.5 Enable Network Services in Oracle Database 11g

By default, the ability to interact with network services is disabled in Oracle Database 11g Release 1 or 2. Therefore, if you are running Oracle Application Express with Oracle Database 11g Release 1 or 2, 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.

Topics:

- Granting Connect Privileges

- Troubleshooting an Invalid ACL Error

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 database will already have the parameter set properly, but a database upgraded to 11g 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.

3.4.5.1 Granting Connect Privileges

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 would enable indexing the Oracle Application Express Online Help and could possibly enable email and PDF printing if those servers were also on the local host.

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;

3.4.5.2 Troubleshooting an Invalid ACL Error

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

3.4.6 Security Considerations

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 Guide

3.4.7 About Managing JOB_QUEUE_PROCESSES

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.

Topics:

- Viewing the Number of JOB_QUEUE_PROCESSES

- Changing the Number of JOB_QUEUE_PROCESSES

3.4.7.1 Viewing the Number of JOB_QUEUE_PROCESSES

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

3.4.7.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

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

3.4.7.1.2 Viewing JOB_QUEUE_PROCESSES in Oracle Application Express

You can also view the number of JOB_QUEUE_PROCESSES on the About Application Express page.

To view the About Application Express page:

1. Log in to Oracle Application Express. See "Logging in to Your Workspace".

2. Click the Administration icon.

3. From the Tasks list, click About Application Express.
The current number JOB_QUEUE_PROCESSES displays at the bottom of the page.

3.4.7.1.3 Viewing JOB_QUEUE_PROCESSES from SQL*Plus

You can also view the number of JOB_QUEUE_PROCESSES from SQL*Plus by running the following SQL statement:

SELECT VALUE FROM v$parameter WHERE NAME = 'job_queue_processes'

3.4.7.2 Changing the Number of JOB_QUEUE_PROCESSES

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:

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

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

3.4.8 About Running Oracle Application Express in Other Languages

The 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. Developers can choose to run the Application Express development environment in any of the installed languages by simply selecting the language from the Application Builder log in screen or home page.

In order to install other languages you must use the apex_4.2.zip file which contains the extra files referenced below. If you previously downloaded apex_4.2_en.zip, then you do not need to re-install Oracle Application Express. Simply download apex_4.2.zip and unzip the file into the same directory where you unzipped apex_4.2_en.zip.

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

3.4.8.1 Installing a Translated Version of Oracle Application Express

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:

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

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:

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

3. Execute the following statement:

ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;

4. 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).

3.4.9 Configuring the SHARED_SERVERS Parameter

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:

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:

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 SYSTEM SET SHARED_SERVERS = 5 SCOPE=BOTH;

3.4.10 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to a workspace using a Web browser. Your Web browser must have JavaScript enabled. 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 instance 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 Express

Topics:

- Creating a Workspace Manually

- Creating Oracle Application Express Users

- Logging in to Your Workspace

3.4.10.1 Creating a Workspace Manually

To create an Oracle Application Express workspace manually:

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

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

apex is the database access descriptor (DAD) defined in the configuration file.

2. On the Login page:

- In Username, enter admin.

- In Password, enter the Oracle Application Express administrator account password you specified in "Change the Password for the ADMIN Account".

- Click Login to Administration.

See Also:
See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.

Next, create a workspace.

2. Click Manage Workspaces.

3. Under Workspace Actions, click Create Workspace.
The Create Workspace Wizard appears.

4. For Identify Workspace, enter the following:

1. Workspace Name - Enter a unique workspace name.

2. Workspace ID - Leave Workspace ID blank to have the new Workspace ID automatically generated. A Workspace ID must be a positive integer greater than 100000.

3. Workspace Description - Enter a workspace description.

4. Click Next.

5. For Identify Schema, specify whether you are re-using an existing schema or creating a new one.
If you are using an existing schema:

1. For Re-use existing schema, select Yes.

2. Select a schema from the list.

3. Click Next.

If you are creating a new schema:

1. For Re-use existing schema, select No.

2. Enter a schema name and password.

3. Specify a space quota.

4. Click Next.

6. For Identify Administrator, enter the Workspace administrator information and click Next.

7. Confirm your selections and click Create Workspace.

3.4.10.2 Creating Oracle Application Express Users

To create an Oracle Application Express user account:

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

2. Click the Manage Workspaces icon.
The Administration page appears.

3. Click Manage Developers and Users.

4. Click Create User.
The Create User page appears.

5. Under User Attributes, enter:

1. Username - Enter the username used to log in to the system. Restrictions include:

- Maximum length of 100 characters

- No spaces

- Only these special characters are permitted: ampersand (@) and period (.)

2. Email Address - Enter the valid email address for this user.

3. First Name - Enter the first or given name to further identify the user.

4. Last Name - Enter the last or family name to further identify the user.

5. Description - Enter comments about this user.

6. Default Date Format - Enter the default Oracle date format for the user. This controls the default date format within SQL Workshop.

6. Under Account Privileges:

1. Workspace - Select a workspace from the list.

2. Default Schemas - Specify the default schema used for data browsing, application creation, and SQL script execution.
When using workspaces that have more than one schema available, this schema is the default. This setting does not control security, only the user's preference.

3. User is a workspace administrator - Specify if this user should have workspace administrator privileges.
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 Instance Administrators.

4. User is a developer - Specify if this user should have developer privileges.
Developers must have access to either Application Builder, SQL Workshop, or both. These components may not be available if they are switched off by the Instance Administrator.

5. Application Builder Access - Determines whether a developer has access to the Application Builder.

6. SQL Workshop Access - Determines whether a developer has access to the SQL Workshop.

7. Team Development Access - Determines whether a developer has access to the Team Development.

8. Set Account Availability - Select Locked to prevent the account from being used. Select Unlocked to allow the account to be used.
If the user has exceeded the maximum login failures allowed, specified in Workspace Preferences, then their account will be locked automatically.

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.

3.4.10.3 Logging in to Your Workspace

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 Guide

To log in to your workspace:

1. In a Web browser, navigate to the Oracle Application Express Login page.
Because 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.

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

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

3. Click Login.
Note that, depending on your setup, you might be required to change your password when you log in for the first time.

3.5 Downloading from OTN and Configuring Oracle HTTP Server

This section describes how to install Oracle Application Express by downloading a ZIP file from OTN and then configuring Oracle HTTP Server with mod_plsql distributed with Oracle Database 11g or Oracle Application Server 10g.

Topics:

- Install the Oracle Database and Complete Pre-installation Tasks

- Download and Install Oracle Application Express

- Change the Password for the ADMIN Account

- Restart Processes

- Configure Oracle HTTP Server Distributed with Oracle Database 11g or Oracle Application Server 10g

- Enable Network Services in Oracle Database 11g

- Security Considerations

- About Managing JOB_QUEUE_PROCESSES

- About Running Oracle Application Express in Other Languages

- About Obfuscating PlsqlDatabasePassword Parameter

- Create a Workspace and Add Oracle Application Express Users

See Also:
"About the Oracle Application Express Runtime Environment"

3.5.1 Install the Oracle Database and Complete Pre-installation Tasks

Oracle Application Express requires an Oracle database that is Release 10.2.0.4 or later or Oracle Database 10g Express Edition. To learn more, see the Oracle Database Installation Guide for your operating environment and "Recommended Pre-installation Tasks".

3.5.2 Download and Install Oracle Application Express

To install Oracle Application Express:

1. For installations where the development will be in English only, download the file apex_4.2_en.zip from the Oracle Application Express download page. Where the development will include languages other than English, download apex_4.2.zip from the Oracle Application Express download page. See:

http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

Note that the actual file name may differ if a more recent release has shipped since this document was published.

2. Unzip downloaded zip file:

- If English only, unzip apex_4.2_en.zip as follows, preserving directory names:

- UNIX and Linux: $unzip apex_4.2_en.zip

- Windows: Double click the file apex_4.2_en.zip in Windows Explorer

- If multiple languages, unzip apex_4.2.zip as follows, preserving directory names:

- UNIX and Linux: $unzip apex_4.2.zip

- Windows: Double click the file apex_4.2.zip in Windows Explorer

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.

3. Change your working directory to apex.

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

5. Disable any existing password complexity rules for the default profile. See "Configuring Password Protection" in Oracle Database Security Guide.

6. Select the appropriate installation option.
Full development environment provides complete access to the Application Builder environment to develop applications. A Runtime environment enables users to run applications that cannot be modified. To learn more, see "About the Oracle Application Express Runtime Environment".

Available installation options include:

- Full development environment. Run apexins.sql passing the following four arguments in the order shown:

@apexins.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. To support future Oracle Application Express upgrades, define the virtual image directory as /i/.

Example:

@apexins.sql SYSAUX SYSAUX TEMP /i/

Note:
If you receive the following error, please exit SQL*Plus and change your working directory to apex:
SP2-0310: unable to open file "apexins.sql"

- Runtime environment. Run apxrtins.sql passing the following arguments in the order shown:

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

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

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

When Oracle Application Express installs, it creates three new database accounts:

- APEX_040200 - The account that owns the Oracle Application Express schema and metadata.

- FLOWS_FILES - The account that owns the Oracle Application Express uploaded files.

- APEX_PUBLIC_USER - The minimally privileged account used for Oracle Application Express configuration with Oracle Application Express Listener or Oracle HTTP Server and mod_plsql.

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.

Tip:
Oracle Application Express must be installed from a writable directory on the file system. See "Reviewing a Log of an Installation Session".

3.5.3 Change the Password for the ADMIN Account

In a new installation of Oracle Application Express, or if you are converting a runtime environment to a development environment, you must change the password of the internal ADMIN account. In an upgrade scenario, the password will be preserved and carried over from the prior release.

Tip:
You use the ADMIN account to log in to Oracle Application Express Administration Services and manage an entire Oracle Application Express instance.

To change the password for the ADMIN account:

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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

3. Run apxchpwd.sql. For example:

@apxchpwd.sql

When prompted, enter a password for the ADMIN account.

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

3.5.4 Restart Processes

After you install Oracle Application Express, you must restart the processes that you stopped before you began the installation. In addition, restart Oracle HTTP Server.

3.5.5 Configure Oracle HTTP Server Distributed with Oracle Database 11g or Oracle Application Server 10g

This section describes how to configure Oracle HTTP Server with mod_plsql distributed with Oracle Database 11g or Oracle Application Server 10g.

Topics:

- Unlocking the APEX_PUBLIC_USER Account

- Changing the Password for the APEX_PUBLIC_USER Account

- Copying the Images Directory

- Configuring Oracle HTTP Server 11g or Oracle Application Server 10g

- Disabling Oracle XML DB Protocol Server

3.5.5.1 Unlocking the APEX_PUBLIC_USER Account

The APEX_PUBLIC_USER account is locked at the end of a new installation of Oracle Application Express. You must unlock this account before configuring the database access descriptor (DAD) in a new installation.

Tip:
If you are upgrading from a prior release of Oracle Application Express, this step is unnecessary.

To unlock the APEX_PUBLIC_USER account:

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:

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

3.5.5.2 Changing the Password for the APEX_PUBLIC_USER Account

The APEX_PUBLIC_USER account is created with a random password in a new installation of Oracle Application Express. You must change the password for this account before configuring the database access descriptor (DAD) in a new installation.

Tip:
If you are upgrading from a prior release of Oracle Application Express, this step is unnecessary.

To change the password for the APEX_PUBLIC_USER account:

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:

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

3.5.5.2.1 About Password Expiration in Oracle Database 11g

In the default profile in Oracle Database 11g, the parameter PASSWORD_LIFE_TIME is set to 180. If you are using Oracle Database 11g 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 to the new profile.

See Also:
Oracle Database Security Guide for information on creating profiles and assigning them to database users.

3.5.5.3 Copying the Images Directory

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, for example C:\TEMP, to the location on the file system containing the Oracle home for Oracle HTTP Server.

Topics:

- Copying the Images Directory After an Upgrade

- Copying the Images Directory in a New Installation

3.5.5.3.1 Copying the Images Directory After an Upgrade

During an upgrade, you overwrite your existing images directory. Before you begin the upgrade, to ensure that you can revert to the previous version, Oracle recommends that you create a copy of your existing images directory for Oracle Application Express, indicating the release number of the images (for example, images_3_1).

To locate the images directory on the file system, review the following files for the text alias /i/:

- Oracle Application Server 10g—see the marvel.conf files.

- Oracle HTTP Server distributed with Oracle Database 11g—see the dads.conf files.

When you locate the images directory path, copy the existing images directory to a backup location.

Use the following command syntax to copy the apex\images directory from the Oracle Database home to the existing images directory path, overwriting the existing images:

- Oracle Application Server 10g:

- On Windows:

xcopy /E /I APEX_HOME\apex\images ORACLE_HTTPSERVER_HOME\Apache\images

- On UNIX and Linux:

cp -rf APEX_HOME/apex/images ORACLE_HTTPSERVER_HOME/Apache

- Oracle HTTP Server distributed with Oracle Database 11g:

- On Windows:

xcopy /E /I APEX_HOME\apex\images ORACLE_HTTPSERVER_HOME\ohs\images

- On UNIX and Linux:

cp -rf APEX_HOME/apex/images ORACLE_HTTPSERVER_HOME/ohs

In the preceding syntax examples:

- APEX_HOME is the directory where the Oracle Application Express software was unzipped, for example C:\TEMP if installing on Windows.

- ORACLE_HTTPSERVER_HOME is the existing Oracle Application Server or Oracle HTTP Server Oracle home.

3.5.5.3.2 Copying the Images Directory in a New Installation

After installation, copy the directory apex/images.

- Oracle Application Server 10g:

- On Windows:

xcopy /E /I ORACLE_HOME\apex\images ORACLE_HTTPSERVER_HOME\Apache\images

- On UNIX and Linux:

cp -rf $ORACLE_HOME/apex/images ORACLE_HTTPSERVER_HOME/Apache

- Oracle HTTP Server distributed with Oracle Database 11g:

- On Windows:

xcopy /E /I ORACLE_HOME\apex\images ORACLE_HTTPSERVER_HOME\ohs\images

- On UNIX and Linux:

cp -rf $ORACLE_HOME/apex/images ORACLE_HTTPSERVER_HOME/ohs

In the preceding syntax examples:

- ORACLE_HOME is the directory where the Oracle Application Express software was unzipped, for example C:\TEMP if installing on Windows.

- ORACLE_HTTPSERVER_HOME is the existing Oracle Application Server or Oracle HTTP Server Oracle home.

3.5.5.4 Configuring Oracle HTTP Server 11g or Oracle Application Server 10g

Perform the following post installation steps outlined in this section.

Topics:

- Editing the dads.conf File

- Stopping and Restarting Oracle HTTP Server

Note:
Within the context of this document, ORACLE_HTTPSERVER_HOME is the location where Oracle HTTP Server is installed.

3.5.5.4.1 Editing the dads.conf File

If this is a new installation of Oracle Application Express, you must edit the dads.conf or marvel.conf file. The dads.conf file contains the information about the Database Access Descriptor (DAD) to access Oracle Application Express.

To edit the dads.conf file:

1. Use a text editor and open the dads.conf.

- Oracle Application Server 10g:

- On Windows see:

ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf\dads.conf

- On UNIX and Linux see:

ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf/dads.conf

- Oracle HTTP Server distributed with Oracle Database 11g:

- On Windows see:

ORACLE_HTTPSERVER_HOME\ohs\modplsql\conf\dads.conf

- On UNIX and Linux see:

ORACLE_HTTPSERVER_HOME/ohs/modplsql/conf/dads.conf

2. 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 "Changing the Password for the APEX_PUBLIC_USER Account".
Note that the path listed is only an example. The path in the dads.conf file should reference the file system path described in "Copying the Images Directory".

Alias /i/ "ORACLE_HTTPSERVER_HOME/Apache/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>

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

4. Save and exit the dads.conf file.

3.5.5.4.2 Stopping and Restarting Oracle HTTP Server

To stop and restart Oracle HTTP Server:

- Windows:
If database is 10g and lower, execute the following:

ORACLE_HTTPSERVER_HOME\opmn\bin\opmnctl stopproc ias-component=HTTP_Server
ORACLE_HTTPSERVER_HOME\opmn\bin\opmnctl startproc ias-component=HTTP_Server

- UNIX and Linux
If database is 10g and lower, execute the following:

ORACLE_HTTPSERVER_HOME/opmn/bin/opmnctl stopproc ias-component=HTTP_Server
ORACLE_HTTPSERVER_HOME/opmn/bin/opmnctl startproc ias-component=HTTP_Server

Note:
If you are using Oracle HTTP Server that is included with Oracle Fusion Middleware 11.1.1, you may need to replace the ias-component name above if the name given to the component was something other than HTTP_Server when it was installed. The default name is ohs1.

3.5.5.5 Disabling Oracle XML DB Protocol Server

If you were previously using the embedded PL/SQL Gateway and now wish to use Oracle HTTP server and mod_plsql, you need to disable the Oracle XML DB Protocol server.

To disable Oracle XML DB Protocol server:

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:

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

EXEC DBMS_XDB.SETHTTPPORT(0);

3.5.6 Enable Network Services in Oracle Database 11g

By default, the ability to interact with network services is disabled in Oracle Database 11g Release 1 or 2. Therefore, if you are running Oracle Application Express with Oracle Database 11g Release 1 or 2, 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.

Topics:

- Granting Connect Privileges

- Troubleshooting an Invalid ACL Error

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 database will already have the parameter set properly, but a database upgraded to 11g 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.

3.5.6.1 Granting Connect Privileges

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 would enable indexing the Oracle Application Express Online Help and could possibly enable email and PDF printing if those servers were also on the local host.

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;

3.5.6.2 Troubleshooting an Invalid ACL Error

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

3.5.7 Security Considerations

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.

3.5.8 About Managing JOB_QUEUE_PROCESSES

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.

Topics:

- Viewing the Number of JOB_QUEUE_PROCESSES

- Changing the Number of JOB_QUEUE_PROCESSES

3.5.8.1 Viewing the Number of JOB_QUEUE_PROCESSES

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

3.5.8.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

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

3.5.8.1.2 Viewing JOB_QUEUE_PROCESSES in Oracle Application Express

You can also view the number of JOB_QUEUE_PROCESSES on the About Application Express page.

To view the About Application Express page:

1. Log in to Oracle Application Express. See "Logging in to Your Workspace".

2. Click the Administration icon.

3. From the Tasks list, click About Application Express.
The current number JOB_QUEUE_PROCESSES displays at the bottom of the page.

3.5.8.1.3 Viewing JOB_QUEUE_PROCESSES from SQL*Plus

You can also view the number of JOB_QUEUE_PROCESSES from SQL*Plus by running the following SQL statement:

SELECT VALUE FROM v$parameter WHERE NAME = 'job_queue_processes'

3.5.8.2 Changing the Number of JOB_QUEUE_PROCESSES

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:

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

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

3.5.9 About Running Oracle Application Express in Other Languages

The 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. Developers can choose to run the Application Express development environment in any of the installed languages by simply selecting the language from the Application Builder log in screen or home page.

In order to install other languages you must use the apex_4.2.zip file which contains the extra files referenced below. If you previously downloaded apex_4.2_en.zip, then you do not need to re-install Oracle Application Express. Simply download apex_4.2.zip and unzip the file into the same directory where you unzipped apex_4.2_en.zip.

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

3.5.9.1 Installing a Translated Version of Oracle Application Express

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:

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

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:

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

3. Execute the following statement:

ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;

4. 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).

3.5.10 About Obfuscating PlsqlDatabasePassword Parameter

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_HTTPSERVER_HOME/Apache/modplsql/conf

- For Windows based systems:

ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf

3.5.10.1 Obfuscating Passwords

To obfuscate passwords, run dadTool.pl by following the instructions in the dadTool.README file.

3.5.11 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to a workspace using a Web browser. Your Web browser must have JavaScript enabled. 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 instance 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 Express

Topics:

- Creating a Workspace Manually

- Creating Oracle Application Express Users

- Logging in to Your Workspace

3.5.11.1 Creating a Workspace Manually

To create an Oracle Application Express workspace manually:

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

1. In a Web browser, navigate to the Oracle Application Express Administration Services application.
Because 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 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.

2. On the Login page:

- In Username, enter admin.

- In Password, enter the Oracle Application Express administrator account password you specified in "Change the Password for the ADMIN Account".

- Click Login to Administration.

See Also:
See "Logging in to Oracle Application Express Administration Services" in Oracle Application Express Administration Guide.

Next, create a workspace.

2. Click Manage Workspaces.

3. Under Workspace Actions, click Create Workspace.
The Create Workspace Wizard appears.

4. For Identify Workspace, enter the following:

1. Workspace Name - Enter a unique workspace name.

2. Workspace ID - Leave Workspace ID blank to have the new Workspace ID automatically generated. A Workspace ID must be a positive integer greater than 100000.

3. Workspace Description - Enter a workspace description.

4. Click Next.

5. For Identify Schema, specify whether you are re-using an existing schema or creating a new one.
If you are using an existing schema:

1. For Re-use existing schema, select Yes.

2. Select a schema from the list.

3. Click Next.

If you are creating a new schema:

1. For Re-use existing schema, select No.

2. Enter a schema name and password.

3. Specify a space quota.

4. Click Next.

6. For Identify Administrator, enter the Workspace administrator information and click Next.

7. Confirm your selections and click Create Workspace.

3.5.11.2 Creating Oracle Application Express Users

To create an Oracle Application Express user account:

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

2. Click the Manage Workspaces icon.
The Administration page appears.

3. Click Manage Developers and Users.

4. Click Create User.
The Create User page appears.

5. Under User Attributes, enter:

1. Username - Enter the username used to log in to the system. Restrictions include:

- Maximum length of 100 characters

- No spaces

- Only these special characters are permitted: ampersand (@) and period (.)

2. Email Address - Enter the valid email address for this user.

3. First Name - Enter the first or given name to further identify the user.

4. Last Name - Enter the last or family name to further identify the user.

5. Description - Enter comments about this user.

6. Default Date Format - Enter the default Oracle date format for the user. This controls the default date format within SQL Workshop.

6. Under Account Privileges:

1. Workspace - Select a workspace from the list.

2. Default Schemas - Specify the default schema used for data browsing, application creation, and SQL script execution.
When using workspaces that have more than one schema available, this schema is the default. This setting does not control security, only the user's preference.

3. User is a workspace administrator - Specify if this user should have workspace administrator privileges.
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 Instance Administrators.

4. User is a developer - Specify if this user should have developer privileges.
Developers must have access to either Application Builder, SQL Workshop, or both. These components may not be available if they are switched off by the Instance Administrator.

5. Application Builder Access - Determines whether a developer has access to the Application Builder.

6. SQL Workshop Access - Determines whether a developer has access to the SQL Workshop.

7. Team Development Access - Determines whether a developer has access to the Team Development.

8. Set Account Availability - Select Locked to prevent the account from being used. Select Unlocked to allow the account to be used.
If the user has exceeded the maximum login failures allowed, specified in Workspace Preferences, then their account will be locked automatically.

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.

3.5.11.3 Logging in to Your Workspace

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 Guide

To log in to your workspace:

1. In a Web browser, navigate to the Oracle Application Express Login page.
Because your setup uses the HTTP server, 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 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 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.

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

3. Click Login.
Note that, depending on your setup, you might be required to change your password when you log in for the first time.

3.6 Post Installation Tasks for Upgrade Installations

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.

Topics:

- Remove Prior Oracle Application Express Installations

- Fix Invalid ACL in Oracle Database 11g

3.6.1 Remove 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.

3.6.1.1 Verify if a Prior Installation Exists

To verify if a prior installation exists:

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

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

3.6.1.2 Remove Schemas from Prior Installations

To remove schemas from prior 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:

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. Execute a statement similar to the following example:

DROP USER FLOWS_030000 CASCADE;

3.6.2 Fix Invalid ACL in Oracle Database 11g

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 11g and you enabled network services for the prior Oracle Application Express schema.

To fix an invalid ACL:

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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

3. Execute a statement similar to following:

EXEC DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE('power_users.xml', 'FLOWS_030000');

3.7 Performance Optimization Tasks

Performance of web applications heavily depend on their size and how often a browser has to request static content like images, CSS and JavaScript files. To improve performance, most web servers allow you to enable on-the-fly file compression and settings on how long browsers can cache a file. Please see your web server manual on how to enable gzip compression and setting the expired header attribute for optimal performance of your Application Express application.

3.8 About the Oracle Application Express Runtime Environment

The Oracle Application Express runtime environment enables users to run a production application without supporting the ability to change or edit the application. 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.

Topics:

- Converting a Runtime Environment to a Full Development Environment

- Converting a Full Development Environment to a Runtime Environment

3.8.1 Converting a Runtime Environment to a Full Development Environment

To convert an Oracle Application Express runtime environment to a full development environment:

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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

3. Run apxdvins.sql. For example:

@apxdvins.sql

4. Follow the instructions in "Change the Password for the ADMIN Account".

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

3.8.2 Converting a Full Development Environment to a Runtime Environment

Export all Websheet applications prior to converting a full development environment to a runtime environment. When you convert a development environment to runtime, existing Websheet data grids and reports will be deleted from all workspaces. Converting the environment back to a full development environment will not restore these Websheet data grids or reports.

To convert an Oracle Application Express full development environment to a runtime environment:

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:

$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password

3. Run apxdevrm.sql. For example:

@apxdevrm.sql

See Also:
Oracle Database PL/SQL Language Reference for more information about SQL*Plus

A Oracle Application Express Troubleshooting

This appendix contains information on troubleshooting.

Topics:

- Reviewing a Log of an Installation Session

- Verifying the Validity of an Oracle Application Express Installation

- Cleaning Up After a Failed Installation

- Images Displaying Incorrectly in Oracle Application Express

- Page Protection Violation

A.1 Reviewing a Log of an Installation Session

The apexins.sql script creates a log file in the apex directory using the naming convention installYYYY-MM-DD_HH24-MI-SS.log. In a successful installation, the log file contains the following text:

Thank you for installing Oracle Application Express.
Oracle Application Express is installed in the APEX_040200 schema.

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.

A.2 Verifying the Validity of an Oracle Application Express Installation

You can verify the validity of an Oracle Application Express installation by running the following query:

SELECT STATUS FROM DBA_REGISTRY
WHERE COMP_ID = 'APEX';

If the result is VALID, you can assume the installation was successful.

A.3 Cleaning Up After a Failed Installation

In a successful installation the following banner displays near the end of the installation:

Thank you for installing Oracle Application Express.
Oracle Application Express is installed in the APEX_040200 schema.

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.

Topics:

- Reverting to a Previous Release After a Failed Upgrade Installation

- Removing Oracle Application Express from the Database

A.3.1 Reverting to a Previous Release After a Failed Upgrade Installation

In the case of a failed upgrade installation, you may want to revert Oracle Application Express to a previous release and then remove the schemas associated with the current release.

Topics:

- Verifying If You Have a Previous Release of Oracle Application Express

- Reverting to a Previous Release

- Removing the Oracle Application Express Release 4.2 Schema

A.3.1.1 Verifying If You Have a Previous Release of Oracle Application Express

To verify whether you have a previous release of Application Express:

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:

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. Execute the following command in SQL*Plus:

select username from dba_users
where regexp_like(username,'(FLOWS|APEX)_\d{6}')
and username <> (select table_owner from all_synonyms
where synonym_name = 'WWV_FLOW'
and owner = 'PUBLIC')

If the query above returns any rows, the database contains a previous release of Oracle Application Express.

A.3.1.2 Reverting to a Previous Release

To revert to a previous Oracle Application Express release:

1. If you altered your images directory, you must point the text alias /i/ back to images directory for the release you wish to revert to. See "Copying the Images Directory After an Upgrade".

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

3. Depending upon the release you are reverting to, execute the appropriate command in SQL*Plus:

1. To revert to Oracle Application Express Release 1.5, execute the following:

ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010500;
exec flows_010500.wwv_flow_upgrade.switch_schemas('APEX_040200','FLOWS_010500');

2. To revert to Oracle Application Express Release 1.6, execute the following:

ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010600;
exec flows_010600.wwv_flow_upgrade.switch_schemas('APEX_040200','FLOWS_010600');

3. To revert to Oracle Application Express Release 2.0, execute the following:

ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020000;
exec flows_020000.wwv_flow_upgrade.switch_schemas('APEX_040200','FLOWS_020000');

4. To revert to Oracle Application Express Release 2.2, execute the following:

ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020200;
exec flows_020200.wwv_flow_upgrade.switch_schemas('APEX_040200','FLOWS_020200');

5. To revert to Oracle Application Express Release 3.0, execute the following:

- Change your working directory to apex in the 3.0 source.

- 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

- Execute the following:

set define '^'

@apexvalidate x x FLOWS_030000
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030000;
exec flows_030000.wwv_flow_upgrade.switch_schemas('APEX_040200','FLOWS_030000');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
exec validate_apex;

6. To revert to Oracle Application Express Release 3.1:

- Change your working directory to apex/core in the 3.1 source.

- 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

- Execute the following commands:

@wwv_flow_val.plb
@wwv_dbms_sql.sql
@wwv_dbms_sql.plb

- Change your working directory to apex in the 3.1 source.

- 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

- Execute the following:

set define '^'

@apexvalidate x x FLOWS_030100
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030100;
exec flows_030100.wwv_flow_upgrade.switch_schemas('APEX_040200','FLOWS_030100');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
exec validate_apex;

7. To revert to Oracle Application Express Release 3.2:

- Change your working directory to apex/core in the 3.2 source.

- 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

- Execute the following commands:

@wwv_flow_val.plb
@wwv_dbms_sql.sql
@wwv_dbms_sql.plb

- Change your working directory to apex in the 3.2 source.

- 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

- 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_040200','APEX_030200');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
exec validate_apex;

8. To revert to Oracle Application Express Release 4.0:

- Change your working directory to apex/core in the 4.0 source.

- 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

- Execute the following commands:

@wwv_flow_val.plb
@wwv_dbms_sql.sql
@wwv_dbms_sql.plb

- Change your working directory to apex in the 4.0 source.

- 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

- Execute the following:

set define '^'

@apexvalidate x x APEX_040000
ALTER SESSION SET CURRENT_SCHEMA = APEX_040000;
exec apex_040000.wwv_flow_upgrade.switch_schemas('APEX_040200','APEX_040000');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
exec validate_apex;

9. To revert to Oracle Application Express Release 4.1:

- Change your working directory to apex/core in the 4.1 source.

- 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

- Execute the following commands:

@wwv_flow_val.plb
@wwv_dbms_sql.sql
@wwv_dbms_sql.plb

- Change your working directory to apex in the 4.1 source.

- 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

- Execute the following:

set define '^'

@apexvalidate x x APEX_040100
ALTER SESSION SET CURRENT_SCHEMA = APEX_040100;
exec apex_040100.wwv_flow_upgrade.switch_schemas('APEX_040200','APEX_040100');
ALTER SESSION SET CURRENT_SCHEMA = SYS;
exec validate_apex;

4. See the next section, "Removing the Oracle Application Express Release 4.2 Schema".

A.3.1.3 Removing the Oracle Application Express Release 4.2 Schema

After you have reverted to the prior release you can remove the Oracle Application Express 4.2 schema.

To remove the release 4.2 schema:

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

2. Execute the following command:

DROP USER APEX_040200 CASCADE;

Once you have removed the Oracle Application Express 4.2 schema, you can now attempt the upgrade again.

A.3.2 Removing Oracle Application Express from the Database

This section describes how to remove the Oracle Application Express schema, synonyms, and users from the database without deleting the database. If you are going to delete the database, then you must complete these steps.

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, follow the steps in "Cleaning Up After a Failed Installation" to verify if a previous release of Application Express exists in the database

To remove Oracle Application Express from the database:

1. Change your working directory to the apex directory where you unzipped the Oracle Application Express software.

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

3. Execute the following command:

SQL> @apxremov.sql

4. After successfully removing Application Express using apxremov.sql, you must exit your current SQL*Plus session and reconnect prior to attempting another install using apexins.sql.

A.4 Images Displaying Incorrectly in Oracle Application Express

If images in Oracle Application Express do not display correctly, you may have more than one definition of the /i/ alias. To address this issue:

- If possible, rename the first instance of /i/ to a different alias name.

- Alternatively, copy the images from the ORACLE_HOME\apex\images directory to the directory defined by the first /i/ alias.

A.5 Page Protection Violation

This may be caused by manual alteration of protected page items. If this error occurs after installation when trying to log into Application Express, then stop and start the APEX Listener. If you are unsure of what caused this error, please contact the application administrator for assistance.

To learn more about stopping and starting the Oracle Application Express Listener server, see Oracle Application Express Listener Installation and Developer Guide.

Index
A  B  C  D  E  F  G  H  I  J  L  N  O  P  R  S  T  U  W  X

A

ACL

fixing invalid, 3.6.2

ADMIN account

changing password, 3.3.3, 3.4.3, 3.5.3

apex_epg_config.sql, 3.4.4.1 apexins.sql, 3.3.2, 3.4.2, 3.5.2 Application Express

browser requirement, 2.2

database requirement, 2.1

disk space requirements, 2.4

getting started, 3.3.12, 3.4.10, 3.5.11

HTTP server requirement, 2.3

logging in to, 3.3.12, 3.4.10, 3.5.11

PL/SQL Web Toolkit requirement, 2.6

XML DB requirement, 2.5

Application Express Administration Services, 3.3.12.1, 3.4.10.1, 3.5.11.1 apxchpwd.sql, 3.3.3, 3.4.3, 3.5.3 apxdevrm.sql, 3.8.2 apxdvins.sql, 3.8.1 apxldimg.sql, 3.4.4.2 apxrtins.sql, 3.3.2, 3.4.2, 3.5.2

B

browser

requirement, 2.2

C

configuring

Oracle Application Express Listener, 3.3.6

Oracle Application Server 11g, 3.5.5.4

Oracle HTTP Server, 3.5.5

Oracle HTTP Server 11g, 3.5.5.4

D

DAD, 3.3.5.1, 3.5.5.1

dadTool.pl utility, 3.5.10

database installation

fixing invalid ACL, 3.6.2

post installation tasks, 3.6

removing prior installation, 3.6.1

database requirement

Application Express, 2.1

development environment

changing to runtime, 3.8.2

disk space

requirements, 2.4

documentation

on administration and tuning, Preface

on error messages, Preface

related, Preface

E

embedded PL/SQL gateway

about, 1.4.2

location of images, 1.4.2.2

SHARED_SERVERS parameter, 3.4.9

F

full development environment

installing, 3.3.2, 3.4.2, 3.5.2

G

getting started

Application Express, 3.3.12, 3.4.10, 3.5.11

H

HTTP server

requirement, 2.3

I

images

copying, 3.5.5.3

copying in new installation, 3.5.5.3.2

copying when upgrading, 3.5.5.3.1

installation

downloading from OTN and configuring embedded PL/SQL gateway, 1.5.2

downloading from OTN and configuring Oracle HTTP server, 1.5.3

overview, 1.1

planning, 1.1

process, 1.5

requirements, 1.1, 2

scenarios, 1.5

verifying validity, A.2

installation option

full development environment, 3.3.2, 3.4.2, 3.5.2

runtime environment, 3.3.2, 3.4.2, 3.5.2

installing

failures, A.3

other languages, 3.3.11, 3.4.8, 3.5.9

J

JOB_QUEUE_PROCESSES, 3.3.10, 3.4.7, 3.5.8

changing number of, 3.3.10.2, 3.4.7.2, 3.5.8.2

viewing number of, 3.3.10.1, 3.4.7.1, 3.5.8.1

L

log file, A.1

N

network services

about invalid ACL error, 3.3.8.2, 3.4.5.2, 3.5.6.2

granting connect privileges, 3.3.8.1, 3.4.5.1, 3.5.6.1

new installation

configuring Oracle Application Server 10g, 3.5.5.4, 3.5.5.4

copying images, 3.5.5.3.2

modifying dads.conf, 3.5.5.4

O

obfuscate

password, 3.5.10

Oracle Application Express

creating users, 3.3.12.2, 3.4.10.2, 3.5.11.2

creating workspace manually, 3.3.12.1, 3.4.10.1, 3.5.11.1

logging in to a workspace, 3.3.12.3, 3.4.10.3, 3.5.11.3

Oracle Application Express Listener

configuring, 3.3.6

Oracle Application Server 10g

editing dads.conf, 3.5.5.4.1

Oracle HTTP Server

about, 1.4.1, 1.4.3

configuring, 3.5.5

copying images directory, 3.5.5.3

location of images, 1.4.1.1

with Oracle Real Application Clusters (Oracle RAC), 1.4.3

Oracle HTTP Server 11g

configuring, 3.5.5.4

editing dads.conf, 3.5.5.4.1

Oracle Real Application Clusters (Oracle RAC)

selecting an HTTP Server, 1.4.3

shutting down instances, 3.1

Oracle Technology Network (OTN)

downloading from, 3

Oracle XML DB HTTP server

enabling, 3.4.4.4

Oracle XML DB Protocol server

about, 1.4.2

disabling, 3.3.6.1, 3.5.5.5

updating images directory, 3.4.4.2

verifying HTTP server port, 3.4.4.3

ORACLE_HTTPSERVER_HOME, 3 OTN

installing in other languages, 3.4.8

security considerations, 3.4.6

OTN installation

apex_epg_config.sql, 3.4.4.1

changing ADMIN account password, 3.3.3, 3.4.3, 3.5.3

changing password for APEX_PUBLIC_USER, 3.3.5.2, 3.5.5.2

configuring embedded PL/SQL gateway, 3.4.4

configuring Oracle Application Express Listener, 3.3.6

configuring Oracle Application Server 11g, 3.5.5.4

configuring Oracle HTTP Server, 3.5.5

copying images (new installation), 3.5.5.3.2

copying images (when upgrading), 3.5.5.3.1

copying images directory, 3.5.5.3

download and install software, 3.3.2, 3.4.2, 3.5.2

downloading from and configuring embedded PL/SQL gateway, 3.4

downloading from and configuring Oracle Application Express Listener, 3.3

downloading from and configuring Oracle HTTP server, 3.5

enabling network services, 3.3.8, 3.4.5, 3.5.6

installing in other languages, 3.3.11, 3.5.9

logging in to Application Express, 3.3.12, 3.5.11

managing JOB_QUEUE_PROCESSES, 3.3.10, 3.4.7, 3.5.8

pre-installation tasks, 3.3.1, 3.4.1, 3.5.1

restart processes, 3.3.4, 3.5.4

unlocking APEX_PUBLIC_USER account, 3.3.5.1, 3.5.5.1

updating images directory, 3.4.4.2

verifying HTTP server port, 3.4.4.3

overview, 1.1

P

password

changing for ADMIN account, 3.3.3, 3.4.3, 3.5.3

obfuscating, 3.5.10

PL/SQL Web Toolkit

requirement, 2.6

post-installation tasks

installing other languages, 3.3.11, 3.4.8, 3.5.9

logging in to Application Express, 3.4.10

obfuscating passwords, 3.5.10

pre-installation tasks

when downloading from OTN, 3.1

prior installations

removing, 3.6.1

R

related documentation, Preface

requirements, 2

browser, 2.2

database, 2.1

disk space, 2.4

HTTP server, 2.3

Oracle XML DB, 2.5

PL/SQL Web Toolkit, 2.6

shared_pool_size, 2.1.1

running

apex_epg_config.sql, 3.4.4.1

apexins.sql, 3.3.2, 3.4.2, 3.5.2

apxchpwd.sql, 3.3.3, 3.4.3, 3.5.3

apxdevrm.sql, 3.8.2

apxdvins.sql, 3.8.1

apxldimg.sql, 3.4.4.2

apxrtins.sql, 3.3.2, 3.4.2, 3.5.2

runtime environment

about, 1.3

changing to development environment, 3.8.1

installing, 3.3.2, 3.4.2, 3.5.2

S

shared_pool_size

changing, 2.1.1

SHARED_SERVERS parameter, 3.4.9

T

translated version

installing, 3.3.11, 3.4.8, 3.5.9

troubleshooting, A

cleaning up after failed installation, A.3

images, A.4

reviewing log file, A.1

U

upgrade installation

post installation tasks, 3.6

upgrading

about, 1.2

copying images, 3.5.5.3.1

obfuscating password, 3.5.10.1

user accounts

creating, 3.3.12.2, 3.4.10.2, 3.5.11.2

W

Web browser

requirements, 2.2

Web Listener

choosing, 1.4, 3.2

workspace

creating, 3.3.12.1, 3.4.10.1, 3.5.11.1

logging in to, 3.3.12.3, 3.4.10.3, 3.5.11.3

X

XML DB

requirement, 2.5

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2016, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

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.

Warranty Disclaimer

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.

Restricted Rights Notice

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 installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

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.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon 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, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

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.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Alpha and Beta Draft Documentation Notice

If this document is in private preproduction status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your beta trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

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.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.