PK I$Aoa,mimetypeapplication/epub+zipPKI$AiTunesMetadata.plistJ artistName Oracle Corporation book-info cover-image-hash 931375748 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 455190318 publisher-unique-id E12196-03 unique-id 627878147 genre Oracle Documentation itemName Oracle® Application Express Installation Guide, Release 3.2 releaseDate 2012-04-27T05:16:04Z year 2012 PKreOJPKI$AMETA-INF/container.xml PKYuPKI$AOEBPS/http_9_0_3.htm Configuring Oracle HTTP Server Distributed with Oracle9i Release 2

B Configuring Oracle HTTP Server Distributed with Oracle9i Release 2

In Oracle HTTP Server distributed with Oracle9i Release 2 (9.2), the wdbsvr.app file contains information about the DAD to access Oracle Application Express. A DAD is a set of values that specify how the Oracle HTTP Server component modplsql connects to the database server to fulfill an HTTP request.

Topics in this appendix include:

B.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 any existing Oracle Database instances as well as Oracle-related processes.

    Shut down any existing Oracle Database instances with normal or immediate priority, except for the database where you plan to install the Oracle Application Express schemas. On Oracle Real Application Clusters (Oracle RAC) systems, shut down all instances on each node.

    If Automatic Storage Management (ASM) is running, shut down all databases that use ASM except for the database where you will install Oracle Application Express, and then shut down the ASM instance.

    You can use the Windows Services utility, located either in the Windows Control Panel or from the Administrative Tools menu (under Start and then Programs), to shut down Oracle Database and ASM instances. Names of Oracle databases are preceded with OracleService. The Oracle ASM service is named OracleASMService+ASM. In addition, shut down the OracleCSService service, which ASM uses. Right-click the name of the service and from the menu, choose Stop.

  3. Back up the Oracle Database installation.

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

  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 the listener or Oracle HTTP Server. However, if you are performing a remote installation, make sure the database listener for the remote database has started.


    Note:

    If you are connecting to a remote database, then start the listener.

B.2 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 distributed with Oracle9i Release 2.

Topics in this section include:

B.2.1 Install the Oracle Database and Complete Pre-installation Tasks

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

B.2.2 Download and Install the Software

To install Oracle Application Express:

  1. Download the file apex_3.2.zip from the Oracle Application Express download page. See:

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

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

  2. Unzip apex_3.2.zip as follows, preserving directory names:

    • UNIX and Linux: Unzip apex_3.2.zip

    • Windows: Double click the file apex_3.2.zip in Windows Explorer

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

      @apexins SYSAUX SYSAUX TEMP /i/
      
    • Runtime environment. Run apxrtins.sql passing the following arguments in the order shown:

      @apxrtins 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 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_030200 - 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 HTTP Server and mod_plsql.

If you are upgrading from a previous release, 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".

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

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
    

    When prompted enter a password for the ADMIN account.


See Also:

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

B.2.4 Restart Processes

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

B.2.5 Configure Oracle HTTP Server

This section describes how to configure Oracle HTTP Server with mod_plsql distributed with Oracle9i Release 2.

Topics in this section include:

B.2.5.1 Unlock 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.

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
    

B.2.5.2 Change 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 will must change the password for this account before configuring the database access descriptor (DAD) in a new installation.

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.

B.2.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 the new profile.


See Also:

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

B.2.5.3 Copy 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 to the location on the file system containing the Oracle home for Oracle HTTP Server.

Topics in this section include:

B.2.5.3.1 Copying the Images Directory After an Upgrade

During an upgrade, you must 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 httpd.conf file for the text alias /i/.

When you locate the images directory path, copy the existing images directory to a backup location. Doing so enables you to revert to the previous release, if that becomes necessary.

After you copy the existing images directory, 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:

  • 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
    

In the preceding syntax examples:

  • ORACLE_HOME is the Oracle Database Oracle home

  • ORACLE_HTTPSERVER_HOME is the existing Oracle HTTP Server Oracle home

B.2.5.3.2 Copying the Images Directory in a New Installation

After installation, copy the directory apex/images.

  • 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
    

In the preceding syntax examples:

  • ORACLE_HOME is the Oracle Database Oracle home

  • ORACLE_HTTPSERVER_HOME is the existing Oracle HTTP Server Oracle home

B.2.5.4 Modifying the wdbsvr.app File

To create the DAD, you modify the wdbsvr.app file and add an entry for Oracle Application Express.

To modify the wdbsvr.app file:

  1. Use a text editor and open the wdbsvr.app file:

    • On Windows, see:

      ORACLE_HTTPSERVER_HOME\Apache\modplsql\cfg\wdbsvr.app
      
    • On UNIX and Linux, see:

      ORACLE_HTTPSERVER_HOME/Apache/modplsql/cfg/wdbsvr.app
      
  2. Add an entry for Oracle Application Express using the following syntax. Only change the settings indicated in italics.

    [DAD_apex] 
     connect_string = localhost:1521:orcl 
     password = apex 
     username = apex_public_user 
     default_page = apex 
     document_table = wwv_flow_file_objects$ 
     document_path = docs 
     document_proc = wwv_flow_file_mgr.process_download 
     reuse = Yes 
     enablesso = No 
     stateful = STATELESS_RESET 
     nls_lang = American_America.AL32UTF8
    

    Where:

    • connect_string refers to the host ID, port number, and Oracle9i database where Oracle Application Express was installed. Use the format host:port:sid.

      If the Oracle9i version of Oracle HTTP Server you want to use is installed in the same Oracle home as the database you specified for use with Oracle Application Express, leave this parameter blank.

    • password is the password you changed for the APEX_PUBLIC_USER. See "Change the Password for the APEX_PUBLIC_USER Account".

    • nls_lang determines the language setting of the DAD. The character set portion of the nls_lang value must always be set to AL32UTF8, regardless of whether or not the database character set is AL32UTF8.

      If either the territory portion or the language portion of the NLS settings contains a space, you must wrap the value in double quotes as shown in the following example:

      nls_lang = "ENGLISH_UNITED KINGDOM.AL32UTF8"
      

      You can find information about your database's NLS settings by querying the view NLS_DATABASE_PARAMETERS as shown in the following example:

       SELECT parameter,value 
       FROM nls_database_parameters 
       WHERE PARAMETER IN ('NLS_CHARACTERSET','NLS_LANGUAGE','NLS_TERRITORY');
      
  3. Leave the remaining settings, including the user name setting, as they appear in the previous example.

  4. Save and exit the wdbsvr.app file.

B.2.5.5 Modify the Oracle9i httpd.conf

You must modify the httpd.conf file to include an alias that points to the file system path where you copied the images directory. You may also need to modify the httpd.conf file to add two new MIME types to support SQL Workshop.

To modify httpd.conf file:

  1. Use a text editor and open the httpd.conf file:

    • On Windows:

      ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
      
    • On UNIX and Linux:

      ORACLE_HTTPSERVER_HOME/Apache/Apache/conf/httpd.conf
      
  2. Add an alias entry that points to the file system path where you copied the images directory.

    • Windows example:

      Alias /i/ "C:\oracle\ora92\Apache\Apache\images/" 
      
    • UNIX and Linux example:

      Alias /i/ "/home/oracle/OraHome1/Apache/Apache/images/" 
      

    Note that the previous examples assume you specified the image directory alias as /i/ when you ran the apexins.sql script.

    Note you must include the forward slash (/) at the end of the path.

  3. Next, add the following two lines to support SQL Workshop if they do not currently exist:

    AddType text/xml             xbl
    AddType text/x-component     htc 
    

    If you are upgrading from Oracle HTML DB 2.0 or later, these MIME types should already exist.

  4. Save and exit the httpd.conf file.

  5. Stop and restart Oracle HTTP Server.

    • On Windows, Stop and restart Oracle HTTP Server:

      • Stop Oracle HTTP Server - From the Start menu, select Programs, Oracle - OraHome, Oracle HTTP Server, and Stop HTTP Server.

      • Restart Oracle HTTP Server - From the Start menu, select Programs, Oracle - OraHome, Oracle HTTP Server, and Start HTTP Server.

    • On UNIX and Linux, execute the following commands:

      ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl stop
      ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl start
      

    Note that if the Oracle HTTP Server is listening on a port less than 1024, then these commands must be executed as a privileged user (such as root).

B.2.6 About Enabling Network Services in Oracle Database 11g

By default, the ability to interact with network services is disabled in Oracle Database 11g release 1 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11g release 1 (11.1), you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_030200 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.

  • Searching for content in online Help (that is, using the Find link).

Topics in this section include:


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.

B.2.6.1 Granting Connect Privileges

The following example demonstrates how to grant connect privileges to any host for the APEX_030200 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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 power users to connect to everywhere',
    'APEX_030200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

B.2.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_030200 user. See "Granting Connect Privileges".

B.2.7 Security Considerations

Oracle highly recommends you configure and use a Secure Sockets Layer (SSL) to ensure that passwords and other sensitive data are not transmitted in clear text in HTTP requests. Without the use of SSL, passwords could potentially be exposed, compromising security.

SSL is an industry standard protocol that uses RSA public key cryptography in conjunction with symmetric key cryptography to provide authentication, encryption, and data integrity.

B.2.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. At runtime, each user's Web browser language settings determine the specific language version.

The translated version of Oracle Application Express should be loaded into a database that has a character set that supports the specific language. If you attempt to install a translated version of Oracle Application Express into a database that does not support the character encoding of the language, the installation may fail or the translated Oracle Application Express instance may appear corrupt when run. The database character set AL32UTF8 supports all the translated versions of Oracle Application Express.

You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in AL32UTF8.


Note:

Regardless of the target database character set, to install a translated version of Oracle Application Express, you must set the character set value of 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 

B.2.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. 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_030200;
    
  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).

B.2.9 About Managing JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSES determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.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 in this section include:

B.2.9.1 Viewing the Number of JOB_QUEUE_PROCESSES

There are currently three ways to view the number of JOB_QUEUE_PROCESSES:

  • In the installation log file

  • On the About Application Express page in Oracle Application Express

  • From SQL*Plus

B.2.9.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

After installing or upgrading Oracle Application Express to release 3.2, you can view the number of JOB_QUEUE_PROCESSES in the installation log files. See "Reviewing a Log of an Installation Session".

B.2.9.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 Oracle Application Express Workspace".

  2. On the Administration list, click About Application Express.

    The current number JOB_QUEUE_PROCESSES displays at the bottom of the page.

B.2.9.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'

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

B.2.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_BASE/ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf
    
  • For Windows based systems:

    ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf
    

B.2.10.1 Obfuscating Passwords

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

B.2.11 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirement".

A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.

An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.


See Also:

Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application Express

Topics in this section include:

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

      If your setup uses Apache and mod_plsql, go to:

      http://hostname:port/pls/apex/apex_admin
      

      Where:

      hostname is the name of the system where Oracle HTTP Server is installed.

      port is the port number assigned to 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 when you installed Oracle Application Express.

      • Click Login.


    See Also:

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

    Next, create a workspace.

  2. Click Manage Workspaces.

  3. Under Manage Workspaces, click Create Workspace.

    The Create Workspace Wizard appears.

  4. For Identify Workspace, enter a workspace name and description and click Next.

  5. For Identify Schema, select the Oracle Forms application schema.

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

    2. Select a schema from the list.

    3. Click Next.

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

  7. Confirm your selections and click Create.

B.2.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 Manage Workspaces.

  3. Under Manage Workspaces, click Manage Developers and Users.

    The Manage Developers and Users page appears.

  4. Click Create.

    The Create/Edit User page appears.

  5. Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.


    Tip:

    To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.

  6. Under Password, type a case-sensitive password for this account.

    If your organization has set up a password policy, be sure the password meets the requirements.

  7. Under Developer Privileges, select the appropriate privileges:

    • User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.

      Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.

    • User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.

      In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.

  8. Under Account Control, specify the following:

    • Account Availability - Select Unlocked to enable a user to log in to this account.

    • Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.

  9. Click Create User or Create and Create Another.

B.2.11.3 Logging in to Your Oracle Application Express 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 a workspace:

  1. In a Web browser, navigate to the Oracle Application Express Login page.

    If your setup uses Oracle HTTP Server (Apache) and mod_plsql, go to:

    http://hostname:port/pls/apex
    

    Where:

    • hostname is the name of the system where Oracle HTTP Server is installed.

    • port is the port number assigned to Oracle HTTP Server. In a default installation, this number is 7777. You can find information about your Oracle HTTP Server installation's port number from either of the following files:

      ORACLE_BASE\ORACLE_HOME\install\portlist.ini
      ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
      

      Be aware that if you change a port number, it is not updated in the portlist.ini file. You can only rely on this file immediately after installation.

    • pls is the indicator to use the mod_plsql cartridge.

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

      For users who have upgraded from earlier releases, or who have a custom configuration, this value may be htmldb or something else. Verify your DAD with your Oracle Application Express administrator.

    The Login page appears.

  2. Under Login, enter the following:

    • Workspace field - Enter the name of your workspace.

    • Username field - Enteryour 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.

B.3 Install the Database and Configure Oracle HTTP Server

This section describes how to configure Oracle HTTP Server with mod_plsql in a new installation.

Topics in this section include:

Note that instructions do not apply if you are running Oracle HTTP Server distributed with Oracle9i Release 2. To learn more, see "Configuring Oracle HTTP Server Distributed with Oracle9i Release 2".


Note:

Within the context of this section, the Oracle home directory (ORACLE_HTTPSERVER_HOME) is the location where Oracle HTTP Server is installed.

B.3.1 Install the Oracle Database and Complete Pre-installation Tasks

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

B.3.2 Configure Oracle HTTP Server Distributed with Oracle Database Release 9.0.3

Perform the following postinstallation steps if:

  • This is a new installation of Oracle Application Express (that is, you are not upgrading from a previous release)

  • You are running Oracle HTTP Server distributed with Oracle Database Release 9.0.3.

  • Oracle HTTP Server is installed in an Oracle home.

Topics in this section include:


Note:

Within the context of this section, the Oracle home directory (ORACLE_HTTPSERVER_HOME) is the location where Oracle HTTP Server is installed.

B.3.2.1 Change the Password for the ADMIN Account

First, change the password for the Oracle Application Express ADMIN account.

To change the password for the ADMIN account:

  1. Change your working directory to ORACLE_BASE\ORACLE_HOME\apex or whatever convention used to indicate the Oracle home.

  2. 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
      
  3. Run apxchpwd.sql. For example:

    @apxchpwd.sql
    

    When prompted enter a password for the ADMIN account.

B.3.2.2 Unlock the APEX_PUBLIC_USER Database User

When configuring Oracle HTTP Server for Oracle Application Express in a new installation, the database user APEX_PUBLIC_USER must be an unlocked account. To unlock the account for database user APEX_PUBLIC_USER, execute the following steps:

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

    ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
    

B.3.2.3 Change the Password for the APEX_PUBLIC_USER Database User

In order to specify the password in the DAD file, you have to change the password for the database user APEX_PUBLIC_USER. Please use the following steps to change the password for the APEX_PUBLIC_USER database user:

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

    SQL> PASSWORD APEX_PUBLIC_USER
    Changing password for APEX_PUBLIC_USER
    New password: password
    Retype new password: password
    
B.3.2.3.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 the new profile.


See Also:

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

B.3.2.4 Modifying the wdbsvr.app File

To create the DAD, you modify the wdbsvr.app file and add an entry for Oracle Application Express.

To modify the wdbsvr.app file:

  1. Use a text editor and open the wdbsvr.app file:

    • On Windows, see:

      ORACLE_HTTPSERVER_HOME\Apache\modplsql\cfg\wdbsvr.app
      
    • On UNIX and Linux, see:

      ORACLE_HTTPSERVER_HOME/Apache/modplsql/cfg/wdbsvr.app
      
  2. Add an entry for Oracle Application Express using the following syntax. Only change the settings indicated in italics.

    [DAD_apex] 
     connect_string = localhost:1521:orcl 
     password = apex 
     username = apex_public_user 
     default_page = apex 
     document_table = wwv_flow_file_objects$ 
     document_path = docs 
     document_proc = wwv_flow_file_mgr.process_download 
     reuse = Yes 
     enablesso = No 
     stateful = STATELESS_RESET 
     nls_lang = American_America.AL32UTF8
    

    Where:

    • connect_string refers to the host ID, port number, and Oracle9i database where Oracle Application Express was installed. Use the format host:port:sid.

      If the Oracle9i version of Oracle HTTP Server you want to use is installed in the same Oracle home as the database you specified for use with Oracle Application Express, leave this parameter blank.

    • password is the password you changed for the APEX_PUBLIC_USER. See "Change the Password for the APEX_PUBLIC_USER Database User".

    • nls_lang determines the language setting of the DAD. The character set portion of the nls_lang value must always be set to AL32UTF8, regardless of whether or not the database character set is AL32UTF8.

      If either the territory portion or the language portion of the NLS settings contains a space, you must wrap the value in double quotes as shown in the following example:

      nls_lang = "ENGLISH_UNITED KINGDOM.AL32UTF8"
      

      You can find information about your database's NLS settings by querying the view NLS_DATABASE_PARAMETERS as shown in the following example:

       SELECT parameter,value 
       FROM nls_database_parameters 
       WHERE PARAMETER IN ('NLS_CHARACTERSET','NLS_LANGUAGE','NLS_TERRITORY');
      
  3. Leave the remaining settings, including the user name setting, as they appear in the previous example.

  4. Save and exit the wdbsvr.app file.

B.3.2.5 Modify the Oracle9i httpd.conf

You must modify the httpd.conf file to include an alias that points to the file system path where you copied the images directory. You may also need to modify the httpd.conf file to add two new MIME types to support SQL Workshop.

To modify httpd.conf file:

  1. Use a text editor and open the httpd.conf file:

    • On Windows:

      ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
      
    • On UNIX and Linux:

      ORACLE_HTTPSERVER_HOME/Apache/Apache/conf/httpd.conf
      
  2. Add an alias entry that points to the file system path where you copied the images directory.

    • Windows example:

      Alias /i/ "C:\oracle\ora92\Apache\Apache\images/" 
      
    • UNIX and Linux example:

      Alias /i/ "/home/oracle/OraHome1/Apache/Apache/images/" 
      

    Note that the previous examples assume you specified the image directory alias as /i/ when you ran the apexins.sql script.

    Note you must include the forward slash (/) at the end of the path.

  3. Next, add the following two lines to support SQL Workshop if they do not currently exist:

    AddType text/xml             xbl
    AddType text/x-component     htc 
    

    If you are upgrading from Oracle HTML DB 2.0 or later, these MIME types should already exist.

  4. Save and exit the httpd.conf file.

B.3.2.6 Stop and Restart Oracle HTTP Server

To stop and restart Oracle HTTP Server:

  • On Windows, Stop and restart Oracle HTTP Server:

    • Stop Oracle HTTP Server - From the Start menu, select Programs, Oracle - OraHome, Oracle HTTP Server, and Stop HTTP Server.

    • Restart Oracle HTTP Server - From the Start menu, select Programs, Oracle - OraHome, Oracle HTTP Server, and Start HTTP Server.

  • On UNIX and Linux, execute the following commands:

    ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl stop
    ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl start
    

Note that if the Oracle HTTP Server is listening on a port less than 1024, then these commands must be executed as a privileged user (such as root).

B.3.2.7 Copy 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 ORACLE_BASE\ORACLE_HOME\apex directory to the location on the file system containing the Oracle home for Oracle HTTP Server.


Note:

This section is relevant only if your plan to run Oracle Application Express with Oracle HTTP Server with mod_plsql.

Topics in this section include:

B.3.2.7.1 Copying the Images Directory After an Upgrade

During an upgrade, you must 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 httpd.conf file for the text alias /i/:

When you locate the images directory path, Oracle recommends that you copy the existing images directory to a backup location. Doing this allows you to revert to the previous release, if that becomes necessary.

After you copy the existing images directory, 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:

  • 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
    

In the preceding syntax examples:

  • ORACLE_HOME is the Oracle Database Oracle home

  • ORACLE_HTTPSERVER_HOME is the existing Oracle Application Server or Oracle HTTP Server Oracle home

B.3.2.7.2 Copying the Images Directory in a New Installation

After installation, copy the directory apex/images.

You can copy the images directory using Windows Explorer, or running a command from a command prompt similar to the following:

  • 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
    

In the preceding syntax example:

  • ORACLE_HOME is the Oracle Database Oracle home

  • ORACLE_HTTPSERVER_HOME is the existing Oracle HTTP Server Oracle home

B.3.3 About Enabling Network Services in Oracle Database 11g

By default, the ability to interact with network services is disabled in Oracle Database 11g release 1 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11g release 1 (11.1), you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_030200 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.

  • Searching for content in online Help (that is, using the Find link).

Topics in this section include:


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.

B.3.3.1 Granting Connect Privileges

The following example demonstrates how to grant connect privileges to any host for the APEX_030200 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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 power users to connect to everywhere',
    'APEX_030200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

B.3.3.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_030200 user. See "Granting Connect Privileges".

B.3.4 Security Considerations

Oracle highly recommends you configure and use a Secure Sockets Layer (SSL) to ensure that passwords and other sensitive data are not transmitted in clear text in HTTP requests. Without the use of SSL, passwords could potentially be exposed, compromising security.

SSL is an industry standard protocol that uses RSA public key cryptography in conjunction with symmetric key cryptography to provide authentication, encryption, and data integrity.

B.3.5 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. At runtime, each user's Web browser language settings determine the specific language version.

The translated version of Oracle Application Express should be loaded into a database that has a character set that supports the specific language. If you attempt to install a translated version of Oracle Application Express into a database that does not support the character encoding of the language, the installation may fail or the translated Oracle Application Express instance may appear corrupt when run. The database character set AL32UTF8 supports all the translated versions of Oracle Application Express.

You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in AL32UTF8.


Note:

Regardless of the target database character set, to install a translated version of Oracle Application Express, you must set the character set value of 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 

B.3.5.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. 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_030200;
    
  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).

B.3.6 About Managing JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSES determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.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 in this section include:

B.3.6.1 Viewing the Number of JOB_QUEUE_PROCESSES

There are currently three ways to view the number of JOB_QUEUE_PROCESSES:

  • In the installation log file

  • On the About Application Express page in Oracle Application Express

  • From SQL*Plus

B.3.6.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

After installing or upgrading Oracle Application Express to release 3.2, you can view the number of JOB_QUEUE_PROCESSES in the installation log files. See "Reviewing a Log of an Installation Session".

B.3.6.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 Oracle Application Express Workspace".

  2. On the Administration list, click About Application Express.

    The current number JOB_QUEUE_PROCESSES displays at the bottom of the page.

B.3.6.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'

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

B.3.7 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_BASE/ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf
    
  • For Windows based systems:

    ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf
    

B.3.7.1 Obfuscating Passwords

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

B.3.8 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirement".

A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.

An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.


See Also:

Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application Express

Topics in this section include:

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

      If your setup uses Oracle HTTP Server (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 when you installed Oracle Application Express.

      • Click Login.


    See Also:

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

    Next, create a workspace.

  2. Click Manage Workspaces.

  3. Under Manage Workspaces, click Create Workspace.

    The Create Workspace Wizard appears.

  4. For Identify Workspace, enter a workspace name and description and click Next.

  5. For Identify Schema, select the Oracle Forms application schema.

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

    2. Select a schema from the list.

    3. Click Next.

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

  7. Confirm your selections and click Create.

B.3.8.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 Manage Workspaces.

  3. Under Manage Workspaces, click Manage Developers and Users.

    The Manage Developers and Users page appears.

  4. Click Create.

    The Create/Edit User page appears.

  5. Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.


    Tip:

    To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.

  6. Under Password, type a case-sensitive password for this account.

    If your organization has set up a password policy, be sure the password meets the requirements.

  7. Under Developer Privileges, select the appropriate privileges:

    • User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.

      Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.

    • User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.

      In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.

  8. Under Account Control, specify the following:

    • Account Availability - Select Unlocked to enable a user to log in to this account.

    • Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.

  9. Click Create User or Create and Create Another.

B.3.8.3 Logging in to Your Oracle Application Express 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 a workspace:

  1. In a Web browser, navigate to the Oracle Application Express Login page.

    If your setup uses Oracle HTTP Server (Apache) and mod_plsql, go to:

    http://hostname:port/pls/apex
    

    Where:

    • hostname is the name of the system where Oracle HTTP Server is installed.

    • port is the port number assigned to Oracle HTTP Server. In a default installation, this number is 7777. You can find information about your Oracle HTTP Server installation's port number from either of the following files:

      ORACLE_BASE\ORACLE_HOME\install\portlist.ini
      ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
      

      Be aware that if you change a port number, it is not updated in the portlist.ini file. You can only rely on this file immediately after installation.

    • pls is the indicator to use the mod_plsql cartridge.

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

      For users who have upgraded from earlier releases, or who have a custom configuration, this value may be htmldb or something else. Verify your DAD with your Oracle Application Express administrator.

    The Login page appears.

  2. Under Login, enter the following:

    • Workspace field - Enter the name of your workspace.

    • Username field - Enteryour 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.

PK(PKI$AOEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPKI$AOEBPS/overview.htmac Oracle Application Express Installation Overview

1 Oracle Application Express Installation Overview

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

This chapter contains these topics:

1.1 Overview of the Installation Process

The installation process consists of four parts:

  1. Plan your installation: This chapter offers an overview of the steps required to install Oracle Application Express. During the planning phase, you should also determine whether to install a full development environment or runtime environment.

    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: As described in Figure 1-1, the required installation steps depend upon:

    • How you install the Oracle Application Express. Available options include downloading a ZIP file from Oracle Technology Network (OTN), or using the version of Oracle Application Express that installs with Oracle Database 11g or later.

    • Which HTTP server you decide to use. Available options include the embedded PL/SQL gateway or Oracle HTTP Server and mod_plsql.

      To learn more, see "About Choosing an HTTP Server".

    Figure 1-1 Key Decision Points in the Installation Process

    Description of Figure 1-1 follows
    Description of "Figure 1-1 Key Decision Points in the Installation Process"

1.2 Upgrading from a Previous Version of Oracle Application Express

If you have version 1.5.0.00.33, 1.5.1.00.12, 1.6.0.00.87, 1.6.1.00.03, 2.0.0.00.49, 2.2.1.00.04, 3.0.0.00.20, 3.0.1.00.07, 3.0.1.00.08, 3.0.1.00.12, 3.1.0.00.32, 3.1.1.00.09 or 3.1.2.00.02 of Oracle Application Express, following any of the installation scenarios in this guide upgrades your Oracle Application Express instance to version 3.2 and creates Oracle Application Express 3.2 database objects in a new schema and migrates the application metadata to the new version.

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 advertently 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" in "Downloading from Oracle Technology Network" and "Configuration Tasks When Installing from the Database".

1.4 About Choosing an HTTP Server

In order to run, Oracle Application Express must have access to either Oracle HTTP Server and mod_plsql or the embedded PL/SQL gateway.

Topics in this section include:

1.4.1 About 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. It functions as communication broker between the Web server and the Oracle Application Express objects in the Oracle database. More specifically, it maps browser requests into database stored procedure calls over a SQL*Net connection. The following graphic illustrates the Oracle Application Express architecture using Oracle HTTP Server and mod_plsql.

Description of arch.gif follows
Description of the illustration arch.gif

Note that this three tier architecture consists of the following components: a Web browser, Oracle HTTP Server (Apache) with mod_plsql, and an Oracle database containing Oracle Application Express.

Advantages of Oracle HTTP Server (Apache) with mod_plsql:

  • Separation of mid-tier for the database tier

  • Appropriate for Oracle Real Application Clusters (Oracle RAC) environments

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

  • Oracle9i HTTP Server Release 2—see the httpd.conf file.

  • Oracle HTTP Server distributed with Oracle Database 11g—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" and "Configuration Tasks When Installing from the Database".

1.4.2 About the Embedded PL/SQL Gateway

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

Description of arch_epg.gif follows
Description of the illustration arch_epg.gif

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

Advantages of the embedded PL/SQL gateway:

  • 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. The XML DB HTTP Protocol Listener and embedded PL/SQL gateway provides the equivalent core features of Oracle HTTP Server and mod_plsql. 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, it is not recommended to use the embedded PL/SQL gateway for applications that run on the Internet. Additionally, the embedded PL/SQL gateway does not provide the same flexibility of configuration and detailed logging as Oracle HTTP Server with mod_plsql.

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 "Using Protocols to Access the Repository" in Oracle XML DB Developer's Guide.

1.4.3 Selecting an HTTP Server 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 HTTP Server with mod_plsql. Oracle HTTP Server with mod_plsql permits 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 upon where you install the software from and which HTTP server you decide to use. This section provides an overview of each installation scenario.

Topics in this section include:

1.5.3 Scenario 3: Installing from the Database and Configure the Embedded PL/SQL Gateway

Follow the steps in this scenario if you are using a version of Oracle Application Express that installs with Oracle Database 11g or later and configuring the embedded PL/SQL gateway. Required steps in this scenario include:

1.5.4 Scenario 4: Installing from the Database and Configure Oracle HTTP Server

Follow the steps in this scenario if you are using a version of Oracle Application Express that installs with Oracle Database 11g or later and configuring Oracle HTTP Server with mod_plsql distributed with Oracle Database 11g or Oracle Application Server 10g. Required steps in this scenario include:

PKU,ܡaaPKI$AOEBPS/title.htmv Oracle Application Express Installation Guide, Release 3.2

Oracle® Application Express

Installation Guide

Release 3.2

E12196-03

April 2012


Oracle Application Express Installation Guide, Release 3.2

E12196-03

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

Primary Author:  Terri Jennings

Contributors:  Marco Adelfio, Christina Cho, Joel Kallman, Anne Romano, and 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.

PK}֟{vPKI$AOEBPS/accessibility.htmn3 Accessibility in Oracle Application Express

D Accessibility in Oracle Application Express

This section attempts to provide information for users who are accessing Oracle Application Express utilizing only a keyboard or Freedom Scientific's screen reader JAWS.

This section contains the following topics:

For additional information about the accessibility of Oracle products, see:

http://www.oracle.com/accessibility

Note:

JAWS release 10.0.1139 with all default settings was used in writing this section.

D.1 General Violations

The following is a list of general accessibility violations in Oracle Application Express, followed by known workarounds where possible:

  • Some tables containing data are poorly marked up with appropriate summary information. This issue does not currently have a workaround.

    In some situations, JAWS may interpret the contents of a layout table as a data table and when this happens, the table will be available in the JAWS buffer and navigable using the JAWS navigation quick key T. However due to the missing summary text, these are difficult to identify.

  • Some form items do not have a label tag describing the form item.

    This issue does not currently have a workaround.

  • Some decorative images are missing an empty alt text.

    This issue does not currently have a workaround.

  • Some non-decorative images are not accompanied by alt text.

    This issue does not currently have a workaround.

  • Some region types contain layout tables (that is, tables with an empty summary attribute) that contain th tags.

    This issue does not currently have a workaround.

  • If functionality is provided by XMLHTTP (AJAX) and DHTML scripting languages, screen readers may not properly interpret screen updates. In most, but not all cases, JAWS interprets the updates presented utilizing XMLHTTP. In the cases where updates are picked up, there is still a problem since JAWS does not notify the user of the update.

    This issue does not currently have a workaround.

  • Some event handlers are not device independent.

    For example, JAWS does have a mechanism to fire onmouseover events that can help with these types of event handlers.

    To activate an onmouseover event handler in JAWS:

    1. Move to the element that contains the onmouseover event. Note that you know if the element has this event handler if JAWS announces “on mouse over” on arrival.

    2. Press CTRL+INSERT+ENTER to launch the mouseover event.

  • Some pages contain contextual Help within Show/Hide regions, which are hidden by default. This information is currently not accessible using keyboard navigation.

    This issue does not currently have a workaround.

  • Tab orders do not always follow a logical order.

    This issue does not currently have a workaround.

  • Some layout tables have no summary attribute.

    This issue does not currently have a workaround.

  • Some tables containing data have an empty summary attribute.

    This issue does not currently have a workaround.

D.2 Tips for Accessing Form Pages in Oracle Application Express

Many of the pages in Oracle Application Express are form pages designed for maintaining application metadata. This section describes how you can gain an understanding of the structure of these pages and interact with them using a screen reader such as JAWS.

Topics in this section include:

D.2.1 Understanding the Structure of a Page

Many form pages are logically broken up into different regions. For example, the Edit Page Item page has the following regions containing form fields for maintaining information about the page item:

  • Name

  • Displayed

  • Label

  • Element

  • Source

  • Default

  • LOV

  • Security

  • Conditions

  • Read Only

  • Help

  • Configuration

  • Comments

Unfortunately these page sections are not marked up with HEADERS (Hn) tags, therefore another approach is required to gain an understanding of this structure. At the top of the page, there are links that take the user directly to the region they wish to locate. There are contained within a division element. Additionally, there is Show All link as the first link in the set.

By understanding that links to each section exist in a division element, you can understand of the overall structure of the page using JAWS:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name, Edit Page Item.

  2. Press CTRL+INSERT+ Z to load the Select a Division dialog box.

  3. Press S repeatedly to go to the division that begins with Show All.

    JAWS reads the contents of the division and in doing so gives you a list of all the regions on the page.

  4. Press ENTER to navigate to the division.

  5. Press DOWN ARROW to access each link for each region on the page.

  6. To navigate to a particular region, press ENTER on the appropriate link.

D.2.2 Using the Tasks Links on a Page

Many pages in Oracle Application Express contain a Tasks region on the right-hand side of the page. For example, the Edit Page Item page has a Tasks region on the right side containing a list of links relevant to the current item type. There is no HEADER defined on this region currently.

To navigate to the Tasks region using JAWS:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press CTRL+F to launch the Find dialog box.

  3. Type tasks and press ENTER.

  4. Since Tasks links are implemented in a list, press the JAWS navigation quick key L once to navigate to the list.

  5. Press the JAWS navigation quick key I to navigate through the list items and ENTER if you wish to activate a link.

D.2.3 Accessing Help Text

This section describes how to use JAWS to access Page Help and Item-level help in Oracle Application Express.

Topics in this section include:

D.2.3.1 Accessing Page Help

Many pages in Oracle Application Express have regions on the right side of the page containing Help text. This Help text describes basic concepts or decision points relevant to the current page. For example, the Edit Page Item page has a region on the top right of the page that reads as follows:

Page Items - Page items are HTML elements with associated session state. Page items can be rendered in many ways such as a text field, a check box, or a select list.

This text is contained within a table with empty summary text and has no HEADER. Navigation to this text is difficult. However, you can navigate to regions like this by searching for text which is similar to the page title. For example, if you were on the Edit Page Item page, you might search for the text Page Items.

To search for the text Page Items using JAWS:

  1. Press the PLUS sign (+) on the numeric keypad to go back into Virtual PC Cursor mode.

    Note: This step is not required if using JAWS 10 with Auto Forms Mode enabled.

  2. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  3. Press CTRL+F to launch the JAWS Find dialog box.

  4. Type page items and press ENTER.

    Once the text has been located, press DOWN ARROW to read the text.

D.2.3.2 Accessing Item Help

Most items within the user interface have field-level Help available by activating or clicking on the field label. If Help text is available, the adjacent label will be implemented as a link, where the link text will match that of the current form item's label text. Activating this link will load a separate window containing the help text.

To access this field-level Help for an item using JAWS:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press INSERT+ F7 to load the Links List dialog box.

  3. Press the first letter of the link text you wish to locate, repeatedly.

    If there is no link text matching the label of the form item you wish to get help for, then there is no help available for that item

  4. If the appropriate link is found, press ENTER to activate the link.

    A separate window containing the Help text appears

  5. Press the JAWS navigation quick key N to go to the help text.

  6. Once you are finished reading the help text, press ALT+F4 to close the Help window and return to page.

D.2.4 Dealing with Raised Validations

If a validation fails when submitting a form, you are redirected back to the same page and an error message displays in a list at the top of the page. Additionally, error text displays inline next to the page item associated with the validation.

The following procedure explains how to identify when a validation fails, review error messages, and rectify the necessary values in order to pass the validation, all within the context of the Edit Page Item form page.

Topics in this section include:

D.2.4.1 Identifying when a Validation Fails

When a validation fails, the same page loads with details of the failure. In this situation JAWS does not read the page as it would normally when loading a new page. You can quickly check if a validation error has occurred by searching for any images with an alt text of Error.

To check for images having an alt text of Error:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press CTRL+INSERT+G to launch the Select a Graphic dialog box.

  3. Press E repeatedly to try and locate the error image. If there is an error image, then this means a validation has failed.

D.2.4.2 Reviewing Error Messages

If a validation error occurs, a list appears at the top of the page and contains list items with the error text for the failed validations.

To navigate to the list containing error text:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press the JAWS navigation quick key L to go to the first list on the page.

    JAWS will announce "list of x items" where x is the number of errors that has occurred.

  3. Press the JAWS navigation quick key I to read through each error message.

D.2.4.3 Fixing a Validation Error

There is no simple way to navigate from the summary list of error messages to the page item associated with the failed validation. One approach is to navigate to the error image that displays next to the associated page item and then use JAWS reading commands to understand which error you are dealing with.

To navigate to the error image:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press CTRL+INSERT+G to load the Select a Graphic dialog box.

  3. Press E repeatedly to locate the error image.

  4. Press ENTER to navigate to the error image.

  5. Press DOWN ARROW once to go to the Help text link for the associated field.

    This tells you which field has a validation error since the link text is the same as the form field label.

  6. Press the DOWN ARROW again to go to the error message.

  7. Press the JAWS navigation quick key F to go to the page item.

  8. Press ENTER to enable Forms Mode and provide a new value.

    Once you provide a new value and fix the error, you need to locate subsequent error images on the page.

  9. To locate subsequent error messages on the page:

    1. Press the PLUS sign (+) on the numeric keypad to go back into Virtual PC Cursor mode.

    2. Press the JAWS navigation quick key G repeatedly until you locate the next error image.

      JAWS announces "graphic error."

    3. Once you have located the next error image, repeat steps 5 to 8 until all errors have been addressed.

    4. Once all errors have been addressed, you need to click the Apply Changes button:

      • Press the JAWS navigation quick key B until you hear JAWS announce "Apply Changes Button."

      • Press ENTER to apply your changes.

        If your changes fixed all the validation errors, you will be taken back to the 'Page Definition' page.

D.3 Issues with Interactive Report Regions

Oracle Application Express, release 3.1 included a new report region called interactive report. Interactive report regions enable users to alter the layout of report data by choosing columns and applying filters.

In Oracle Application Express release 3.2, interactive report regions are only utilized within the Oracle Application Express Application Migration module. Interactive report regions have a number of violations that strongly prohibits their usability with screen readers and keyboard-only users.

The following list explains these violations and includes known workarounds where possible:

  • The Actions menu is not accessible by a screen reader or by keyboard navigation.

    This issue does not currently have a workaround.

  • The Search icon menu to the left of the Search region is not accessible by screen reader or by keyboard navigation.

    This issue does not currently have a workaround.

  • The column headings used to sort, filter, group, exclude data, or display Help about data are not accessible by a screen reader or by keyboard navigation.

    This issue does not currently have a workaround.

  • Interactive report regions produce a table with rows that do not contain a HEADER attribute linking to the id of the th tag for that column. Although the number of violations on interactive reports strongly prohibits their use with screen readers such as JAWS, this particular violation is not a major issue. This is because the data tables are fairly simple (nearly always where each cell is associated with only 1 HEADER and row) and do use the appropriate table markup (th and td elements). Thus, screen readers such as JAWS are able to announce the context of a particular cell.

    The one exception is when a Control Break is defined on the data in the interactive report to group it. In this situation, an additional th element is generated for the column that the Control Break has been enabled. Because of the missing markup, it is therefore difficult to get the full context when navigating the cells of the table in this situation.

  • Flash charts do not provide alternative descriptive text.

    This issue does not currently have a workaround.

  • An animated GIF is sometimes used to indicate processing is underway (for example, when filtering a report or loading a chart). This information is not available in a non-animated presentation mode.

    This issue does not currently have a workaround.

  • Some Form items in AJAX-based dialog boxes do not have associated label tags.

    This issue does not currently have a workaround.

  • The layout table used for the Search tab has no summary attribute. Although the number of violations on interactive reports strongly prohibits their use with screen readers such as JAWS, this particular violation is not a major issue. Screen readers such as JAWS do not pick this up as a data table.

  • The table containing data has an empty summary attribute. This issue does not currently have a workaround.

    Due to the contents of the table, screen readers such as JAWS do pick this up as a data table. It is therefore available in the screen reader's buffer and navigable using the JAWS navigation quick key T. However due to the empty summary text, it is difficult to identify.

  • Because interactive reports requires functionality provided by the XMLHTTP (AJAX) and DHTML scripting languages, screen readers may not properly interpret screen updates. For example, in some cases screen readers such as JAWS pick up the updates presented using XMLHTTP. Even if updates are picked up, JAWS does not announce the update.

    This issue does not currently have a workaround.

D.4 Accessing Interactive Report Regions Using a Keyboard

As described in "Issues with Interactive Report Regions", some features in Interactive Reports are not available to keyboard-only users. This section describes some basic features that are available by tabbing through the focusable elements on the page.

Topics in this section include:

D.4.1 Searching an Interactive Report

All interactive reports feature a Search field at the top of the page. This Search field is a standard text item.

To execute a search using a keyboard:

  1. Press TAB repeatedly to navigate to the Search field.

  2. Type keywords in the Search field.

  3. Press ENTER to invoke the search. Alternatively, you can also press TAB to navigate to the Go button and then press ENTER.

D.4.2 Specifying Rows to Display

The Rows select list displays to the right of the Search field at the top of the page and controls the number of rows that display in the report. This is a standard select list.

To use the Rows list using a keyboard:

  1. Press TAB to navigate to the Rows list.

  2. Press Down Arrow or Up Arrow to make a selection.

  3. Press TAB to navigate to the Go button and then press ENTER.

D.4.3 Managing Bulk Updates

Some interactive reports in Oracle Application Express Application Migration Workshop contain form items for applying bulk updates to components (for example, the Blocks page). All form items within the report and buttons to apply the changes are keyboard accessible. Also some pages feature a check box in the first row to perform bulk processing and corresponding Select All and Deselect All links below the report. All of these items are keyboard accessible.

D.4.4 Utilizing Drill Down Links

All the interactive reports Oracle Application Express Application Migration Workshop contain at least one link to edit or view a specific sub-components. These are all standard links and are therefore keyboard accessible.

D.4.5 Editing Existing Filters

When an existing search filter is applied to an interactive report, a search filter displays below the Search bar.

You can access the search filter using the keyboard to:

  • Edit the search filter.

    Press TAB to navigate to the search filter and then press ENTER to open the Filter dialog box. Since the focus does not move automatically to the dialog box, press SHIFT+TAB until you reach the appropriate controls.

  • Disable or enable the search filter.

    Press TAB to navigate to the check box to the right of the filter and SPACEBAR to disable or enable the filter.

  • Delete the search filter.

    Press TAB to navigate to the search filter and then ENTER to open the Filter dialog box. Press TAB or SHIFT+TAB to navigate to the Delete button and then press ENTER.

PKgnnPKI$AOEBPS/pre_require.htm5/ Oracle Application Express Installation Requirements

2 Oracle Application Express Installation Requirements

This chapter describes the requirements for installing Oracle Application Express.

This chapter contains these topics:

2.1 Oracle Database Requirement

Oracle Application Express version 3.2 requires an Oracle database that is release 9.2.0.3 or later.


Note:

You can upgrade the version of Oracle Application Express in Oracle Database Express Edition 10g Release 2 (10.2), by installing Oracle Application Express version 3.2. For more information, see the Oracle Application Express page on Oracle Technology Network (OTN).

2.1.1 Oracle JVM Requirement

If you plan to run Oracle Application Express with an Oracle database earlier than Oracle Database 10g release 1 (10.1), you must install Oracle Java Virtual Machine (JVM). To learn more, see the Oracle Database Installation Guide for your operating environment.

2.1.2 Checking the shared_pool_size of the Target Database


Note:

Ignore this requirement if your configuration uses non-null 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 values 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 Requirement

To view or develop Oracle Application Express applications, Web browsers must support Java Script and the HTML 4.0 and CSS 1.0 standards. The following browsers meet these requirements:

  • Microsoft Internet Explorer 6.0 or later version

  • Firefox 1.0 or later

2.3 HTTP Server Requirements

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

  • Embedded PL/SQL gateway

  • Oracle HTTP Server and mod_plsql

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

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:

  • Oracle9i release 2 (9.2) or later

  • Oracle9i Application Server release 1 (1.0.2.2) or later

  • Oracle Database 10g Companion CD release 1 or 2

  • Oracle Database 11g release 1

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: 450 MB

  • Free space in Oracle Application Express tablespace: 125 MB

  • Free space in SYSTEM tablespace: 85 MB

  • Free space in Oracle Application Express tablespace for each additional language (other than English) installed: 34 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.

2.6 Oracle Text Requirement

Oracle Text must be installed in order to use the searchable online Help in Oracle Application Express. By default, Oracle Text is installed as part of Oracle Database.

In addition, ensure that the default language preferences for Oracle Text have been installed. To install the Oracle Text default language, log in to the Oracle database where you plan to install Oracle Application Express and run the appropriate drdeflang.sql script, which by default is located in ORACLE_BASE\ORACLE_HOME\ctx\admin\defaults. For example, to run the language preferences script for US English, drdefus.sql:

jstraub: c:\> sqlplus /nolog
SQL> connect ctxsys
Enter password: password
SQL> @c:\oracle\product\10.2.0\db_1\ctx\admin\defaults\drdefus.sql

See Also:

Oracle Text Application Developer's Guide for more information on Oracle Text and "Enabling Network Services in Oracle Database 11g" for your configuration scenario.


Tip:

The installer does a prerequisite check for Oracle Text and will exit if it is not installed.

2.7 PL/SQL Web Toolkit

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

PKII55PKI$AOEBPS/preface.htm5b Preface

Preface

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

This Preface contains these topics:

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.

Related Documents

For more information, see these Oracle resources:

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, please visit the Oracle by Examples (OBEs) Application Express page, located on Oracle's Technology Network. The OBEs provide step-by-step examples with screenshots on how to perform various tasks within Application Express.

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

Printed documentation is available for sale in the Oracle Store at

http://shop.oracle.com/

To download free release notes, installation documentation, white papers, or other collateral, please visit the Oracle Technology Network (OTN). You must register online before using OTN; registration is free and can be done at

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

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/technetwork/indexes/documentation/index.html

Conventions

The following text conventions are used in this document:

ConventionMeaning
boldfaceBoldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.
italicItalic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.
monospaceMonospace 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. Oracle is required to provide the following notices. 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.

AnyChart

Flash chart support in Oracle Application Express is based on the Anychart Flash Chart Component. Anychart is a flexible Macromedia Flash-based solution that enables developers to create animated, compact, interactive flash charts. Flash charts are rendered by a browser and require Flash player 8 or later. Flash charts used in interactive reports require Flash Player 9 or later. For more information about Anychart, go to

http://www.anychart.com

Any attempt to unbundle the AnyChart Flash Chart Component from an Oracle product, or to use the AnyChart Flash Chart Component outside of the Oracle product will be in violation of this license and will result in the immediate termination of this license.

AnyChart AnyGantt Flash Gantt and AnyChart AnyMap

This release of Oracle Application Express includes the AnyChart AnyGantt Flash Gantt Component and the AnyChart AnyMap extension. These products are not exposed through the Oracle Application Express user interface, but can be used programatically in any Oracle Application Express application. To learn more, see:

Any attempt to unbundle the AnyChart AnyGantt Flash Gantt Component or the AnyChart AnyMap extension from an Oracle product, or to use the AnyChart AnyGantt Flash Gantt Component or the AnyChart AnyMap extension outside of the Oracle product will be in violation of this license and will result in the immediate termination of this license.

FCKeditor

Oracle Application Express uses FCKeditor version 2.3.2 for the following item types; HTML Editor Minimal and HTML Editor Standard. This software is licensed under the Apache License, Version 2.0 (the "License"). To view a copy of the Apache License, see Appendix C, "Third-Party License".

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

For more information about FCKeditor, go to:

http://www.fckeditor.net/

Apache FOP

Oracle Application Express includes the Apache FOP Version 0.20.5 libraries and a custom XSL-FO processing JSP. This software is licensed under the Apache License, Version 2.0 (the "License"). To view a copy of the Apache License, see Appendix C, "Third-Party License".

If you wish to use Apache FOP as your report server for PDF region printing, this is now a supported report server configuration. Installation and configuration instructions can be found on Oracle Technology Network. See Installing and Configuring Apache FOP at:

http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html
PK0h55PKI$AOEBPS/index.htm Index

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.5.2, 4.6.2
ADMIN account
changing password, 3.3.3, 3.4.3, B.2.3
apex_epg_config.sql, 3.3.5.1
apexins.sql, 3.3.2, 3.4.2, B.2.2
Application Express
browser requirement, 2.2
database requirement, 2.1
disk space requirements, 2.4
getting started, 3.3.12, 3.4.12, 4.4.9, 4.5.9, B.2.11, B.3.8
HTTP server requirement, 2.3
installing, B.2.2
logging in to, 3.3.12, 3.4.12, 4.4.9, 4.5.9, B.2.11, B.3.8
Oracle Text requirement, 2.6
patching, 4.1
PL/SQL Web Toolkit requirement, 2.7
pre-installation tasks, 3.1, 4.2, B.1
XML DB requirement, 2.5
Application Express Administration Services, 3.3.12.1, 3.4.12.1, 4.4.9.1, 4.5.9.1, B.2.11.1, B.3.8.1
Application Express users
controlling account availability, 3.3.12.2, 3.4.12.2, 4.4.9.2, 4.5.9.2, B.2.11.2, B.3.8.2
requiring password change, 3.3.12.2, 3.4.12.2, 4.4.9.2, 4.5.9.2, B.2.11.2, B.3.8.2
apxchpwd.sql, 3.3.3, 3.4.3, B.2.3
apxconf.sql, 4.4.2.1
apxdevrm.sql, 3.6.2, 4.7.2
apxdvins.sql, 3.6.1, 4.7.1
apxldimg.sql, 3.3.5.2
apxrtins.sql, 3.3.2, 3.4.2, B.2.2
Automatic Storage Management (ASM)
shutting down, 3.1, 4.2, B.1

B

browser
requirement, 2.2

C

configuring
Oracle Application Server 11g, 3.4.5.4, 4.5.2.5
Oracle Application Server 11g (new), 4.5.2
Oracle HTTP Server, 3.4.5, B.2.5
Oracle HTTP Server 11g, 3.4.5.4, 4.5.2.5
Oracle HTTP Server 11g (new), 4.5.2

D

DAD, 3.4.5.1, A.5.1, B.2.5.1
dadTool.pl utility, 3.4.11, 4.5.8, B.2.10, B.3.7
database installation
backing up Oracle database, 4.2
configuring embedded PL/SQL gateway, 4.4.2
configuring Oracle Application Server 11g, 4.5.2.5
copying images (new installation), 4.5.2.4.2
copying images (when upgrading), 4.5.2.4.1
downloading from and configuring embedded PL/SQL gateway, 4, 4.4
enabling indexing of online Help, 4.4.4, 4.5.4
fixing invalid ACL, 3.5.2, 4.6.2
installing in other languages, 4.5.6
installing other languages, 4.4.6
logging in to Application Express, 4.4.9, 4.5.9
managing JOB_QUEUE_PROCESSES, 4.4.7, 4.5.7
obfuscating passwords, 4.5.8
post installation tasks, 3.5, 4.6
pre-installation tasks, 4.4.1
removing prior installation, 3.5.1, 4.6.1
running apxconf.sql, 4.4.2.1
SHARED_SERVERS parameter, 4.4.8
stopping processes, 4.2
database requirement
Application Express, 2.1
development environment
changing to runtime, 3.6.2, 4.7.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.3.11, 4.4.8

F

full development environment
installing, 3.3.2, 3.4.2, B.2.2

G

getting started
Application Express, 3.3.12, 3.4.12, 4.4.9, 4.5.9, B.2.11, B.3.8

H

HTTP Server
choosing, 1.4, 3.2, 4.3
pre-installation tasks, 4.2, B.1
HTTP server
requirement, 2.3
httpd.conf
modifications if running Oracle9i, B.2.5.5, B.3.2.5

I

images
copying, 3.4.5.3, B.2.5.3
copying in new installation, 3.4.5.3.2, 4.5.2.4.2, B.2.5.3.2, B.3.2.7.2
copying when upgrading, 3.4.5.3.1, 4.5.2.4.1, B.2.5.3.1, B.3.2.7.1
installation
changing ADMIN account password, B.2.3
downloading from OTN and configuring embedded PL/SQL gateway, 1.5.1
downloading from OTN and configuring Oracle HTTP server, 1.5.2
installing from database and configuring embedded PL/SQL gateway, 1.5.3
installing from database and configuring Oracle HTTP server, 1.5.4
overview, 1.1
planning, 1.1
process, 1.5
requirements, 1.1, 2
scenarios, 1.5
steps, B.2.2
verifying validity, A.2
installation option
full development environment, 3.3.2, 3.4.2, B.2.2
runtime environment, 3.3.2, 3.4.2, B.2.2
installing
failures, A.3
other languages, 3.3.9, 3.4.9, 4.4.6, 4.5.6, B.2.8, B.3.5
installing software, B.2.2

J

JOB_QUEUE_PROCESSES, 3.3.10, 3.4.10, 4.4.7, 4.5.7, B.2.9, B.3.6
changing number of, 3.3.10.2, 3.4.10.2, 4.4.7.2, 4.5.7.2, B.2.9.2, B.3.6.2
viewing number of, 3.3.10.1, 3.4.10.1, 4.4.7.1, 4.5.7.1, B.2.9.1, B.3.6.1

L

listener
stopping, 4.2, B.1
log file, A.1

N

network services
about invalid ACL error, 3.3.6.2, 3.4.6.2
granting connect privileges, 3.3.6.1, 3.4.6.1
new installation
adding entry for Application Express, B.2.5.4, B.3.2.4
adding new MIME types, B.2.5.5, B.3.2.5
configuring Oracle Application Server 10g, 3.4.5.4, 3.4.5.4, 4.5.2, 4.5.2, B.3.2, B.3.2
copying images, 3.4.5.3.2, 4.5.2.4.2, B.2.5.3.2, B.3.2.7.2
modifications to support SQL Workshop, B.2.5.5, B.3.2.5
modifying dads.conf, 3.4.5.4
modifying httpd.conf, B.2.5.5, B.3.2.5
modifying marvel.conf, 4.5.2, B.3.2
modifying wdbsvr.app, B.2.5.4, B.3.2.4

O

obfuscate
password, 3.4.11, 4.5.8, B.2.10
online Help
enabling indexing in Oracle Database 11g Release 2, 3.3.7, 3.4.7, 4.4.4, 4.5.4
online help
not working, A.5
not working if using a virtual host, A.5.1
problems with Help index, A.5.2
Oracle Application Express
creating users, 3.3.12.2, 3.4.12.2, 4.4.9.2, 4.5.9.2, B.2.11.2, B.3.8.2
creating workspace manually, 3.3.12.1, 3.4.12.1, 4.4.9.1, 4.5.9.1, B.2.11.1, B.3.8.1
logging in to a workspace, 3.3.12.3, 3.4.12.3, 4.4.9.3, 4.5.9.3, B.2.11.3, B.3.8.3
Oracle Application Server 10g
editing dads.conf, 3.4.5.4.1
Oracle HTTP Server
about, 1.4.1, 1.4.3
configuring, 3.4.5, B.2.5
copying images directory, 3.4.5.3, B.2.5.3
location of images, 1.4.1.1
pre-installation tasks, 4.2, B.1
with Oracle Real Application Clusters (Oracle RAC), 1.4.3
Oracle HTTP Server 11g
configuring, 3.4.5.4, 4.5.2, 4.5.2.5
editing dads.conf, 3.4.5.4.1
Oracle HTTP Server 9.0.3
modifying wdbsvr.app, B.2.5.4, B.3.2.4
Oracle Real Application Clusters (Oracle RAC)
selecting an HTTP Server, 1.4.3
shutting down instances, 3.1, 4.2, B.1
Oracle Technology Network (OTN)
downloading from, 3
Oracle Text
default language scripts, 2.6
requirement, 2.6
Oracle XML DB HTTP server
about, 1.4.2
disabling, 3.3.5.5
enabling, 3.3.5.4
updating images directory, 3.3.5.2
verifying HTTP server port, 3.3.5.3, 4.4.2.2
ORACLE_HTTPSERVER_HOME, 3
OTN
installing in other languages, 3.3.9
security considerations, 3.3.8
OTN installation
apex_epg_config.sql, 3.3.5.1
changing ADMIN account password, 3.3.3, 3.4.3
changing password for APEX_PUBLIC_USER, 3.4.5.2
configuring embedded PL/SQL gateway, 3.3.5
configuring Oracle Application Server 11g, 3.4.5.4
configuring Oracle HTTP Server, 3.4.5
copying images (new installation), 3.4.5.3.2
copying images (when upgrading), 3.4.5.3.1
copying images directory, 3.4.5.3
download and install software, 3.3.2, 3.4.2
downloading from and configuring embedded PL/SQL gateway, 3.3
downloading from and configuring Oracle HTTP server, 3.4
enabling indexing of online Help, 3.3.7, 3.4.7
enabling network services, 3.3.6, 3.4.6
installing in other languages, 3.4.9
logging in to Application Express, 3.4.12
managing JOB_QUEUE_PROCESSES, 3.3.10, 3.4.10
pre-installation tasks, 3.3.1, 3.4.1
restart processes, 3.3.4, 3.4.4
unlocking APEX_PUBLIC_USER account, 3.4.5.1
updating images directory, 3.3.5.2
verifying HTTP server port, 3.3.5.3
overview, 1.1

P

password
changing for ADMIN account, 3.3.3, 3.4.3, B.2.3
obfuscating, 3.4.11, 4.5.8, B.2.10
PL/SQL Web Toolkit
requirement, 2.7
post-installation tasks
configuring Oracle Application Server 11g, 4.5.2
configuring Oracle HTTP Server, B.2.5
copying images (new installation), B.2.5.3.2, B.3.2.7.2
copying images (when upgrading), B.2.5.3.1, B.3.2.7.1
copying images directory, B.2.5.3
installing in other languages, B.2.8, B.3.5
installing other languages, 3.3.9, 3.4.9, B.2.8, B.3.5
logging in to Application Express, 3.3.12, B.2.11, B.3.8
managing JOB_QUEUE_PROCESSES, B.2.9, B.3.6
obfuscating passwords, 3.4.11, B.2.10
pre-installation tasks
backing up Oracle database, B.1
shutting down database, 4.2, B.1
stopping processes, B.1
when downloading from OTN, 3.1
prior installations
removing, 3.5.1, 4.6.1

R

related documentation, Preface
requirements, 2
browser, 2.2
database, 2.1
disk space, 2.4
HTTP server, 2.3
JVM, 2.1.1
Oracle Text, 2.6
Oracle XML DB, 2.5
PL/SQL Web Toolkit, 2.7
shared_pool_size, 2.1.2
running
apex_epg_config.sql, 3.3.5.1
apexins.sql, 3.3.2, 3.4.2, B.2.2
apxchpwd.sql, 3.3.3, 3.4.3, B.2.3
apxdevrm.sql, 3.6.2, 4.7.2
apxdvins.sql, 3.6.1, 4.7.1
apxldimg.sql, 3.3.5.2
apxrtins.sql, 3.3.2, 3.4.2, B.2.2
runtime environment
about, 1.3
changing to development environment, 3.6.1, 4.7.1
installing, 3.3.2, 3.4.2, B.2.2

S

shared_pool_size
changing, 2.1.2
SHARED_SERVERS parameter, 3.3.11

T

translated version
installing, 3.3.9, 3.4.9, 4.4.6, 4.5.6, B.2.8, B.3.5
troubleshooting, A
cleaning up after failed instalDlation, A.3
images, A.4
online help issues, A.5
reviewing log file, A.1

U

upgrade installation
post installation tasks, 3.5, 4.6
upgrading
about, 1.2
copying images, 3.4.5.3.1, 4.5.2.4.1, B.2.5.3.1, B.3.2.7.1
obfuscating password, 3.4.11.1, 4.5.8.1, B.2.10.1, B.3.7.1
user accounts
controlling account availability, 3.3.12.2, 3.4.12.2, 4.4.9.2, 4.5.9.2, B.2.11.2, B.3.8.2
creating, 3.3.12.2, 3.4.12.2, 4.4.9.2, 4.5.9.2, B.2.11.2, B.3.8.2
requiring password change, 3.3.12.2, 3.4.12.2, 4.4.9.2, 4.5.9.2, B.2.11.2, B.3.8.2

W

wdbsvr.app
modifications if running Oracle HTTP Server 9.0.3, B.2.5.4, B.3.2.4
Web browser
requirements, 2.2
workspace
creating, 3.3.12.1, 3.4.12.1, 4.4.9.1, 4.5.9.1, B.2.11.1, B.3.8.1
logging in to, 3.3.12.3, 3.4.12.3, 4.4.9.3, 4.5.9.3, B.2.11.3, B.3.8.3

X

XML DB
requirement, 2.5
PKqYNDPKI$AOEBPS/img/arch.gif/nGIF89a忿@@@\\\ٸnnntttuuuyyy޽___eee999ɶ888)))̙ӟmmmvvv 󕕕///kkk^^^333111ppp???ooosss}}}jjjhhhǾzzzTTT;;;```444|||lll +++fff III777 aaa:::<<<>>>XXXEEE!!!wwwgggZZZrrrHHH###%%%DDD***AAAxxxdddCCCLLL---[[[BBB666000FFF===OOOcccVVV,,, 222bbb~~~"""WWWȰ$$$...KKK555MMMYYYʛGGG&&&PPP'''RRR(((iiiUUUqqq JJJ]]]SSSQQQNNN{{{!, H*\ȰÇ.Gŋ3jX &R|B=1yjMě8sɳϟ@ }(ѣH=,J$J*YO&MCjʵׯ`l׊ٳhӪ]vm6XF`@CUR@T-zM}!B@ FbK˘3h@W%{M EvF-tɬc˞M;=]ͻ޷&“+_~9xϊ;)2N:p?nGŁ˛>=Gzɫߟ_'C_N { F8[VHځ7e}* $$h5,vh4j"D*r{# ڄ5iN7dfܑPFPIi啸Q\ve`ۗbi&kd2'l f -YCt"@v)huin^z_@*rt޷ &q\nA菏t* $.i4D4cENEͮh>")Y+R3@Bg EJ#?Z ?EЁAYZAhMO`#JRp  ,H(&cK$s61s>1,!2:RDC2QV "!.8q3I "Dl u AE+6(%Q c4#U! ft"S8ZI.Y0UC ȁmh `XaPt7$ErBH >jQ+ae0P +!"r^mC)L֗~E_1 \D2>XF ;@BpC+@kF @ 0L!p> x 25 !V03l0դ};_Pw4eD0p _;A.Fnȷ/9?_CW>qȆ7x kg{9gT`% PD EKAB\hXDFCYpatl7q&x%dfn0e p2pxF3y@X@Ͱ` ~Іc'Px`dr& @`ޢ`B8( ߗDDP Qg@ hVhh@ |P~;7P *@DXv|O  [/p'*X2g~~F$`xP F h56~,xWiYkX e ]@r ɐFhv T7HM)Z@. R8qpPڸ8 ww~%K` A،Xr&`Q x PR`u xD7 @M Xhȅ4Va Y 'gq+h3' h% @i8i b`QU@FͶ/9T' z0u@ T|<b{  p< ~`Cjpm ` L!0Uw,N| H  8w C ,$IyM&$ 8 0Y]К9Y Pyb~D)ٙMRI9 ˀ2%0 Pyؙٝ[d$rNlF.1.M瘎ʉ# 7p :Zz  ђ'%!@`0 @ @P<`0qA ,ڢ:= s79W4 8^Рw bf>ɟ)N 2YxP£QR @wwp}P>`* GНvzw>GR:28qz()%^*p}`K0dZPPק 3ЦL f7Z@~Z5F\NTP 00T |0@pʦ|nTGA ЧV TpCz@3LsYqJѫP@=M@pP( :aV'ڤ az@Q@ {0 P0/`, \=hP 1a qB N9 2  ;ЁR  @{  +xk$k(*kp/[Nn`wP ǀ (]w\0@N[AV.p~` @_ &`xȊP Pb1r pW+qv{{*+{'^E[ AEpNp@@ ~`{Pw PGyyh@-p}G pXUP[>t˼y0 m1$\&@ e0M;ʳ0I p<>L($諾 p}JW`( : 6`O lp>б"==r| c1,3O`_;0ڽĉnj`נ plù7pT]7}-7ɡp Py C0ʮ b f`js00  v. @{o1`ippf!sm2ڪM gCt46J[9 T>dP; ܝ ~F0j N2n^5L:;n e?\ HnH.i"@һ| Pup#ӋK>4|ȟ G2H`M.5~GA DPtP z N4zn% /Q.5mp 7}f! ?|[DbG߮=#?Pz^x_``0Gqo?wqoNۥwN?M :NP p ^l/Coڛ9!y!P:3 Q FĬ ~X,.^ @޼QIOJ+9MP x0 MD0 ? 7U W`65D[ V.Ҍ?.q:zQAa5 ͚=}Th( ЃMG4bTU^JuAMYn8# (cŋ8(HqA h! ТB9aSf|t+p)njQ T p b٦)M"'d0"LZR$IJXm2̞߾ZCݿZhҥTs!oOʟK,BK-܂K.K/L0 C{l*?nF$1:,45>qAJN;#7p EF &&2Ƀ#́@ B$%d V %L%0hßd8iËrҠ{n@ 80zH# 1RRإ͚#1п*무j뭸뮼+06t)IDQMQMa[)"1C?T*-)&kሂK# \2C' RȤO&@<@J&&8Ɵ' Y:g(>M O{XjSTUVY'\36 f23ϒBf ZxgmI C(SWK``_DQ {H0MZ$&V*o(xX )2bPf ?$"XBI*`4Z ҀĽcGJzw1 8r䏞d9. 8zD 8"JoTdWUZ+a!AE%1zR^{*/TB%p !85$*COʠ#AlGԐ~*QA:x (F*(AT!HP /n(VPDd 38#OK q(:!0cG H=:|}G?40(70|vOxī񐧼0#ϋ^wm{GƧ AZъBHk=GP+@4&x G"X ĂĠ&DZA,qjx(@|1'}Q }4By2:JjY0A/yMBP1QdjXTU5Pc{ZU&"aM?"PdL%XtTH W!c?a.`(D@VR`I%!8##G1EDX%kpyP.0V\{*#]0C '(]q 9nTDgegʢO`pD :a(9V8/AQ$T #A% h.1e @2Q Uj)T%5VLBV%tKU=s*8 "^"o0ƌJЅR\]xKLNp` Ђ`PVjgŽ.z\9^~{%Fpa@@^1 D%8E@6h%hJE q8(ba5:X>;Гs7@SC㷔kڻ=!p(x.A^*jpPnb@;18` S#p)+Ap/Уl;/B;S6c;kpXx z1("n ȟ`pAh HpD;h[?# (1"04(ܶ2,-.d7;5>5O !-Y,ec'W0= `%5'(Iȅ1XpZptc@Q؁JlmnobE,@@.\ CxSqW'?Bk:>p~pD5xL PL QT7;;?x yʐˠG{PlǍHoLJ ={3􊈴 Jl3 ȞI L#`ɐ,ǭ;QLDŽDI,JHsɩ H(«lQHH[`M$Kw臧 ?/4EvdH,L6H4($Eh0  SPq&pX@@$0> )0L5p R\DžT6ʦ˽\  &HS''H8OL!yȃ' $O@'8L ,9Rx8x DX_X>(ă$G3O@RTGLI|\866, X"Hs h:)ޤ5[/9HH4 MCXlL5@N`O0cL>M$\Y$ȣ'076Xb0.h/( (jHތ2HKPw@dUP L,KҦ`ͯ4^6~8:<>@5DWxij]O9nopqhhP)bXjf7eEfa5 \ [`4VVb&vb(Yb,b.b0c23Fc5fc7c9c;c=c?0g  6钆MBl陦隶XG8$š.=Pl_b0#(e$hX&h)⃶ee.fFf/Qh&J Vn&_&lUpr-҃CH@  ɥւ\&~1 shYZNh\f]~^h`ahcc6N ޕXthU FVnSRhL2g-Czllb)4!X.F[^h]vhf&V1gv^㚊f0; 7>f":(Xp]ph@!nnK>G0PUhܭ-PdpkfwjVmk6kk[p%2e&m(XT1'sh, 8Zȅ?^-;e 8XhA.&o1o6؂^8@־o.>`]؆rd1% HMȂ1XpWXYZ[7C`|p8s@G=:PtYgC?3HRXv /u`8ծo~mAD`^(*hr NJ5|}~@0(3YT5E؆7HghvgW _z1K X4yP8[ha )=K>H.xh+8O@ӳXZ.pcꄤ(TЅvNԕ %*@ +h „ 2l!Ĉ9W?nDuqpHP$,Yp?Ll%̘2gҬiDGp)fF2I%2)"qD)ԨRRj?,h 6LAx b[3)JJrҭkBK7Z fM1 `` 2/̃8ar 50]H&ǚi* /ٺw.=6=DDڑX8J\ Sַs X"a 9jٲĎ>QqCf1 , (1.b0|=dvZxKb ܂4 ӀGE!-8 C@ Ҩݭ"=I)Ey$I* P F"TZhL)]e`P 0,+&9uy'yyCAi)*@'$< v F`5t:3IZ*jiJ|gJ J!$hJB*);PKf//PKI$AOEBPS/img/arch_epg.gifdGIF87a[LLL<<kVd2"GD>(%Ϙ@ ʨhNG>)&ԫ*&Ipz,Xdњk7o̝Xx!yee夑0dPjsaH{kf `^gj9PI-ϖ A8'40`)tЧq0\3+25ՠEЀ@4llva76D Jns 8/߈w$86xЁމW>r GAm /jy4HN9鰿rs2dz켫[AԎ˴ys8 wALH;}C觯wKWn=RȀ@ЁLr4L,2'A / 00@(L WB`@rG) d[ _=HLQpz&j@4Dy0{ 4H6񉘢0@{mV쵀 @\ #0 /?QiLU4`{y`c(pFIR.t""=Ĵ5AM 0 [U c;1~)LRj-hd>@L' Ѐe+ DtH8ftc1ds͌<Uv$pM(ds:P\Mt{l3DI\lcm\O&A\r'F ӠGMjRVN+l/3Wښf2ܘ'PYbzбb|P*pv)5ؠAv+ Z^&p6g@ =U|p}~ʲ~dpv|v3-H'`[p2pYA^.RuVPw:_m]B1q} - (܄ 0.Q݇«Ls@W{m+ ךP\ ee@|D5 JoXN Ѐ[cاXufٸzi`el&6/l&Z7J~ `JpR ƍJЅ>bxX||:r3 9БX#Y Pb#A޸pDFfxY(|YE).%*c֧JЩҹRau YspsVL` ({Qge9$9udžt `x'YMX36 `2@ܗ+;g6@j~5v.)\PSzVC apzfhK `ro +[aاY(c CM+CbKP㠺Vgs`3C[E4뻻2DLW*+sz_7 W^ Klx|D6b…[F.\jUUVzKfu6O`5 *P04t@0 i@M_ 4rFVv|xl5ql'&u8} I?6EMFv KTfɜɞɠʢ<ʛ^| y~Z)̸SV˶|˸˵z *oʱC˺̷˄bXP;:~f@,x 7[/Y $λvC;Hς$s  '#٨Kd=|]|bb5Z,taab_cDжΌbri Ѭ Ső.&] (]@o :h,5Y6ӵ\6 Tܥ$. @IX;Uj^^0;ӯY} 0BR%E TP>.UmՎW"3B-g؂=؍{Rv֧!Ck4_ sNQ P uzݸ߇9 `ؠeRVڦ}ڨڪ-e0dV/etACB5K 2 `̽0Gso;ggV;HZT 34&ֳ&i(-'5V0Dv.M oSZ3ff>@B>D^FPV4@a,Ғ, :ACu.ʕ*#]Luh~˂VXn\#5owT` z~:zι,b\/,)f؄d%[NY-)W- .al> `{)r=jQ~vM.Ѣ yX0=$F#B. P8\{"kƽ.鞝PdŞe>鬱y0K*蠑(1 He>GiL{uLXB/k2yD/h= 03 ?( ^5|'\$P:eG|`[)d ;PK{KPKI$AOEBPS/img/htmig001.gifw-GIF89az???@@@///666999lll___ϠoooOOOrrr |||```нPPP000pppCCC^^^GGG### QQQwww(((wwsfdezzzSSS͸dQvvveob<<<yyyIHIcbc;9:ŖHGGyxyܟttrȾcab444POP;::WUVTSTtstvuvkpirqrIEEE~~~RPQ>==FDEYOMNet`LdSkuh>>>;;;{{{VTıkkkdddN:::ey_z!,z% H*\ȰÇ#J(Ⴤ3jȱǏ CIRH(/\ɲ˗0cʜ) "IȐϟ@ Jf$ȩ @ϢPJJuͤFjׯ`ÊUxVcӪ]vfYgK݇oz߿b" A'$ +d %/ƚrL4 G^+j[˞ شs^i"{gtn[߾Fc4_ƙuO1|gNu_s!U6VD1, ؒfQaY 萈h"U0^`bL,h  DBD2F `*(eD 9D I\@ #@@  DpAI59Ao^p@ PfE99a8@NH(JAg @( )9] $yԦZVpO# J$IXҪ(E9czfN䑊`[ ª٬b $0nl$՚VjnI`V+ehb9j..I箫dF ^ʻ"jB0ZIFNfbn5sX(9V~;E:K3Z"jv9dq-s" A5t2ɡ8`'v̸eMi]v{#t#c40IZmhFxA^ 4 eM $6G}7퉽l+ɯCJ+K: @IA'y}(JKj*g)lE'tk9KRz[@(Q\?}v3T&j<9JҾ$~9~>{*dUrr$)< |?Lob ʵu{sY.x j1 )BA. lxCO,;_?ݦFy$, Cy͌\{ (tM (\@J#MGZH!GCV QM+;@N86et̐t(II ,`25[L"h=` TB΄ (͒XAM6 `lmJwdҕzM,&-sY:yJ8. fI*$Re>{ISR7`wJkhxKIHx }K)J#0v} Ў,r8%~hU&e$Jmٗ9h\s%&Lp!m*U7r!PCsܙ1:-95F,nwk8K^;CzLk7F q{BtG@Nީ\,aAJUgQ吤{i6  7w&@  $e_3 "-1mAbA$wtt aKyhaFQNe.L&QAKeOs *L'Jqstȥz+Uǵ4\pGV}f3Qv8):}3wt+arB}U'{t;'Y4$D=#)T$$ D@[!A"(& |D96Es1+}2f&[!|G",+C9ew+,'-8ra1`1wr1'*(rk@ݳ232:b%JbH&*lw0FB DgLHE{t5G+'Hb$#IFc?ʄ?s,85(@%S?ς#_G?qXK+e'qN&h::wy[ʴ2!( k{)…oh6+;b3?uwJ7V,"gD2&slW+8B Itb(DEp0}$tWvHwp.#8`J0Ҋ|L0y(G.i{,Jq?BF#031>,2/}Q4_Bu!ቐG@H2)ʴJT:!h1Y|2B*d#*Ïmbzwvp7z"9L&+C~ȇ8[¸-EGB%(%(C: 9,|Y[Y,C(7@9*P$_R<ɏeJ߂J4b}0-(pg1$ya|!w>r0"ه $8s0vDvs8#'--k8~3w]N1wh}|Wf&j&#Msct$;'8"C4~A('#[9yK6}B' zBrb&fe(ڲ8B#Yuu(LDyɘ&=GZG3R'hXxr'&G+3'zNcsm{ /?*MA ѧ3B[7?QSDٷ4SaA[?Jt>9cypd{ыW*{W#xo8oqc%:a$HsazsNt:GE$H6$wyP5t_ #I%.;|R'>(i؋IQ.-aB5x+buB|EJE5)$3вLh:00DE} uG$K4|H~bgMOEJ:4 #Buf~Y(23y$Zb1ݤLK#{{V$}dFYR<:X$Z&{}DV5Ǘ$c-ID 31+É 4F%K/tT4+ ;*J2a,aIjifEV"$I${-46/;H+Z̔dR.Ω$&/æ !3AdJ+-giCD_ĉ 07$BIHG*۲Uq0Ba{:*g={ ,xH1I))LkB#bJ3L2+ G#2H}J*?iԶ$*4HM9#'+)34][.E‰+XϺq4,S:6{́(03:(@3w,=Jy?!֙FIarB"ɿ4W>1bQ7#5,C$-×'2RvÎCô2~@p#H:+1F#o"{-J8#d'%E2nv :Z_|q~lw6R%2&ba%`" B_abʢ<ʤ\ʦ|ʨʪʬ|p <˴\˶|˸,{h<\|̿(!˻m1ќ ̼|Sku({<\l<<,Mv ]\kEu]=&]p*,.0,(p2}8:g@7M'F}9u_K=%MmYO#Q(ki2զ5 `\"eM`5ֲqQjifd-ׄמqhJf=z!&2e(׃2ؗA&Bٕ!'"f}ב[س!=FȬbN-ڳ(P^ij^c^RZRړ=hV}ȭ\jB]}˵=iݯb=]ޝּVEodm`]Mqb%ޘ} {f!V[g NjX=2al ;rj" ~'~#d&nd](iW6P@B>D>1=ݎ16ERN% ? ^`b% %ڍ5&\>r>].1 5Q 20 >^8e戁mAPp^邎f 琐+>ꡎB n'a> . '깾ƾ鹁adjw~}^N꽎JVQuq߮n.wqasN>nXU~AUoSN_a#%ozy-/~ o21T7_9/1@_D>_;O.SNEGIOK9CPo_ac?eo.c^*.P*.uRgi~?9x/}DxFP(o(9pE``:0?0_Et_G@A~}O)@?eso_*?N$XA+IC%NXE%D:` NJDR#H)UZ$Be"IV' xQI.=RßQn(H&n]҈LŎ=ZRNir [q}p]O}^x%\.Ol )Eȑ%O\9rRدVi?\4d!1 o[̦]mܳqlT?w+/ѭMBӺLBJp]^ïOٖ ϧby f{qɫp>X'ȃ 6p + ‹.@+"p Ш7" T/%3P 7ʸ (DDLjLE(!ZQ "`B cG \6t(c*@7,sG:1!닳<'DQ O]oP -PC=d9dΑS_qo0 r"LrCrT0<@sBTK0$?+UACKtW;)R.I͎PO>miTA]+! N7sb`  ! a_}ls޹8@a$1~ǀ8:rPdyc4=H{^Bs=iO*(hDF`չ./U v0 )TBa[\V( ZD 39zfaZfH#%bx(j״pX, 'r$1"KdzXDQ$b%(H"$h(b fiHq}lh11-W섏&(: (Kyʇ$ )¹fR|iK<)"@$ܸ@ YUx\&DB`YOϴKhG`%/Ldg;ݩ!@5\g2*`C)5Th@#@ЀJ,%ǓJ 3nzExgE-:TLcpT#%)H>3 (AfС $Е>OgIz0d Lc ԧ9JIeU[jWڂ񁄠 U.P4pDv'‡|*"6 U]U'չP RT8u @HLke-{YZ5)3E-"?HFCIP+]Y`XQb+2Vߚj_e{n6%~v5ӎ֯uk?x'`DnwaK6t9W~vT߮EK$fD63r3_?@Wo 4E$ sڵjWzB֐f-|a-{{p=Lu1]`Ԋ`mmuWۓ@0P PWJۡGoI|*=]b#(*q09! k1r$d)fOIފxWƲ15,_nL29+i^3'Ttq3{bIXksW??(Bn4!"f0tMjS"FQ/fS k'z+VcP,ץ.]iaؙ6a/xB3lXC;@y5dD\Iæm]fW2IW8V `1i,a*pM`ƄVp~dmQBF``/SՀ. j R;fdwqr;)7HxObq{' qFly-ǹE4gG>H.0Ι vjnW=6wֵh "#qRvy}_jc^Ò0Yo4wuFĥB 8\1!bKx?⍏yXOϦX#jGߚV`*zxOO'xC-ai"dxC)=m'WɇWz3P[̋ǟ%ܥ3?<_:)>п!k d tA3 @< k@%ĻР@(1 dt< S8A=?"t=#d/$LD= B'ABp)`t /dA C1 2,,T5|@j"8{crCE۾ԋB-?@-AD=>\ S?S QE-@-TC=TDMT+(G}THTITJTKTLLu6}$TP UQUR-HeBN$uRTerzU#UUPZ%[ R\5Rh V;^+s`#V +33H3 cl:%nY)'߻'z-H؀4VH>YVB˻oWq%CW}[W2Wן.Y}U0И;b1 мAq1-. XX! #.~r}eP (zk-zz8=觌1]2~] Xq利a a9y.by5 RjU:5Ņr)BV!Ak.[+ 8 \]) ݤ׌ە*1+RHh1YAHB_֥mXV+>2bQu፫w][)ڵm"Ip(֙ P^M ku_bW#-Kq͈q7I_21.z^]VשiWы)"~WUY >< ^^^_=b Vߔ A] q`/&be.[`'(fc +/)]a\ǭ]qIcM؉] U+ݟ.l66ԅݣd4&✹eɵ\1=0xT hYba=_ɼqy[. fd (i\%rY b>icgB_26lۈxۓg`f=f ehI5cFVX։MFP $Z}=>܇HәX]v _ X(ipn (Y٥!YA^;~n^d41sYViUrqyjjr)qI$2ٹ aIriY hYfPjXjPMfafI\{֘eFݓPCY ݉H<ņiYk&a@kfMiʱPXc səʼn0 Q!.ថlcѕdsߑ۪y1l-X\uUs)*ن˕1؜vQayEaiQ1]PCv VFnٟi6p) 4IH,[iayjonTk%X#f8X:WI0lݙp\2N ߁NqM~q;ɼe뼁) W6XVi("1]]㾈_19_n>d k+Гt.gOV Co3g4r}t^?`*>@ݜ?k`=VqvY]tHn^n.HvnJɼA(oiO=.JXFݓxn$G%G \~~ -(zZ8on){aɛ@9B{1WZbam;$h'YfH~uz^ Description of the illustration htmig001.gif

This illustration graphically depicts the available installation scenarios for installing Oracle Application Express. Available options include downloading a ZIP file from Oracle Technology Network (OTN), or using the version of Oracle Application Express that installs with Oracle Database 11g or later. Then, you must decide which HTTP server to use. Available options include the embedded PL/SQL gateway or Oracle HTTP Server and mod_plsql.

PK;7ڸ{PKI$AOEBPS/img_text/arch_epg.htmH Description of the illustration arch_epg.gif

This illustration graphically depicts the architecture of Oracle Application Express when using the embedded PL/SQL gateway. This graphic shows two items: a Web browser and an Oracle database which contains both the embedded PL/SQL gateway and the Application Express engine. An arrow points from the Web browser to the Oracle Database and another arrow points from the Oracle database to the Web browser.

PK?ŶMHPKI$AOEBPS/img_text/arch.htm' Description of the illustration arch.gif

This illustration graphically depicts the architecture of Oracle Application Express when using Oracle HTTP Server with mod_plsql. This graphic shows a three tier architecture: a Web browser, Oracle HTTP Server (Apache) with mod_plsql, and an Oracle database with Oracle Application Express. Arrows display in both directions between all three tiers.

PKahN,'PKI$AOEBPS/otn_install.htm Downloading from Oracle Technology Network

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

The instructions in this chapter apply to both new and upgrade installations. To learn more, see "Upgrading from a Previous Version of Oracle Application Express".

This chapter contains these topics:


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 any existing Oracle Database instances with normal or immediate priority, except for the database where you plan to install the Oracle Application Express schemas. On Oracle Real Application Clusters (Oracle RAC) systems, shut down all instances on each node.

    If Automatic Storage Management (ASM) is running, shut down all databases that use ASM except for the database where you will install Oracle Application Express, and then shut down the ASM instance.

    You can use the Windows Services utility, located either in the Windows Control Panel or from the Administrative Tools menu (under Start and then Programs), to shut down Oracle Database and ASM instances. Names of Oracle databases are preceded with OracleService. The Oracle ASM service is named OracleASMService+ASM. In addition, shut down the OracleCSService service, which ASM uses. Right-click the name of the service and from the menu, choose Stop.

  3. Back up the Oracle Database installation.

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

  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 the listener or Oracle HTTP Server. However, if you are performing a remote installation, make sure the database listener for the remote database has started.


    Note:

    If you are connecting to a remote database, then start the listener.

3.2 Choosing an HTTP Server

In order to run, Oracle Application Express must have access to either the embedded PL/SQL gateway or Oracle HTTP Server and mod_plsql. To learn more, see "About Choosing an HTTP Server".

3.3 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 in this section include:

3.3.1 Install the Oracle Database and Complete Pre-installation Tasks

Oracle Application Express requires an Oracle database that is release 9.2.0.3 or later. 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. Download the file apex_3.2.zip from the Oracle Application Express download page. See:

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

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

  2. Unzip apex_3.2.zip as follows, preserving directory names:

    • UNIX and Linux: Unzip apex_3.2.zip

    • Windows: Double click the file apex_3.2.zip in Windows Explorer

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

      @apexins SYSAUX SYSAUX TEMP /i/
      
    • Runtime environment. Run apxrtins.sql passing the following arguments in the order shown:

      @apxrtins 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 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_030200 - 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 HTTP Server and mod_plsql.

If you are upgrading from a previous release, 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 internal ADMIN account. In an upgrade scenario, the password will be preserved and carried over from the prior release.

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
    

    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, such as listener and other processes.

3.3.5 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 file and unlock the ANONYMOUS account.


Note:

The Oracle XML DB HTTP Server with the embedded PL/SQL gateway is not supported before Oracle Database 11g.

Topics in this section include:

3.3.5.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 SYSTEM_DRIVE:\TEMP
      
    • On UNIX and Linux:

      @apex_epg_config /tmp
      
  4. Enter the following statement to unlock the ANONYMOUS account:

    ALTER USER ANONYMOUS ACCOUNT UNLOCK;
    

3.3.5.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.3.5.3 Verifying the Oracle XML DB HTTP Server Port

The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database. You can determine if the Oracle XML DB HTTP server is enabled by verifying the associated port number.

To verify the port number where the Oracle XML DB HTTP 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 HTTP Server is disabled.

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

3.3.5.4 Enabling Oracle XML DB HTTP Server

The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database.

To enable Oracle XML DB HTTP 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:

3.3.5.5 Disabling Oracle XML DB HTTP Server

The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database.

To disable Oracle XML DB HTTP 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.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 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11g release 1 (11.1), you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_030200 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.

  • Searching for content in online Help (that is, using the Find link).

Topics in this section include:


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.3.6.1 Granting Connect Privileges

The following example demonstrates how to grant connect privileges to any host for the APEX_030200 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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 power users to connect to everywhere',
    'APEX_030200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

3.3.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_030200 user. See "Granting Connect Privileges".

3.3.7 Enable Indexing of Online Help in Oracle Database 11g Release 2 and Higher

The ability to search Oracle Application Express online Help is accomplished through Oracle Text and a URL data store. There is a change in the default behavior and permissions to use an Oracle Text URL data store in Oracle Database 11g Release 2 and later releases.

If users attempt to search Oracle Application Express online Help in Oracle Database 11g Release 2 and encounter the following error, then the permission to use an Oracle Text URL data store has not been granted to database user APEX_030200.

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine 
ORA-20000: Oracle Text error: 
DRG-10758: index owner does not have the privilege to use file or URL data store

To enable the indexing of online Help in Oracle Application Express, the permission to use an Oracle Text URL data store must be granted to the APEX_030200 database user. This is accomplished by assigning this specific privilege to a datbase role and then granting this role to the APEX_030200 database user.

To determine if the ability to use an Oracle Text URL data store is already granted to a database role:

  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:

    SELECT par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE';
    

    This returns either NULL or the database role which is granted the ability to use an Oracle Text URL data store.

  3. If no value is returned by step 2, then create a new database role as shown in the following example:

    CREATE ROLE APEX_URL_DATASTORE_ROLE;
    
  4. Grant this role to the database user APEX_030200 with the following statement:

    GRANT APEX_URL_DATASTORE_ROLE to APEX_030200;
    

    If step 2 returned a value, use this database role name instead of the example APEX_URL_DATASTORE_ROLE.

  5. Lastly, if step 2 did not return a value, then use the Oracle Text API to grant permission to the newly created database role with the following statement:

    EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE');
    

3.3.8 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.3.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. At runtime, each user's Web browser language settings determine the specific language version.

The translated version of Oracle Application Express should be loaded into a database that has a character set that supports the specific language. If you attempt to install a translated version of Oracle Application Express into a database that does not support the character encoding of the language, the installation may fail or the translated Oracle Application Express instance may appear corrupt when run. The database character set AL32UTF8 supports all the translated versions of Oracle Application Express.

You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in AL32UTF8.


Note:

Regardless of the target database character set, to install a translated version of Oracle Application Express, you must set the character set value of 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.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. 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_030200;
    
  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.10 About Managing JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSES determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.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 in this section include:

3.3.10.1 Viewing the Number of JOB_QUEUE_PROCESSES

There are currently three ways to view the number of JOB_QUEUE_PROCESSES:

  • In the installation log file

  • On the About Application Express page in Oracle Application Express

  • From SQL*Plus

3.3.10.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

After installing or upgrading Oracle Application Express to release 3.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 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.3.12 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirement".

A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.

An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.


See Also:

Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application Express

Topics in this section include:

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.

      If 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 HTTP server is installed.

      port is the port number assigned to Oracle XML DB HTTP 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 when you installed Oracle Application Express.

      • Click Login.


    See Also:

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

    Next, create a workspace.

  2. Click Manage Workspaces.

  3. Under Manage Workspaces, click Create Workspace.

    The Create Workspace Wizard appears.

  4. For Identify Workspace, enter a workspace name and description and click Next.

  5. For Identify Schema, select the Oracle Forms application schema.

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

    2. Select a schema from the list.

    3. Click Next.

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

  7. Confirm your selections and click Create.

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

  3. Under Manage Workspaces, click Manage Developers and Users.

    The Manage Developers and Users page appears.

  4. Click Create.

    The Create/Edit User page appears.

  5. Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.


    Tip:

    To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.

  6. Under Password, type a case-sensitive password for this account.

    If your organization has set up a password policy, be sure the password meets the requirements.

  7. Under Developer Privileges, select the appropriate privileges:

    • User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.

      Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.

    • User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.

      In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.

  8. Under Account Control, specify the following:

    • Account Availability - Select Unlocked to enable a user to log in to this account.

    • Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.

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

    If your setup uses the embedded PL/SQL gateway, go to:

    http://hostname:port/apex
    

    Where:

    • hostname is the name of the system where Oracle XML DB HTTP server is installed.

    • port is the port number assigned to Oracle XML DB HTTP 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 - Enteryour 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 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 in this section include:

3.4.1 Install the Oracle Database and Complete Pre-installation Tasks

Oracle Application Express requires an Oracle database that is release 9.2.0.3 or later. 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. Download the file apex_3.2.zip from the Oracle Application Express download page. See:

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

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

  2. Unzip apex_3.2.zip as follows, preserving directory names:

    • UNIX and Linux: Unzip apex_3.2.zip

    • Windows: Double click the file apex_3.2.zip in Windows Explorer

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

      @apexins SYSAUX SYSAUX TEMP /i/
      
    • Runtime environment. Run apxrtins.sql passing the following arguments in the order shown:

      @apxrtins 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 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_030200 - 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 HTTP Server and mod_plsql.

If you are upgrading from a previous release, 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.

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
    

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

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

3.4.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 in this section include:

3.4.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.4.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 will 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.4.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 the new profile.


See Also:

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

3.4.5.3 Copy 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 to the location on the file system containing the Oracle home for Oracle HTTP Server.

Topics in this section include:

3.4.5.3.1 Copying the Images Directory After an Upgrade

During an upgrade, you must 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 HTTP Server distributed Oracle9i Release 2—see the httpd.conf file.

  • Oracle Application Server 10g—see the marvel.conf or dads.conf files.

  • Oracle HTTP Server distributed with Oracle Database 11g—see the marvel.conf or dads.conf files.

When you locate the images directory path, copy the existing images directory to a backup location. Doing so enables you to revert to the previous release, if that becomes necessary.

After you copy the existing images directory, 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

  • ORACLE_HTTPSERVER_HOME is the existing Oracle Application Server or Oracle HTTP Server Oracle home

3.4.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 Oracle Database Oracle home

  • ORACLE_HTTPSERVER_HOME is the existing Oracle Application Server or Oracle HTTP Server Oracle home

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

Perform the following postinstallation steps if:

  • This is a new installation of Oracle Application Express (that is, you are not upgrading from a previous release).

  • You are running Oracle HTTP Server distributed with Oracle Database 11g or Oracle Application Server 10g.

  • Oracle HTTP Server is installed in an Oracle home.

Topics in this section include:

Note that these instructions do not apply if you are running Oracle HTTP Server release 9.0.3. To learn more, see "Configuring Oracle HTTP Server Distributed with Oracle9i Release 2".


Note:

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

3.4.5.4.1 Editing the dads.conf File

If this is a new installation of Oracle Application Express, you must edit the dads.conf file. The dads.conf file contains the information about the DAD to access Oracle Application Express.

To edit the dads.conf file:

  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 "Copy the Images Directory".

    Alias /i/ "ORACLE_HTTPSERVER_HOME/Apache/images/"
    AddType text/xml       xbl
    AddType text/x-component       htc
    
    <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.4.5.4.2 Stopping and Restarting Oracle HTTP Server

To stop and restart Oracle HTTP Server:

  • For UNIX and Linux, 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
    
  • For Windows, 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
    

3.4.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 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11g release 1 (11.1), you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_030200 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.

  • Searching for content in online Help (that is, using the Find link).

Topics in this section include:


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.6.1 Granting Connect Privileges

The following example demonstrates how to grant connect privileges to any host for the APEX_030200 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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 power users to connect to everywhere',
    'APEX_030200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

3.4.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_030200 user. See "Granting Connect Privileges".

3.4.7 Enable Indexing of Online Help in Oracle Database 11g Release 2 and Higher

The ability to search Oracle Application Express online Help is accomplished through Oracle Text and a URL data store. There is a change in the default behavior and permissions to use an Oracle Text URL data store in Oracle Database 11g Release 2 and later releases.

If users attempt to search Oracle Application Express online Help in Oracle Database 11g Release 2 and encounter the following error, then the permission to use an Oracle Text URL data store has not been granted to database user APEX_030200.

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine 
ORA-20000: Oracle Text error: 
DRG-10758: index owner does not have the privilege to use file or URL data store

To enable the indexing of online Help in Oracle Application Express, the permission to use an Oracle Text URL data store must be granted to the APEX_030200 database user. This is accomplished by assigning this specific privilege to a datbase role and then granting this role to the APEX_030200 database user.

To determine if the ability to use an Oracle Text URL data store is already granted to a database role:

  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:

    SELECT par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE';
    

    This returns either NULL or the database role which is granted the ability to use an Oracle Text URL data store.

  3. If no value is returned by step 2, then create a new database role as shown in the following example:

    CREATE ROLE APEX_URL_DATASTORE_ROLE;
    
  4. Grant this role to the database user APEX_030200 with the following statement:

    GRANT APEX_URL_DATASTORE_ROLE to APEX_030200;
    

    If step 2 returned a value, use this database role name instead of the example APEX_URL_DATASTORE_ROLE.

  5. Lastly, if step 2 did not return a value, then use the Oracle Text API to grant permission to the newly created database role with the following statement:

    EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE');
    

3.4.8 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.4.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. At runtime, each user's Web browser language settings determine the specific language version.

The translated version of Oracle Application Express should be loaded into a database that has a character set that supports the specific language. If you attempt to install a translated version of Oracle Application Express into a database that does not support the character encoding of the language, the installation may fail or the translated Oracle Application Express instance may appear corrupt when run. The database character set AL32UTF8 supports all the translated versions of Oracle Application Express.

You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in AL32UTF8.


Note:

Regardless of the target database character set, to install a translated version of Oracle Application Express, you must set the character set value of 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.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. 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_030200;
    
  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.10 About Managing JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSES determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.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 in this section include:

3.4.10.1 Viewing the Number of JOB_QUEUE_PROCESSES

There are currently three ways to view the number of JOB_QUEUE_PROCESSES:

  • In the installation log file

  • On the About Application Express page in Oracle Application Express

  • From SQL*Plus

3.4.10.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

After installing or upgrading Oracle Application Express to release 3.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.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.4.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.4.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.4.11 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_BASE/ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf
    
  • For Windows based systems:

    ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf
    

3.4.11.1 Obfuscating Passwords

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

3.4.12 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirement".

A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.

An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.


See Also:

Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application Express

Topics in this section include:

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

      If your setup uses Apache and mod_plsql, go to:

      http://hostname:port/pls/apex/apex_admin
      

      Where:

      hostname is the name of the system where Oracle HTTP Server is installed.

      port is the port number assigned to 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 when you installed Oracle Application Express.

      • Click Login.


    See Also:

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

    Next, create a workspace.

  2. Click Manage Workspaces.

  3. Under Manage Workspaces, click Create Workspace.

    The Create Workspace Wizard appears.

  4. For Identify Workspace, enter a workspace name and description and click Next.

  5. For Identify Schema, select the Oracle Forms application schema.

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

    2. Select a schema from the list.

    3. Click Next.

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

  7. Confirm your selections and click Create.

3.4.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 Manage Workspaces.

  3. Under Manage Workspaces, click Manage Developers and Users.

    The Manage Developers and Users page appears.

  4. Click Create.

    The Create/Edit User page appears.

  5. Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.


    Tip:

    To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.

  6. Under Password, type a case-sensitive password for this account.

    If your organization has set up a password policy, be sure the password meets the requirements.

  7. Under Developer Privileges, select the appropriate privileges:

    • User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.

      Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.

    • User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.

      In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.

  8. Under Account Control, specify the following:

    • Account Availability - Select Unlocked to enable a user to log in to this account.

    • Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.

  9. Click Create User or Create and Create Another.

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

    If your setup uses the embedded PL/SQL gateway, go to:

    http://hostname:port/apex
    

    Where:

    • hostname is the name of the system where Oracle XML DB HTTP server is installed.

    • port is the port number assigned to Oracle XML DB HTTP 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 - Enteryour 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 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 in this section include:

3.5.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.5.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.5.1.2 Remove Schemas f:rom 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.5.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.6 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 in this section include:

3.6.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
    
  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.6.2 Converting a Full Development Environment to a Runtime Environment

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
    

See Also:

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

PK"M S:PKI$A OEBPS/toc.ncxH Oracle® Application Express Installation Guide, Release 3.2 Cover Table of Contents Oracle Application Express Installation Guide, Release 3.2 Preface Oracle Application Express Installation Overview Oracle Application Express Installation Requirements Downloading from Oracle Technology Network Configuration Tasks When Installing from the Database Oracle Application Express Troubleshooting Configuring Oracle HTTP Server Distributed with Oracle9i Release 2 Third-Party License Accessibility in Oracle Application Express Index Copyright PKlJM H PKI$AOEBPS/content.opf5 Oracle® Application Express Installation Guide, Release 3.2 en-US E12196-03 Oracle Corporation Oracle Corporation Oracle® Application Express Installation Guide, Release 3.2 2012-04-27T05:16:04Z Explains how to install and configure Oracle Application Express. PK `:5PKI$AOEBPS/dcommon/prodbig.gif GIF87a!!!)))111BBBZZZsss{{ZRRcZZ!!1!91)JB9B9)kkcJJB991ssc絽Zcc!!{祽BZc!9B!c{!)c{9{Z{{cZB1)sJk{{Z{kBsZJ91)Z{!{BcsRsBc{9ZZk甽kBkR!BZ9c)JJc{!))BZks{BcR{JsBk9k)Zck!!BZ1k!ZcRBZcZJkBk1Z9c!R!c9kZRZRBZ9{99!R1{99R{1!1)c1J)1B!BJRkk{ƽ絵ތkk絵RRs{{{{JJsssBBkkk!!9ss{{ZZssccJJZZRRccRRZZ))cBBJJ99JJ!!c11991199Z11!c!!))Z!!!1BRck{)!cJBkZRZ,HP)XRÇEZ֬4jJ0 @ "8pYҴESY3CƊ@*U:lY0_0#  5tX1E: C_xޘeKTV%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((+MrKoT*4flglO|t$>x1a}oryQ$о7#T2Qjnqko{Z[Ov-eF9`0=G\Y2K;iVQ|3@#*NFA(qlڤ\Zme2&r̼z;xoSUԙ Iƒ (b麶۵ƗZ_@QeP#8 UIaY?TTlڤ\Zme2&r̼zv5mrW|Csh]X}6,7q{(mn%. 9I#%d`pA5(Y2K;iVQ|3@#*NFA *gvgdH$F U}O]O+[U"ߌg2:zТwGVǙKfs'kB ( ( ( ( ( ( ( ( ( ( ( ( ( (8?zᖪۣ00c ! 2^? f5_+_E-BCv;9fБS5o' >V< 881,~x& ;+Yjy˜ꁶ  95N9 ͼ6ʜCEoی@0}/<'ku{R|Y]$#'j@#A⹼[זNl$|5)I$!$-bIaY?TU;[gojR":NA9ʢln8wnxv ,M!c+g:{v?Yu4=QaӸJW\)K.-,eDs|/'f8?쯀Z'Koq߹eߟ| |>k6puQ-'Ufzo.:;Ѯ'SpC|nP+2P(?kU-=DŽ>"WO> ‚P002I&;'PA +?f˟򼿵O3v1n?wn{cES<7 rDC MkTW AK᤟J%@bG7H9f%I ǃF(*?mtYJmgºFpPH3bI85\?xkV)k5K&e(H*|˧;$?LESm7F|Uqj06,S,J[e,@85?0T}6c. pjo]EʤFdu?S^7ןs?t?+;\߽{'ɕ',o;8,.໵;&A"6  88 ¼_[o>2x i:7lo# {!AN iן,xOZ7j:]fH7@F} q~ԡ})dInYST1_^ѡ]銓I9pFpx&#ß |k=GMdK.dfbP1]2A=x?OR7Uŏxƞ( :f-[9m pp"o|4CkZzeփ[,ͼmH϶?|5 xQ]2D5I(!b2#l 8-X1Rwu5Ɣ2 զH"HX8Ҁ7&|LJKĪ!d+dĈrnLJNYS=F{xk 5kKi<"h;xwSpe=c_"񝜗~iKk2l@hc>ߩxR2TO [nIrǟLbClk 7y6o~]^3]_H&N8:Ę2?Tg3h5A㿆7]BF@-fFW'HsҀ+?? {Gm$Ы-rʃ=(?BK9HȂY!At9ֻ  =2;; H--c`FIŽI'Pvz+ ;H.dң -Hʞt"gydAS׸Z#tuIHD&Mݬ*%u|dx'V?-xGNC%<ד.@=~UEc[FE߉`٫!sPvojO7VEJ$E `*J(뛉gG.;A'<* =vL KX#pIjcijc#aȠ\;V^վai[XDڴHjBrds3KdAV8a3 ;u/=+RDagDe ;G]Eom~%fw{5@I><[oqsA*92<G(~wmdg8l۟qq]CkoQH8Ppb1 h_~E֩/xkc1 rjƷi#ukXϷ̋{&rZP{ }3N˵!7'ZE |=b}[VѾ}>2_LQ¸I|<{'n?z4;o i$Z9FCn*YI9:qV4iMlc_bŘ,IcdEa-^cHD#!# 23+hxVᦗ GĊd9f$$޽ZNۭ_@ceP# 0#8$g7,N@O CIfbIOt6{NK " +U cq z` 8օqm%~i 5!A~uE ^+k 2 HP`#;zѴ=/rXiYZSnc՛eI&^ 54Hw@3sR䑜zS]eot=" I$iHAW{~Pvk((((((((((((((zݽwmަR8fdỲa8a#תW_§FAInQzA/<%~0WVP:*Zô*!܋)MXt0xN}CBԭk(=lv6Ǒ{u{ɼs j-w{)1.?M?*+<gZ '%PG#=Tր=#'/<#MK\ .|:t z1ZԦ|+j {e ċ!C: dS^_»KBPq$ nI۟MGO׊>۪ʵ<6?/Ɍyy۞;Q\_ xI4MMTZt7$9V9}[wᏉqQ6k6U +A+xpzCaQn+Oxok[du˞61\(*?m!n+C'C?IWy]Zkh 7qdc0A}/ %+/Ӿ#}?{SH9V x8<x:iohڭzp--.b;0|Ql hCJ}\|Z >n"QBpv1A&Aˮx>[HiKq"ycx+M6w455ӫ0bUF0Sq_W~]ϛyX"sW?O5 zCn-/V/n ,ɵR#gcW]ƹMwYZO4F.~c@X C 9<] =gR_E][^$'-@Wڀ=B+x"뺔:O"Xi֬Igs̼6 5ω[/*cFfv F*p9 E3]ծq4/Sy^O|E|?{K-.U]͑ ܬ7T(Vܹ?-o[Ypƒ4Ȭ{{OlGKgs$hʊ8lx>}Ȉٷ9=6ƛY`hynw1W ;£FTxu,`kp ei +g'dQU{fMW:oÆDtp1*HSʜ`C²訨( =gPuy4X}8|Ue8*j?| Z=ω_iWCF ڡY`@ǨQX~>ҵh[K*@np0ө[QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE1Ѷ|mCۿG[$VgB/g} Wm|$f1Ўxv~.އ$l06 ;P<RןN ATttmKi +xi,U(' z ǽV};v5 soj"As7B:nx;úψ4B}#%$dP16>x%TeF ,aXq0 [V7:4;F4-ͫ[(݃n6qv;=36͝Ϋiu zԫU7;-g|P߄K;&gBgpcP235? #ͫ/o y9y\Dg,p"I;OE֖:RXOH# A9=E/%[Kf }*a0R 48qe+l>T3GS@%W [q 29P(񕿃?<,.۷[Igq6`r 9WW7sv5:9' ;I᱇ s?gK\ =OMviIh$#`[GG?'Z'4ӧ?jHypdLs^ ^6m^LF9f㌓qUY ƺrVo21I!f%X~*H.x:o4iMR8`@g!Ny3jEEZ7?i^JږUh%QWwLakWiz\sA-\3]:*Tc;zJ qUoDjgu=a|q)11s:IiuR{'֮>r:F‚d=I*Ox/B񮜶zէn0LRHY VʒA '>m_WʷUswcHC²訫CF#QKVRقJ`A*6Tr u V=m/Kh%kkV`Up6aoZ'{j~}ʉ#"оY f$7+)g%ZǍOwh $y?>#j-I+w*.qï 760NkgX4RQU#ZO0xIOvZ%:g[M?t?*Viͻ\iz KYU pJ3=G/'eӴ;66~;c@pҸ>ëXo`Wlf2UwD$A'8=((((((((((((((((򿋾%FOKƧĖBDNb.z7;?I;'dyf|yzh(ᯏuw*ykpH`6A$O5PEPEy^jS~Ѿ'.OLGѦc6~U3~fֽR ( ( ( ( ( (ƱHa|nuMBc. ~6l~nNQdզ|GąES \3n,8|S=kMi O1vJG9 J(7īi^ *)n5Q>FgJL* HOS?|'e&uͥ<#Ļ~2@p3^Y՚y^nRh hdSRGFpJ8tQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEx}3_$mugNY-N=+K9'TE @W׊7^:moqsA.$r(eu2ۂ<GUg[KdZ r?A zKo_}wkuk\&q|x]s+h[P#k?8jYylT0~S'Y'[fŲkzB)x+2vc#?rTdv8%xQ~ ZھE*gQFR~-IyQ6O$ՑVF9Ei |Rā'85¿Vs]|MS| &o$ /侃WԎ+Y[M s;@=3]׋4O5UĬFduw#ƾ5I7;$"YL6!m$E 1F0}#_co>6iV:Oo!\w;~ϾtKRoryG >x';'=(/SϷ#۱_&H~Iv{tQ1VS|x_9^6NUGCنOAp״6?ĽfOGc+', dfxKW7wZ[$#88,rO(?N/>(j4?-~F<Uhx_9^6NUGCنOAp״6?ĽfOGc+', dfxKW7wZ[$#88,rO(/g}o =[ún3k>cԣX6͜9-suK [jàY`!rX'nFk(n_X|>\Z%6,bc 'r# SXF>#nm2$Euឋ yuNT!arzd S}/Z͵Fҗ;Ur e)d@iV:oiYۦȢN?$y$rM\8OVW|#gsYt?X!տ~-O78wm޿1ڽBT0~S<K4Zn[ۑJ7;#tPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPPK6=-6f1fPKI$AOEBPS/dcommon/contbig.gif`GIF87a!!!111999BBBJJJRRRccckkksss{{{skk{{ZRRRJJƽ{sZRJRJB91)kcZB9)sskZRJ1޽ƽ{{ssskkkcƵZZRccZRRJJJB{BB9991ssckkZccR))!RRB!!JJ1))99!11ƌ)1R)k֔)s1RZJR{BJs9R1J!11J1J9k{csZk!1J!)cBR9J1B)91B!cRs{!)s!){1B!k!s!{ksksckckZc9B)1!)!)BJ9B1919έƌ!!)JJcZZ{!!!1RR{JJsBBkJJ{!!9BB{1!!J9)!!Z!!c1!!kR!!s9Z!BckJs)19!!c!!ZRZ,H rrxB(Kh" DժuICiи@S z$G3TTʖ&7!f b`D 0!A  k,>SO[!\ *_t  Exr%*_}!#U #4 & ֩3|b]L ]t b+Da&R_2lEٱZ`aC)/яmvUkS r(-iPE Vv_{z GLt\2s!F A#葡JY r|AA,hB}q|B`du }00(䡆<pb,G+oB C0p/x$…– ]7 @2HFc ) @AD \0 LHG',(A` `@SC)_" PH`}Y+_|1.K8pAKMA @?3҄$[JPA)+NH I ,@8G0/@R T,`pF8Ѓ)$^$ DDTDlA@ s;PKPKI$AOEBPS/dcommon/darbbook.cssPKPKI$A!OEBPS/dcommon/O_signature_clr.JPG"(JFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?O '~MQ$Vz;OlJi8L%\]UFjޙ%ԯS;rA]5ފ<׈]j7Ouyq$z'TQuw7Ŀ KX߁M2=S'TQt?.5w'97;~pq=" ~k?`'9q6 E|yayM^Om'fkC&<5x' ?A?Zx'jß={=SßM gVC.5+Hd֪xc^)Җufz{Cީ|D Vkznq|+Xa+{50rx{|OG.OϞ~f/ xxX[2H )c+#jpUOZYX\=SG ߨC|K@;_߆'e?LT?]:?>w ڔ`D^So~xo[Ӡ3i7B:Q8 Vc-ďoi:FM292~y_*_闱YN\Fr=xZ3鳎OwW_QEzW~c]REeaSM}}Hӏ4&.E]u=gMѠ+mF`rNn$w9gMa꺢nTuhf2Xv>އ a(Û6߭?<=>z'TQuw7Ŀ KX߁M2=S'TQt?.5Kko\.8S$TOX߀Gw?Zx汴X)C7~.i6(Щ=+4{mGӭ¸-]&'t_kV*I<1)4thtIsqpQJ+> \m^[aJ5)ny:4o&QEnyAEPEEss 72,PDۢ׃K W{Wjr+wگ iM/;pd?~&?@;7E4gv8 $l'z'TQuw7Ŀ Gֱ=ɿ&G?. iR(5W*$|?w᫼gkmIbHe/_t>tg%y.l}N5[]+Mk0ĠeHdPrsst'UiC,y8`V%9ZIia|ܪvi מYG,o}+kk{YbyIeb*sAtի82zWoEK5z*o-eo;n(P u-I)4Š(HQEQEQEQEhz(X/Đ?}Bk˩ ݏrk0]4>8XzV? }6$}d^F>nU K ?Bտk_9׾x~w'ߞ  uDŽtL ؈5c-E/"|_Oo.IH쐍=i*Iw5(ںw?t5s.)+tQ2dUt5Vĺ.jZ"@IRrZƅY4ߡ_;}ų(KyQf1Aǵt?sZg+?F5_oQR&Dg߿]6FuRD u>ڿxl7?IT8'shj^=.=J1rj1Wl$얲cPx;E,p$֟ˏkw qg"45(ǛkV/=+ũ)bYl~K#˝J_כ5&\F'I#8/|wʾ_Xj Q:os^T1.M_|TO.;?_  jF?g N 8nA2F%i =qW,G=5OU u8]Rq?wr'˻S+۾.ܼ 87Q^elo/T*?L|ۚ<%<,/v_OKs B5f/29n0=zqQq(ª=VX@*J(э(f5qJN_EVǞQEOuoѕOuoa5}gO?:߂8Wא|cڽ~]N&O( (<]>͠@VQ=^~U ̴m&\խ5i:}|}r~9՝f}_>'vVֲ$~^f30^in{\_.O F8to}?${φ|#x^#^n~w=~k~?'KRtO.㌡h![3Zu*ٷճ(ԟ]z_/W1(ԟ]v~g|Yq<ז0 ; b8֮s,w9\?uEyStKaª@\,)) (!EPEPEPEPEPzѧts{v>C/"N6`d*J2gGӧWqBq_1ZuΓ\X]r?=Ey88Mp&pKtO-"wR2 K^-Z< \c>V0^@O7x2WFjs<׻kZ(<Т(OFw/6$1[:ޯԯ#q~4|,LVPem=@=YLUxӃV}AUbcUB.Ds5*kٸAeG>PJxt͝ b88?*$~@ׯD VkraiJs}Q.20x&mXξ,Z]“A-J#`+-E/"<]\a'tZGy.(|lދ~gMK OZdxDŽU9T6ϯ^<Ϡt5CZ]].t۫S=s`ڳ%8iVK:nqe+#<.T6U>zWoy3^I {F?J~=G}k)K$$;$de8*G Uӟ4Ocºw}|]4=ݣ\x$ʠms?q^ipw\"ȿPs^Z Q_0GڼU.t}ROM[G#]8wٞ ӫ87}Cgw vHȩBM55vof =A_٭`Ygx[6 P,5}>蚊(0(+?>+?> k|TuXq6_ +szk :u_ Z߶Ak_U}Jc2u/1[_»ݸG41-bሬ۴}}Eȹפ_c?5gi @cL\L<68hF_Ih>X4K7UТ sMj =J7CKo>Օ5s:߀t ~ηaٿ?|gdL8+gG%o?x`دOqȱwc¨&TW_V_aI=dpG!wu۞սZ1yL50$(l3(:~'ַo A}a3N*[0ǭ HKQV}G@֜$ 9of$ArNqUOgË05#m?D)^_h//5_/<?4}Jį+GkpG4"$ r| >S4Ђ"S 1%R:ȝ 8;PKPz PKI$AOEBPS/dcommon/feedback.gif7GIF89a'%(hp|fdx?AN5:dfeDGHɾTdQc`g*6DC\?ؘ||{;=E6JUՄfeA= >@,4`H.|`a (Q 9:&[|ځ,4p Y&BDb,!2@, $wPA'ܠǃ@CO~/d.`I @8ArHx9H75j L 3B/` P#qD*s 3A:3,H70P,R@ p!(F oԥ D;"0 ,6QBRɄHhI@@VDLCk8@NBBL2&pClA?DAk%$`I2 #Q+l7 "=&dL&PRSLIP)PɼirqМ'N8[_}w;PK-PKI$AOEBPS/dcommon/booklist.gifGIF89a1޵֥΄kZ{Jk1Rs!BZ)B),@I9Z͓Ca % Dz8Ȁ0FZЌ0P !x8!eL8aWȠFD(~@p+rMS|ӛR$ v "Z:]ZJJEc{*=AP  BiA ']j4$*   & 9q sMiO?jQ = , YFg4.778c&$c%9;PKː5PKI$AOEBPS/dcommon/cpyr.htm1 Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

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

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.

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

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

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.

Third-Party Content, Products, and Services Disclaimer

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.

Alpha and Beta Draft Documentation Notice

If this document is in prerelease status:

This documentation is in prerelease 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.

Oracle Logo

PKN61PKI$AOEBPS/dcommon/masterix.gif.GIF89a1ޜΌscJk1Rs!Bc1J),@IS@0"1 Ѿb$b08PbL,acr B@(fDn Jx11+\%1 p { display: none; } /* Class Selectors */ .ProductTitle { font-family: sans-serif; } .BookTitle { font-family: sans-serif; } .VersionNumber { font-family: sans-serif; } .PrintDate { font-family: sans-serif; font-size: small; } .PartNumber { font-family: sans-serif; font-size: small; } PKeӺ1,PKI$AOEBPS/dcommon/larrow.gif#GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШtpHc`  өb[.64ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPKI$AOEBPS/dcommon/index.gifGIF89a1޵ΥΥ{sc{BZs,@IM" AD B0 3.R~[D"0, ]ШpRNC  /& H&[%7TM/`vS+-+ q D go@" 4o'Uxcxcc&k/ qp zUm(UHDDJBGMԃ;PK(PKI$AOEBPS/dcommon/bookbig.gif +GIF89a$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9B!& Imported from GIF image: bookbig.gif,$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BH`\Ȑ:pظа"A6DBH,V@Dڹ'G"v Æ ܥ;n;!;>xAܽ[G.\rQC wr}BŊQ A9ᾑ#5Y0VȒj0l-GqF>ZpM rb ;=.ސW-WѻWo ha!}~ْ ; t 53 :\ 4PcD,0 4*_l0K3-`l.j!c Aa|2L4/1C`@@md;(H*80L0L(h*҇҆o#N84pC (xO@ A)J6rVlF r  fry†$r_pl5xhA+@A=F rGU a 1х4s&H Bdzt x#H%Rr (Ѐ7P`#Rщ'x" #0`@~i `HA'Tk?3!$`-A@1l"P LhʖRG&8A`0DcBH sq@AXB4@&yQhPAppxCQ(rBW00@DP1E?@lP1%T` 0 WB~nQ@;PKGC PKI$AOEBPS/dcommon/rarrow.gif/GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШLlԸ NCqWEd)#34vwwpN|0yhX!'+-[F 'n5 H $/14w3% C .90" qF 7&E "D mnB|,c96) I @0BW{ᢦdN p!5"D`0 T 0-]ʜ$;PKJV^PKI$AOEBPS/dcommon/mix.gifkGIF89aZZZBBBJJJkkk999sss!!!111cccֽ{{{RRR)))猌ƭ{s{sks!,@@pH,B$ 8 t:<8 *'ntPP DQ@rIBJLNPTVEMOQUWfj^!  hhG H  kCúk_a Ǥ^ h`B BeH mm  #F` I lpǎ,p B J\Y!T\(dǏ!Gdˆ R53ټ R;iʲ)G=@-xn.4Y BuU(*BL0PX v`[D! | >!/;xP` (Jj"M6 ;PK枰pkPKI$AOEBPS/dcommon/doccd_epub.jsM /* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PKI$AOEBPS/dcommon/toc.gifGIF89a1ΥΥ{c{Z{JkJk1Rk,@IK% 0| eJB,K-1i']Bt9dz0&pZ1o'q(؟dQ=3S SZC8db f&3v2@VPsuk2Gsiw`"IzE%< C !.hC IQ 3o?39T ҍ;PKv I PKI$AOEBPS/dcommon/topnav.gifGIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)-'KR$&84 SI) XF P8te NRtHPp;Q%Q@'#rR4P fSQ o0MX[) v + `i9gda/&L9i*1$#"%+ ( E' n7Ȇ(,҅(L@(Q$\x 8=6 'נ9tJ&"[Epljt p#ѣHb :f F`A =l|;&9lDP2ncH R `qtp!dȐYH›+?$4mBA9 i@@ ]@ꃤFxAD*^Ŵ#,(ε  $H}F.xf,BD Z;PK1FAPKI$AOEBPS/dcommon/bp_layout.css# @charset "utf-8"; /* bp_layout.css Copyright 2007, Oracle and/or its affiliates. All rights reserved. */ body { margin: 0ex; padding: 0ex; } h1 { display: none; } #FOOTER { border-top: #0d4988 solid 10px; background-color: inherit; color: #e4edf3; clear: both; } #FOOTER p { font-size: 80%; margin-top: 0em; margin-left: 1em; } #FOOTER a { background-color: inherit; color: gray; } #LEFTCOLUMN { float: left; width: 50%; } #RIGHTCOLUMN { float: right; width: 50%; clear: right; /* IE hack */ } #LEFTCOLUMN div.portlet { margin-left: 2ex; margin-right: 1ex; } #RIGHTCOLUMN div.portlet { margin-left: 1ex; margin-right: 2ex; } div.portlet { margin: 2ex 1ex; padding-left: 0.5em; padding-right: 0.5em; border: 1px #bcc solid; background-color: #f6f6ff; color: black; } div.portlet h2 { margin-top: 0.5ex; margin-bottom: 0ex; font-size: 110%; } div.portlet p { margin-top: 0ex; } div.portlet ul { list-style-type: none; padding-left: 0em; margin-left: 0em; /* IE Hack */ } div.portlet li { text-align: right; } div.portlet li cite { font-style: normal; float: left; } div.portlet li a { margin: 0px 0.2ex; padding: 0px 0.2ex; font-size: 95%; } #NAME { margin: 0em; padding: 0em; position: relative; top: 0.6ex; left: 10px; width: 80%; } #PRODUCT { font-size: 180%; } #LIBRARY { color: #0b3d73; background: inherit; font-size: 180%; font-family: serif; } #RELEASE { position: absolute; top: 28px; font-size: 80%; font-weight: bold; } #TOOLS { list-style-type: none; position: absolute; top: 1ex; right: 2em; margin: 0em; padding: 0em; background: inherit; color: black; } #TOOLS a { background: inherit; color: black; } #NAV { float: left; width: 96%; margin: 3ex 0em 0ex 0em; padding: 2ex 0em 0ex 4%; /* Avoiding horizontal scroll bars. */ list-style-type: none; background: transparent url(../gifs/nav_bg.gif) repeat-x bottom; } #NAV li { float: left; margin: 0ex 0.1em 0ex 0em; padding: 0ex 0em 0ex 0em; } #NAV li a { display: block; margin: 0em; padding: 3px 0.7em; border-top: 1px solid gray; border-right: 1px solid gray; border-bottom: none; border-left: 1px solid gray; background-color: #a6b3c8; color: #333; } #SUBNAV { float: right; width: 96%; margin: 0ex 0em 0ex 0em; padding: 0.1ex 4% 0.2ex 0em; /* Avoiding horizontal scroll bars. */ list-style-type: none; background-color: #0d4988; color: #e4edf3; } #SUBNAV li { float: right; } #SUBNAV li a { display: block; margin: 0em; padding: 0ex 0.5em; background-color: inherit; color: #e4edf3; } #SIMPLESEARCH { position: absolute; top: 5ex; right: 1em; } #CONTENT { clear: both; } #NAV a:hover, #PORTAL_1 #OVERVIEW a, #PORTAL_2 #OVERVIEW a, #PORTAL_3 #OVERVIEW a, #PORTAL_4 #ADMINISTRATION a, #PORTAL_5 #DEVELOPMENT a, #PORTAL_6 #DEVELOPMENT a, #PORTAL_7 #DEVELOPMENT a, #PORTAL_11 #INSTALLATION a, #PORTAL_15 #ADMINISTRATION a, #PORTAL_16 #ADMINISTRATION a { background-color: #0d4988; color: #e4edf3; padding-bottom: 4px; border-color: gray; } #SUBNAV a:hover, #PORTAL_2 #SEARCH a, #PORTAL_3 #BOOKS a, #PORTAL_6 #WAREHOUSING a, #PORTAL_7 #UNSTRUCTURED a, #PORTAL_15 #INTEGRATION a, #PORTAL_16 #GRID a { position: relative; top: 2px; background-color: white; color: #0a4e89; } PK3( # PKI$AOEBPS/dcommon/bookicon.gif:GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ޭ{{ZRRcZZRJJJBB)!!skRB9{sν{skskcZRJ1)!֭ƽ{ZZRccZJJBBB999111)JJ9BB1ZZB!!ﭵBJJ9BB!!))Jk{)1!)BRZJ{BsR!RRJsJ!J{s!JsBkks{RsB{J{c1RBs1ZB{9BJ9JZ!1BJRRs!9R!!9Z9!1)J19JJRk19R1Z)!1B9R1RB!)J!J1R)J119!9J91!9BkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckތ1)1J9B,H*\hp >"p`ƒFF "a"E|ժOC&xCRz OBtX>XE*O>tdqAJ +,WxP!CYpQ HQzDHP)T njJM2ꔀJ2T0d#+I:<жk 'ꤱF AB @@nh Wz' H|-7f\A#yNR5 /PM09u UjćT|q~Yq@&0YZAPa`EzI /$AD Al!AAal 2H@$ PVAB&c*ؠ p @% p-`@b`uBa l&`3Ap8槖X~ vX$Eh`.JhAepA\"Bl, :Hk;PKx[?:PKI$AOEBPS/dcommon/conticon.gif^GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ZRR޽{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k{k)Z1RZs1!B)!J91{k{)J!B!B911)k{cs!1s!9)s!9!B!k)k1c!)Z!R{9BJcckZZcBBJ99B119{{!!)BBRBBZ!))999R99Z!!999c1!9!)19B1)!B9R,  oua\h2SYPa aowwxYi 9SwyyxxyYSd $'^qYȵYvh ч,/?g{н.J5fe{ڶyY#%/}‚e,Z|pAܠ `KYx,ĉ&@iX9|`p ]lR1khٜ'E 6ÅB0J;t X b RP(*MÄ!2cLhPC <0Ⴁ  $4!B 6lHC%<1e H 4p" L`P!/,m*1F`#D0D^!AO@..(``_؅QWK>_*OY0J@pw'tVh;PKp*c^PKI$AOEBPS/dcommon/blafdoc.cssL@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.10.7 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; } h2 { font-size: 152%; font-weight: bold; } h3 { font-size: 139%; font-weight: bold; } h4 { font-size: 126%; font-weight: bold; } h5 { font-size: 113%; font-weight: bold; display: inline; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #e00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #e00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PKʍPKI$AOEBPS/dcommon/rightnav.gif&GIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)- $CҠҀ ! D1 #:aS( c4B0 AC8 ְ9!%MLj Z * ctypJBa H t>#Sb(clhUԂ̗4DztSԙ9ZQҀEPEPEPEPEPEPEPM=iԍP Gii c*yF 1׆@\&o!QY00_rlgV;)DGhCq7~..p&1c:u֫{fI>fJL$}BBP?JRWc<^j+χ5b[hֿ- 5_j?POkeQ^hֿ1L^ H ?Qi?z?+_xɔŪ\썽O]χ>)xxV/s)e6MI7*ߊޛv֗2J,;~E4yi3[nI`Ѱe9@zXF*W +]7QJ$$=&`a۾?]N T䏟'X)Ɣkf:j |>NBWzYx0t!* _KkoTZ?K Gc+UyڹgNuh^iSo5{\ܹ3Yos}.>if FqR5\/TӮ#]HS0DKu{($"2xִ{SBJ8=}Y=.|Tsц2UЫ%.InaegKo z ݎ3ֹxxwM&2S%';+I',kW&-"_¿_ Vq^ܫ6pfT2RV A^6RKetto^[{w\jPZ@ޢN4/XN#\42j\(z'j =~-I#:q[Eh|X:sp* bifp$TspZ-}NM*B-bb&*xUr#*$M|QWY ~p~- fTED6O.#$m+t$˙H"Gk=t9r娮Y? CzE[/*-{c*[w~o_?%ƔxZ:/5𨴟q}/]22p qD\H"K]ZMKR&\C3zĽ[PJm]AS)Ia^km M@dК)fT[ijW*hnu Ͳiw/bkExG£@f?Zu.s0(<`0ֹoxOaDx\zT-^ѧʧ_1+CP/p[w 9~U^[U<[tĽwPv[yzD1W='u$Oeak[^ |Gk2xv#2?¹TkSݕ| rݞ[Vi _Kz*{\c(Ck_܏|?u jVڔ6f t?3nmZ6f%QAjJf9Rq _j7Z-y.pG$Xb]0')[_k;$̭?&"0FOew7 z-cIX岛;$u=\an$ zmrILu uٞ% _1xcUW%dtÀx885Y^gn;}ӭ)場QEQ@Q@Q@Q@Q@Q@!4xPm3w*]b`F_931˜[ן+(> E ly;<;MF-qst+}DH @YKlLmؤciN<|]IU)Lw(8t9FS(=>og<\Z~u_+X1ylsj'eՃ*U3`C!N9Q_WܱhKc93^ua>H ƕGk=8~e#_?{ǀe-[2ٔ7;=&K挑5zsLdx(e8#{1wS+ΝVkXq9>&yஏh$zq^0~/j@:/«Vnce$$uoPp}MC{$-akH@ɫ1O !8R9s5ԦYmϧ'OUṡ5T,!Ԛ+s#1Veo=[)g>#< s)ƽُA^䠮ωFUj(ǩ|N3Jڷ睁ϱuږZYGOTsI<&drav?A^_f׻B$,O__ԿC`it{6>G׈C~&$y؎v1q9Sc1fH[ѽ>,gG'0'@Vw,BO [#>ﱺg5ΒFVD%Yr:O5 Tu+O멃]ی38Ze}R&ѝ_xzc1DXgس;<,_,{ƽY'AS#oF.M#~cBuEx7G+Y)(5q+GCV;qF+CLQ)qEC&6z𿊘z}?&w=+)??&\g{;V??׻xGœdٿ׼-Nc')3K]N)iLTӿCdb7Q^a N sd>Fz[0S^s'Zi 77D}kWus ab~~H(>.fif9,~|Jk;YN3H8Y(t6Q݉k͇_÷Z+2߄&[ +Tr^藺97~c܎=[f1RrBǓ^kEMhxYVm<[џ6| kqbѱ| YA{G8p?\UM7Z66 g1U1igU69 u5Pƪ:VVZC=[@ҹ¨$kSmɳО\vFz~i3^a Osŧυ9Q}_3 όO{/wgoet39 vO2ea;Ύ7$U#?k+Ek&dpzbӱ+TaB0gN{[N7Gי}U7&@?>Fz~E!a@s ?'67XxO*!?qi]֏TQN@tI+\^s8l0)2k!!iW8F$(yOּT.k,/#1:}8uT˾+5=O/`IW G֯b.-<= HOm;~so~hW5+kS8s.zwE| ?4ӿw/K N 9?j(#0UT` Wzw}:_*9m>󑓀F?ELzv=8q:=WgJ`nDr Zе<ֹ](Q@Q@Q@Q@Q@Q@Q@Q@ 'IdC0EYJVcMty_~u+Sw-aO n<[YJgL#6i g5ЖDZ14cʝ!!\/M}/_AYR__>oC? _?7_G#RERW쏞KB}JxGSkǕA pƱơP m]hwB7U$Zq M95"3q1ioATߚ{g.t uu2k=;h#YB= fgS :TdLԃ!44mFK{Hrd^7oz|BVr<{)6AXգV»|>*/hS܏z͆OM=Εq (s|s׊LKQI :9NJ)P+!ʣoAF>+=@I}"x/}۠1aנc¹4emC:>p_xWKX` >R3_S½èųp3޺u3N e یbmͺ<_ mnݮ1Op?Gm)Qb%N585'%Ahs\6yw!"&Ɨ._wk)}GP;Z!#\"< *oƾ\)}N>"լ/~]Lg}pBG X?<zZ#x69S=6) jzx=y9O&>+e!!? ?s~k5Gʏ)?*ce7Ox~k5􇔾Q/e7/Ԑ#3OgNC0] ;_FiRl>Q.g>!%k#ú:Kn'&}?U@\pџPtp)v<{_i}Oվֲ3XIYIx~b<D?(=_JXH=bbi=Oh?_ C_O)}oW쏜? %Ƶ;-RYFi`wۭ{ϖZMtQ$"c_+ԃx1*0b;ԕ݋ESQEQEQEQEQEQEQEQEQEQZ(1F)h1K@XLRE&9P (bf{RӨ&)PEPEPbԴPGKZ(iإbn(:A%S0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKje88PKI$AOEBPS/dcommon/help.gif!GIF89a1εֵ֜֜{kZsBc{,@ )sƠTQ$8(4ʔ%ŌCK$A HP`$h8ŒSd+ɡ\ H@%' 6M HO3SJM /:Zi[7 \( R9r ERI%  N=aq   qƦs *q-n/Sqj D XZ;PKއ{&!PKI$A OEBPS/toc.htmP Table of Contents

Contents

Title and Copyright Information

Preface

1 Oracle Application Express Installation Overview

2 Oracle Application Express Installation Requirements

3 Downloading from Oracle Technology Network

4 Configuration Tasks When Installing from the Database

A Oracle Application Express Troubleshooting

B Configuring Oracle HTTP Server Distributed with Oracle9i Release 2

C Third-Party License

D Accessibility in Oracle Application Express

Index

PKdPPPKI$AOEBPS/license.htm-V Third-Party License

C Third-Party License

This appendix contains the third party license for Apache.

C.1 Apache License

                  Apache License
             Version 2.0, January 2004
           http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
 
      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.
 
      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.
 
      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.
 
      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.
 
      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.
 
      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.
 
      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).
 
      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.
 
      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."
 
      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.
 
   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.
 
   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.
 
   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:
 
      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and
 
      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and
 
      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and
 
      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.
 
      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.
 
   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.
 
   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.
 
   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.
 
   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.
 
   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.
 
   END OF TERMS AND CONDITIONS
PK5--PKI$AOEBPS/db_install.htm Configuration Tasks When Installing from the Database

4 Configuration Tasks When Installing from the Database

Oracle Application Express is installed by default with Oracle Database 11g. This chapter describes required postinstallation configuration tasks for Oracle Application Express when installed with Oracle Database 11g or later.

The instructions in this chapter apply to both new and upgrade installations. To learn more, see "Upgrading from a Previous Version of Oracle Application Express".

This chapter contains these topics:

4.1 About Patching Oracle Application Express

If you are already running Oracle Application Express, then check the Oracle Application Express page on the Oracle Technology Network (OTN) at the following URL for information about patch set releases or later versions of Oracle Application Express:

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

Upgrading to Oracle Database 11g will not patch Oracle Application Express. To learn more about downloading and installing Oracle Application Express from Oracle Technology Network (OTN) see "Downloading from Oracle Technology Network".

4.2 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 any existing Oracle Database instances as well as Oracle-related processes.

    Shut down any existing Oracle Database instances with normal or immediate priority, except for the database where you plan to install the Oracle Application Express schemas. On Oracle Real Application Clusters (Oracle RAC) systems, shut down all instances on each node.

    If Automatic Storage Management (ASM) is running, shut down all databases that use ASM except for the database where you will install Oracle Application Express, and then shut down the ASM instance.

    You can use the Windows Services utility, located either in the Windows Control Panel or from the Administrative Tools menu (under Start and then Programs), to shut down Oracle Database and ASM instances. Names of Oracle databases are preceded with OracleService. The Oracle ASM service is named OracleASMService+ASM. In addition, shut down the OracleCSService service, which ASM uses. Right-click the name of the service and from the menu, choose Stop.

  3. Back up the Oracle Database installation.

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

  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 the listener or Oracle HTTP Server. However, if you are performing a remote installation, make sure the database listener for the remote database has started.


    Note:

    If you are connecting to a remote database, then start the listener.

4.3 Choosing an HTTP Server

In order to run, Oracle Application Express must have access to either the embedded PL/SQL gateway or Oracle HTTP Server and mod_plsql. To learn more, see "About Choosing an HTTP Server".

4.4 Installing from the Database and Configure the Embedded PL/SQL Gateway

This section describes required postinstallation configuration tasks when running Oracle Application Express with the embedded PL/SQL gateway.

Topics in this section include:

4.4.1 Install the Oracle Database and Complete Pre-installation Tasks

Oracle Application Express automatically installs with Oracle Database 11g or later. To learn more about install the Oracle Database, see the Oracle Database Installation Guide for your operating environment and "Recommended Pre-installation Tasks".

4.4.2 Configure the Embedded PL/SQL Gateway

Although the embedded PL/SQL gateway installs with the Oracle Database 11g, you must configure it before you can use it with Oracle Application Express. To accomplish, you run a configuration file and unlock the ANONYMOUS account.


Note:

The Oracle XML DB HTTP Server with the embedded PL/SQL gateway is not supported before Oracle Database 11g.

Topics in this section include:

4.4.2.1 Running the apxconf.sql Configuration Script

In a new installation, you configure the embedded PL/SQL gateway by running the configuration script apxconf.sql. Then, you unlock the ANONYMOUS account.


Note:

If you are upgrading and have previously configured the embedded PL/SQL gateway, skip this section and go to "Enable Network Services in Oracle Database 11g".

To run the apxconf.sql configuration script:

  1. Change your working directory to ORACLE_BASE\ORACLE_HOME\apex or whatever convention used to indicate the Oracle home.

  2. 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 
      
  3. Run apxconf.sql as shown in the following example:

    @apxconf
    
  4. When prompted, enter a password for the Application Express Admin account.

    Be sure to make a note of the password you enter. You will use this password to log in to Oracle Application Express Administration Services.

  5. When prompted, enter the port for the Oracle XML DB HTTP server. The default port number is 8080.

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

    ALTER USER ANONYMOUS ACCOUNT UNLOCK;
    

4.4.2.2 Verifying the Oracle XML DB HTTP Server Port

The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database. You can determine if the Oracle XML DB HTTP server is enabled by verifying the associated port number.

To verify the port number where the Oracle XML DB HTTP 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 HTTP Server is disabled.

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

4.4.2.3 Enabling Oracle XML DB HTTP Server

The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database.

To enable Oracle XML DB HTTP server:

  1. Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS. For example:

    • Windows:

      DRIVE_LETTER:\> sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password 
      
    • UNIX and Linux:

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password 
      
  2. Run the following statements:

    EXEC DBMS_XDB.SETHTTPPORT(port);
    COMMIT;
    

    For example:

    EXEC DBMS_XDB.SETHTTPPORT(8080);
    COMMIT;
    

Note:

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

4.4.2.4 Disabling Oracle XML DB HTTP Server

The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database. To disable Oracle XML DB HTTP server:

  1. Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS. For example:

    • Windows:

      DRIVE_LETTER:\> sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password 
      
    • UNIX and Linux:

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password 
      
  2. Run the following statements:

    EXEC DBMS_XDB.SETHTTPPORT(0);
    COMMIT;
    

4.4.3 Enable Network Services in Oracle Database 11g

By default, the ability to interact with network services is disabled in Oracle Database 11g release 1 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11g release 1 (11.1), you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_030200 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.

  • Searching for content in online Help (that is, using the Find link).

Topics in this section include:


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.

4.4.3.1 Granting Connect Privileges

The following example demonstrates how to grant connect privileges to any host for the APEX_030200 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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 power users to connect to everywhere',
    'APEX_030200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

4.4.3.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_030200 user. See "Granting Connect Privileges".

4.4.4 Enable Indexing of Online Help in Oracle Database 11g Release 2 and Higher

The ability to search Oracle Application Express online Help is accomplished through Oracle Text and a URL data store. There is a change in the default behavior and permissions to use an Oracle Text URL data store in Oracle Database 11g Release 2 and later releases.

If users attempt to search Oracle Application Express online Help in Oracle Database 11g Release 2 and encounter the following error, then the permission to use an Oracle Text URL data store has not been granted to database user APEX_030200.

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine 
ORA-20000: Oracle Text error: 
DRG-10758: index owner does not have the privilege to use file or URL data store

To enable the indexing of online Help in Oracle Application Express, the permission to use an Oracle Text URL data store must be granted to the APEX_030200 database user. This is accomplished by assigning this specific privilege to a datbase role and then granting this role to the APEX_030200 database user.

To determine if the ability to use an Oracle Text URL data store is already granted to a database role:

  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:

    SELECT par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE';
    

    This returns either NULL or the database role which is granted the ability to use an Oracle Text URL data store.

  3. If no value is returned by step 2, then create a new database role as shown in the following example:

    CREATE ROLE APEX_URL_DATASTORE_ROLE;
    
  4. Grant this role to the database user APEX_030200 with the following statement:

    GRANT APEX_URL_DATASTORE_ROLE to APEX_030200;
    

    If step 2 returned a value, use this database role name instead of the example APEX_URL_DATASTORE_ROLE.

  5. Lastly, if step 2 did not return a value, then use the Oracle Text API to grant permission to the newly created database role with the following statement:

    EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE');
    

4.4.5 Security Considerations

Oracle highly recommends you configure and use a Secure Sockets Layer (SSL) to ensure that passwords and other sensitive data are not transmitted in clear text in HTTP requests. Without the use of SSL, passwords could potentially be exposed, compromising security.

SSL is an industry standard protocol that uses RSA public key cryptography in conjunction with symmetric key cryptography to provide authentication, encryption, and data integrity.

4.4.6 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. At runtime, each user's Web browser language settings determine the specific language version.

The translated version of Oracle Application Express should be loaded into a database that has a character set that supports the specific language. If you attempt to install a translated version of Oracle Application Express into a database that does not support the character encoding of the language, the installation may fail or the translated Oracle Application Express instance may appear corrupt when run. The database character set AL32UTF8 supports all the translated versions of Oracle Application Express.

You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in AL32UTF8.


Note:

Regardless of the target database character set, to install a translated version of Oracle Application Express, you must set the character set value of 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 

4.4.6.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. 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_030200;
    
  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).

4.4.7 About Managing JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSES determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.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 in this section include:

4.4.7.1 Viewing the Number of JOB_QUEUE_PROCESSES

There are currently three ways to view the number of JOB_QUEUE_PROCESSES:

  • In the installation log file

  • On the About Application Express page in Oracle Application Express

  • From SQL*Plus

4.4.7.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

After installing or upgrading Oracle Application Express to release 3.2, you can view the number of JOB_QUEUE_PROCESSES in the installation log files. See "Reviewing a Log of an Installation Session".

4.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 Oracle Application Express Workspace".

  2. On the Administration list, click About Application Express.

    The current number JOB_QUEUE_PROCESSES displays at the bottom of the page.

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

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

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

4.4.9 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirement".

A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.

An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.


See Also:

Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application Express

This section includes these topics:

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

      If 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 HTTP server is installed.

      port is the port number assigned to Oracle XML DB HTTP 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 when you installed Oracle Application Express.

      • Click Login.


    See Also:

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

    Next, create a workspace.

  2. Click Manage Workspaces.

  3. Under Manage Workspaces, click Create Workspace.

    The Create Workspace Wizard appears.

  4. For Identify Workspace, enter a workspace name and description and click Next.

  5. For Identify Schema, select the Oracle Forms application schema.

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

    2. Select a schema from the list.

    3. Click Next.

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

  7. Confirm your selections and click Create.

4.4.9.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 Manage Workspaces.

  3. Under Manage Workspaces, click Manage Developers and Users.

    The Manage Developers and Users page appears.

  4. Click Create.

    The Create/Edit User page appears.

  5. Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.


    Tip:

    To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.

  6. Under Password, type a case-sensitive password for this account.

    If your organization has set up a password policy, be sure the password meets the requirements.

  7. Under Developer Privileges, select the appropriate privileges:

    • User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.

      Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.

    • User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.

      In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.

  8. Under Account Control, specify the following:

    • Account Availability - Select Unlocked to enable a user to log in to this account.

    • Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.

  9. Click Create User or Create and Create Another.

4.4.9.3 Logging in to Your Oracle Application Express 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 a workspace:

  1. In a Web browser, navigate to the Oracle Application Express Login page.

    If your setup uses the embedded PL/SQL gateway, go to:

    http://hostname:port/apex
    

    Where:

    • hostname is the name of the system where Oracle XML DB HTTP server is installed.

    • port is the port number assigned to Oracle XML DB HTTP 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 - Enteryour 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.

4.5 Installing from the Database and Configure Oracle HTTP Server

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

Topics in this section include:

Note that these instructions do not apply if you are running Oracle HTTP Server release 9.0.3. To learn more, see "Configuring Oracle HTTP Server Distributed with Oracle9i Release 2".


Note:

Within the context of this section, the Oracle home directory (ORACLE_HTTPSERVER_HOME) is the location where Oracle HTTP Server is installed.

4.5.1 Install the Oracle Database and Complete Pre-installation Tasks

Oracle Application Express automatically installs with Oracle Database 11g or later. To learn more about install the Oracle Database, see the Oracle Database Installation Guide for your operating environment and "Recommended Pre-installation Tasks".

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

Perform the following postinstallation steps if:

  • You are using a version of Oracle Application Express that installs with Oracle Database 11g or later.

  • You re not upgrading from a previous release. This is a new installation of Oracle Application Express.

  • You are running Oracle HTTP Server distributed with Oracle Database 11g or Oracle Application Server 10g.

  • Oracle HTTP Server is installed in an Oracle home.

Topics in this section include:

Note that these instructions do not apply if you are running Oracle HTTP Server release 9.0.3. To learn more, see "Configuring Oracle HTTP Server Distributed with Oracle9i Release 2".


Note:

Within the context of this section, the Oracle home directory (ORACLE_HTTPSERVER_HOME) is the location where Oracle HTTP Server is installed.

4.5.2.1 Change the Password for the ADMIN Account

First, change the password for the Oracle Application Express ADMIN account.


Tip:

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

To change the password for the ADMIN account:

  1. Change your working directory to ORACLE_BASE\ORACLE_HOME\apex or whatever convention used to indicate the Oracle home.

  2. 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
      
  3. Run apxchpwd.sql. For example:

    @apxchpwd.sql
    

    When prompted enter a password for the ADMIN account.

4.5.2.2 Unlock the APEX_PUBLIC_USER Database User

When configuring Oracle HTTP Server for Oracle Application Express in a new installation, the database user APEX_PUBLIC_USER must be an unlocked account. To unlock the account for database user APEX_PUBLIC_USER, execute the following steps:

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

    ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
    

4.5.2.3 Change the Password for the APEX_PUBLIC_USER Database User

In order to specify the password in the DAD file, you have to change the password for the database user APEX_PUBLIC_USER. Please use the following steps to change the password for the APEX_PUBLIC_USER database user:

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

    SQL> PASSWORD APEX_PUBLIC_USER
    Changing password for APEX_PUBLIC_USER
    New password: password
    Retype new password: password
    
4.5.2.3.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 the new profile.


See Also:

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

4.5.2.4 Copy 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 to the location on the file system containing the Oracle home for Oracle HTTP Server.

Topics in this section include:

4.5.2.4.1 Copying the Images Directory After an Upgrade

During an upgrade, you must 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 HTTP Server distributed Oracle9i Release 2—see the httpd.conf file.

  • Oracle Application Server 10g—see the marvel.conf or dads.conf files.

  • Oracle HTTP Server distributed with Oracle Database 11g—see the marvel.conf or dads.conf files.

When you locate the images directory path, copy the existing images directory to a backup location. Doing so enables you to revert to the previous release, if that becomes necessary.

After you copy the existing images directory, 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 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 Oracle Database Oracle home

  • ORACLE_HTTPSERVER_HOME is the existing Oracle Application Server or Oracle HTTP Server Oracle home

4.5.2.4.2 Copying the Images Directory in a New Installation

After installation, copy the directory apex/images.

You can copy the images directory using Windows Explorer, or running a command from a command prompt similar to the following:

DRIVE_LETTER:\> xcopy /E /I ORACLE_HOME\apex\images ORACLE_HTTPSERVER_HOME\ohs\images

In the preceding syntax example:

  • ORACLE_HOME is the Oracle Database 11g Oracle home

  • ORACLE_HTTPSERVER_HOME is the existing Oracle Application Server or Oracle HTTP Server Oracle home

4.5.2.5 Configure Oracle HTTP Server 11g or Oracle Application Server 10g

Perform the following postinstallation steps if:

  • You are running Oracle HTTP Server distributed with Oracle Database 11g or Oracle Application Server 10g.

  • Oracle HTTP Server is installed in an Oracle home.

Note that these instructions do not apply if you are running Oracle HTTP Server release 9.0.3. To learn more, see "Configuring Oracle HTTP Server Distributed with Oracle9i Release 2".


Note:

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

Topics in this section include:

4.5.2.5.1 Editing the dads.conf File

If this is a new installation of Oracle Application Express, you must edit the dads.conf file. The dads.conf file contains the information about the DAD to access Oracle Application Express.

To edit the dads.conf file:

  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 "Change the Password for the APEX_PUBLIC_USER Database User".

    Note that the path listed is only an example. The path in the dads.conf file should reference the file system path described in "Copy the Images Directory".

    Alias /i/ "ORACLE_HTTPSERVER_HOME/Apache/images/"
    AddType text/xml       xbl
    AddType text/x-component       htc
    
    <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.

4.5.2.5.2 Stopping and Restarting Oracle HTTP Server

To stop and restart the Oracle HTTP Server, enter commands using the following syntax, where ORACLE_BASE is the path to the Oracle base directory:

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

4.5.3 Enable Network Services in Oracle Database 11g

By default, the ability to interact with network services is disabled in Oracle Database 11g release 1 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11g release 1 (11.1), you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_030200 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.

  • Searching for content in online Help (that is, using the Find link).

Topics in this section include:


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.

4.5.3.1 Granting Connect Privileges

The following example demonstrates how to grant connect privileges to any host for the APEX_030200 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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;

  -- Before checking the privilege, ensure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_030200'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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 power users to connect to everywhere',
    'APEX_030200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

4.5.3.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_030200 user. See "Granting Connect Privileges".

4.5.4 Enable Indexing of Online Help in Oracle Database 11g Release 2 and Higher

The ability to search Oracle Application Express online Help is accomplished through Oracle Text and a URL data store. There is a change in the default behavior and permissions to use an Oracle Text URL data store in Oracle Database 11g Release 2 and higher.

If users attempt to search Oracle Application Express online Help in Oracle Database 11g Release 2 and encounter the following error, then the permission to use an Oracle Text URL data store has not been granted to database user APEX_030200.

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine 
ORA-20000: Oracle Text error: 
DRG-10758: index owner does not have the privilege to use file or URL data store

To enable the indexing of online Help in Oracle Application Express, the permission to use an Oracle Text URL data store must be granted to the APEX_030200 database user. This is accomplished by assigning this specific privilege to a datbase role and then granting this role to the APEX_030200 database user.

To determine if the ability to use an Oracle Text URL data store is already granted to a database role:

  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:

    SELECT par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE';
    

    This returns either NULL or the database role which is granted the ability to use an Oracle Text URL data store.

  3. If no value is returned by step 2, then create a new database role as shown in the following example:

    CREATE ROLE APEX_URL_DATASTORE_ROLE;
    
  4. Grant this role to the database user APEX_030200 with the following statement:

    GRANT APEX_URL_DATASTORE_ROLE to APEX_030200;
    

    If step 2 returned a value, use this database role name instead of the example APEX_URL_DATASTORE_ROLE.

  5. Lastly, if step 2 did not return a value, then use the Oracle Text API to grant permission to the newly created database role with the following statement:

    EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE');
    

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

4.5.6 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. At runtime, each user's Web browser language settings determine the specific language version.

The translated version of Oracle Application Express should be loaded into a database that has a character set that supports the specific language. If you attempt to install a translated version of Oracle Application Express into a database that does not support the character encoding of the language, the installation may fail or the translated Oracle Application Express instance may appear corrupt when run. The database character set AL32UTF8 supports all the translated versions of Oracle Application Express.

You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in AL32UTF8.


Note:

Regardless of the target database character set, to install a translated version of Oracle Application Express, you must set the character set value of 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 

4.5.6.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. 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_030200;
    
  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).

4.5.7 About Managing JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSES determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.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 in this section include:

4.5.7.1 Viewing the Number of JOB_QUEUE_PROCESSES

There are currently three ways to view the number of JOB_QUEUE_PROCESSES:

  • In the installation log file

  • On the About Application Express page in Oracle Application Express

  • From SQL*Plus

4.5.7.1.1 Viewing JOB_QUEUE_PROCESSES in the Installation Log File

After installing or upgrading Oracle Application Express to release 3.2, you can view the number of JOB_QUEUE_PROCESSES in the installation log files. See "Reviewing a Log of an Installation Session".

4.5.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 Oracle Application Express Workspace".

  2. On the Administration list, click About Application Express.

    The current number JOB_QUEUE_PROCESSES displays at the bottom of the page.

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

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

4.5.8 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_BASE/ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf
    
  • For Windows based systems:

    ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf
    

4.5.8.1 Obfuscating Passwords

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

4.5.9 Create a Workspace and Add Oracle Application Express Users

You access the Oracle Application Express home page by logging in to workspace using a Web browser. Your Web browser must support JavaScript and the HTML 4.0 and CSS 1.0 standards. See "Browser Requirement".

A workspace is a virtual private database allowing multiple users to work within the same Oracle Application Express installation while keeping their objects, data and applications private. Each workspace has a unique ID and name.

An Oracle Application Express administrator can create a workspace manually within Oracle Application Express Administration Services or have users submit requests. Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. See "Creating Workspaces" and "Managing Workspace Requests" in Oracle Application Express Administration Guide.


See Also:

Oracle Database 2 Day + Oracle Application Express Developer's Guide if you are new to Oracle Application Express

This section includes these topics:

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

    If your setup uses Apache and mod_plsql, go to:

    http://hostname:port/pls/apex/apex_admin
    

    Where:

    hostname is the name of the system where Oracle HTTP Server is installed.

    port is the port number assigned to Oracle HTTP Server. In a default installation, this number is 7777.

    pls is the indicator to use the mod_plsql cartridge.

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


    See Also:

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

    Next, create a workspace.

  2. Click Manage Workspaces.

  3. Under Manage Workspaces, click Create Workspace.

    The Create Workspace Wizard appears.

  4. For Identify Workspace, enter a workspace name and description and click Next.

  5. For Identify Schema, select the Oracle Forms application schema.

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

    2. Select a schema from the list.

    3. Click Next.

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

  7. Confirm your selections and click Create.

4.5.9.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 Manage Workspaces.

  3. Under Manage Workspaces, click Manage Developers and Users.

    The Manage Developers and Users page appears.

  4. Click Create.

    The Create/Edit User page appears.

  5. Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.


    Tip:

    To learn more about a specific attribute, click the item label. When Help is available, the item label changes to red when you pass your cursor over it and the cursor changes to an arrow and question mark.

  6. Under Password, type a case-sensitive password for this account.

    If your organization has set up a password policy, be sure the password meets the requirements.

  7. Under Developer Privileges, select the appropriate privileges:

    • User is a developer - To add this user as a developer or Workspace administrator, select Yes. For end users, select No.

      Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.

    • User is a workspace administrator - To add this user as a Workspace administrator, select Yes. For developers or end users, select No.

      In addition to having developer privileges, workspace administrators can create and edit user accounts, manage groups, alter passwords of users within the same workspace, and manage development services.

  8. Under Account Control, specify the following:

    • Account Availability - Select Unlocked to enable a user to log in to this account.

    • Require Change of Password on First Use - Select Yes to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select No.

  9. Click Create User or Create and Create Another.

4.5.9.3 Logging in to Your Oracle Application Express 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 a workspace:

  1. In a Web browser, navigate to the Oracle Application Express Login page. By default, Oracle Application Express installs to the following location:

    If your setup uses Oracle HTTP Server (Apache) and mod_plsql, go to:

    http://hostname:port/pls/apex
    

    Where:

    • hostname is the name of the system where Oracle HTTP Server is installed.

    • port is the port number assigned to Oracle HTTP Server. In a default installation, this number is 7777. You can find information about your Oracle HTTP Server installation's port number from either of the following files:

      ORACLE_BASE\ORACLE_HOME\install\portlist.ini
      ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
      

      Be aware that if you change a port number, it is not updated in the portlist.ini file. You can only rely on this file immediately after installation.

    • pls is the indicator to use the mod_plsql cartridge.

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

      For users who have upgraded from earlier releases, or who have a custom configuration, this value may be htmldb or something else. Verify your DAD with your Oracle Application Express administrator.

    The Login page appears.

  2. Under Login, enter the following:

    • Workspace field - Enter the name of your workspace.

    • Username field - Enteryour 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.

4.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 in this section include:

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

4.6.1.1 Verify if Prior Installation Exist

To verify if prior installations exist:

  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.

4.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 connected similar to the following example:

    DROP USER FLOWS_030000 CASCADE;
    

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

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

4.7 About the Oracle Application Express Runtime Environment

The Oracle Application Express runtime environment enables you to run production applications. It includes only the packages necessary to run your applications, making it a more hardened environment. It does not provide a Web interface for administration.

You administer the Oracle Application Express runtime environment using SQL*Plus or SQL Developer and the APEX_INSTANCE_ADMIN API. To learn more see, "Managing a Runtime Environment" and in Oracle Application Express Application Builder User's Guide.

Topics in this section include:

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

See Also:

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

4.7.2 Convert a Full Development Environment to a Runtime Environment

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

PKOJY>*PKI$AOEBPS/trouble.htmbJ Oracle Application Express Troubleshooting

A Oracle Application Express Troubleshooting

This appendix contains information on troubleshooting.

This chapter contains these topics:

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_030200 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 at the end of the installation:

Thank you for installing Oracle Application Express.
Oracle Application Express is installed in the APEX_030200 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 in this section include:

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 in this section include:

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

To verify whether you have a previous version 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. 2.Execute the following command in SQL*Plus:

    SELECT username FROM dba_users WHERE username LIKE 'FLOWS_%';
    

    If the query above returns any rows, the database contains a previous version 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" or "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_030200','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_030200','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_030200','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_030200','FLOWS_020200');
      
    5. To revert to Oracle Application Express release 3.0, execute the following:

      ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030000;
      exec flows_030000.wwv_flow_upgrade.switch_schemas
      ('APEX_030200','FLOWS_030000');
      
    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
        

        If you are running Oracle Database Express Edition (Oracle Database XE) or release 10.2.0.3 or higher, execute the following:

        @wwv_dbms_sql.plb
        

        If you are not running Oracle Database XE or release 10.2.0.3 or higher, execute the following:

        @wwv_dbms_sql_noroles.plb
        
      • Execute the following:

        ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030100;
        exec flows_030100.wwv_flow_upgrade.switch_schemas
        ('APEX_030200','FLOWS_030100');
        
      • 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:

        @apexvalidate x x FLOWS_030100
        
  4. See the next section, "Removing the Oracle Application Express Release 3.2 Schema".

A.3.1.3 Removing the Oracle Application Express Release 3.2 Schema

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

To remove the release 3.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_030200 CASCADE;
    

    Once you have removed the Oracle Application Express 3.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 version 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
    

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 Online Help Not Working

This section describes issues with Oracle Application Express online Help.

Topics in this section include:


See Also:

"Enable Network Services in Oracle Database 11g" for your installation scenario.

A.5.1 Online Help Not Working When Using a Virtual Host

If users are accessing Oracle Application Express through a Virtual Host, online Help will not work. Consider the following example:

  • The hostname of the Oracle HTTP Server where the Oracle Application Express database access descriptor (DAD) resides is internal.server.com and the port is 7777.

  • Users access Oracle Application Express through a Virtual Host. In their Web browsers, users see external.server.com and port 80.

In this example, Oracle Application Express online Help will not work if the users cannot access internal.server.com. To resolve this issue, add the following lines to the Oracle Application Express database access descriptor (DAD) to override the CGI environment variables SERVER_NAME and SERVER_PORT:

PlsqlCGIEnvironmentList SERVER_NAME=external.server.com
PlsqlCGIEnvironmentList SERVER_PORT=80

See Also:

Oracle HTTP Server mod_plsql User's Guide for information on overriding the CGI environment variables and "Oracle Text Requirement"

A.5.2 Problems Searching Online Help

The underlying index that enables search capability in Oracle Application Express online Help is created upon first use. Note that this index must be created over a non-SSL link. If your connection is an SSL link, https displays in the URL. To index online help, access Oracle Application Express over a non-SSL link. Once the online Help index is created, you can revert to normal https access.


See Also:

"Enable Indexing of Online Help in Oracle Database 11g Release 2 and Higher" for your installation scenario

PK"gJbJPK I$Aoa,mimetypePKI$AreOJ:iTunesMetadata.plistPKI$AYuMETA-INF/container.xmlPKI$A(OEBPS/http_9_0_3.htmPKI$A[pTOOEBPS/cover.htmPKI$AU,ܡaa{OEBPS/overview.htmPKI$A}֟{v\7OEBPS/title.htmPKI$AgnnKOEBPS/accessibility.htmPKI$AII55*OEBPS/pre_require.htmPKI$A0h55BOEBPS/preface.htmPKI$AqYND#&OEBPS/index.htmPKI$Af//OEBPS/img/arch.gifPKI$A{KOEBPS/img/arch_epg.gifPKI$A1 |-w-hOEBPS/img/htmig001.gifPKI$A;7ڸ{((OEBPS/img_text/htmig001.htmPKI$A?ŶMH,OEBPS/img_text/arch_epg.htmPKI$AahN,'1OEBPS/img_text/arch.htmPKI$A"M S:5OEBPS/otn_install.htmPKI$AlJM H ROEBPS/toc.ncxPKI$A `:5^OEBPS/content.opfPKI$A_ xOEBPS/dcommon/prodbig.gifPKI$AY@ ~OEBPS/dcommon/doclib.gifPKI$A6=-6f1f9OEBPS/dcommon/oracle-logo.jpgPKI$AOEBPS/dcommon/contbig.gifPKI$AOEBPS/dcommon/darbbook.cssPKI$AMά""!OEBPS/dcommon/O_signature_clr.JPGPKI$APz OEBPS/dcommon/feedbck2.gifPKI$A-uOEBPS/dcommon/feedback.gifPKI$Aː5OEBPS/dcommon/booklist.gifPKI$AN61OEBPS/dcommon/cpyr.htmPKI$A!:3.g,OEBPS/dcommon/masterix.gifPKI$AeӺ1,-OEBPS/dcommon/doccd.cssPKI$A7 X0OEBPS/dcommon/larrow.gifPKI$A#2OEBPS/dcommon/indxicon.gifPKI$AS'"4OEBPS/dcommon/leftnav.gifPKI$Ahu,X6OEBPS/dcommon/uarrow.gifPKI$Al-OJs9OEBPS/dcommon/oracle.gifPKI$A(BOEBPS/dcommon/index.gifPKI$AGC NCOEBPS/dcommon/bookbig.gifPKI$AJV^nMOEBPS/dcommon/rarrow.gifPKI$A枰pkOOEBPS/dcommon/mix.gifPKI$Ao"nR M *KOEBPS/db_install.htmPKI$A"gJbJ OEBPS/trouble.htmPK88Ca