Edit D:\rfid\database\database\doc\install.112\e13366\otn_install.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> <meta http-equiv="Content-Language" content="en" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta name="robots" content="all" scheme="http://www.robotstxt.org/" /> <meta name="generator" content="Oracle DARB XHTML Converter (Mode = document) - Version 5.1.1 Build 007" /> <meta name="Date" content="2009-08-24T16:1:57Z" /> <meta name="doctitle" content="Oracle® Application Express Installation Guide Release 3.2" /> <meta name="partno" content="E13366-03" /> <meta name="docid" content="HTMIG" /> <link rel="Start" href="../../index.htm" title="Home" type="text/html" /> <link rel="Copyright" href="../../dcommon/html/cpyr.htm" title="Copyright" type="text/html" /> <link rel="Stylesheet" href="../../dcommon/css/blafdoc.css" title="Default" type="text/css" /> <script type="text/javascript" src="../../dcommon/js/doccd.js"> </script> <link rel="Contents" href="toc.htm" title="Contents" type="text/html" /> <link rel="Index" href="index.htm" title="Index" type="text/html" /> <link rel="Prev" href="pre_require.htm" title="Previous" type="text/html" /> <link rel="Next" href="db_install.htm" title="Next" type="text/html" /> <link rel="alternate" href="../e13366.pdf" title="PDF version" type="application/pdf" /> <title>Downloading from Oracle Technology Network</title> </head> <body> <div class="header"> <div class="zz-skip-header"><a name="top" id="top" href="#BEGIN">Skip Headers</a></div> <table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%"> <tr> <td align="left" valign="top"><b>Oracle® Application Express Installation Guide<br /> Release 3.2</b><br /> Part Number E13366-03</td> <td valign="bottom" align="right"> <table class="icons oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="245"> <tr> <td align="center" valign="top"><a href="../../index.htm"><img width="24" height="24" src="../../dcommon/gifs/doclib.gif" alt="Go to Documentation Home" /><br /> <span class="icon">Home</span></a></td> <td align="center" valign="top"><a href="../../nav/portal_booklist.htm"><img width="24" height="24" src="../../dcommon/gifs/booklist.gif" alt="Go to Book List" /><br /> <span class="icon">Book List</span></a></td> <td align="center" valign="top"><a href="toc.htm"><img width="24" height="24" src="../../dcommon/gifs/toc.gif" alt="Go to Table of Contents" /><br /> <span class="icon">Contents</span></a></td> <td align="center" valign="top"><a href="index.htm"><img width="24" height="24" src="../../dcommon/gifs/index.gif" alt="Go to Index" /><br /> <span class="icon">Index</span></a></td> <td align="center" valign="top"><a href="../../dcommon/html/feedback.htm"><img width="24" height="24" src="../../dcommon/gifs/feedbck2.gif" alt="Go to Feedback page" /><br /> <span class="icon">Contact Us</span></a></td> </tr> </table> </td> </tr> </table> <hr /> <table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%"> <tr> <td align="left" valign="top"> <table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="98"> <tr> <td align="center" valign="top"><a href="pre_require.htm"><img width="24" height="24" src="../../dcommon/gifs/leftnav.gif" alt="Go to previous page" /><br /> <span class="icon">Previous</span></a></td> <td align="center" valign="top"><a href="db_install.htm"><img width="24" height="24" src="../../dcommon/gifs/rightnav.gif" alt="Go to next page" /><br /> <span class="icon">Next</span></a></td> </tr> </table> </td> <td align="right" valign="top" style="font-size: 90%"><a href="../e13366.pdf">View PDF</a></td> </tr> </table> <a name="BEGIN" id="BEGIN"></a></div> <div class="IND"><!-- End Header --><a id="CBHBDAIF" name="CBHBDAIF"></a> <h1 class="chapter"><span class="secnum">3</span> <a name="HTMIG386" id="HTMIG386"></a> Downloading from Oracle Technology Network<a id="sthref71" name="sthref71"></a></h1> <p>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.</p> <p>The instructions in this chapter apply to both new and upgrade installations. To learn more, see <a href="overview.htm#CEGEFBFI">"Upgrading from a Previous Version of Oracle Application Express"</a>.</p> <p>This chapter contains these topics:</p> <ul> <li> <p><a href="#BEHIFAJD">Recommended Pre-installation Tasks</a></p> </li> <li> <p><a href="#CBHDGFBC">Choosing an HTTP Server</a></p> </li> <li> <p><a href="#CBHBCBBJ">Downloading from OTN and Configuring the Embedded PL/SQL Gateway</a></p> </li> <li> <p><a href="#BEHIJFIH">Downloading from OTN and Configuring Oracle HTTP Server</a></p> </li> <li> <p><a href="#CBHEBDHD">Post Installation Tasks for Upgrade Installations</a></p> </li> <li> <p><a href="#CEGCBBCJ">About the Oracle Application Express Runtime Environment</a></p> </li> </ul> <div class="infoboxnote"> <p class="notep1">Note:</p> Within the context of this document, the Apache Oracle home directory (<code><a id="sthref72" name="sthref72"></a>ORACLE_HTTPSERVER_HOME</code>) is the location where Oracle HTTP Server is installed.</div> <a id="BEHIFAJD" name="BEHIFAJD"></a> <div class="sect1"><!-- infolevel="all" infotype="General" --> <h2 class="sect1"><span class="secnum">3.1</span> <a name="HTMIG387" id="HTMIG387"></a>Recommended Pre-installation <a id="sthref73" name="sthref73"></a>Tasks</h2> <p>Before installing Oracle Application Express, Oracle recommends that you complete the following steps:</p> <ol> <li> <p>Review and satisfy all Oracle Application Express installation requirements. See <a href="pre_require.htm#BHBDBDAC">"Oracle Application Express Installation Requirements"</a>.</p> </li> <li> <p>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 <a id="sthref74" name="sthref74"></a>Real Application Clusters (Oracle RAC) systems, shut down all instances on each node.</p> <p>If <a id="sthref75" name="sthref75"></a>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.</p> <p>You can use the Windows <span class="bold">Services</span> utility, located either in the Windows Control Panel or from the <span class="bold">Administrative Tools</span> menu (under <span class="bold">Start</span> and then <span class="bold">Programs</span>), to shut down Oracle Database and ASM instances. Names of Oracle databases are preceded with <code>OracleService</code>. The Oracle ASM service is named <code>OracleASMService+ASM</code>. In addition, shut down the <code>OracleCSService</code> service, which ASM uses. Right-click the name of the service and from the menu, choose <span class="bold">Stop</span>.</p> </li> <li> <p>Back up the Oracle Database installation.</p> <p>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.</p> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink BRADV" href="http://www.oracle.com/pls/db112/lookup?id=BRADV"><span class="italic">Oracle Database Backup and Recovery User's Guide</span></a></div> </li> <li> <p>Start the Oracle Database instance that contains the target database.</p> <p>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.</p> <div class="infoboxnote"> <p class="notep1">Note:</p> If you are connecting to a remote database, then start the listener.<a id="sthref76" name="sthref76"></a></div> </li> </ol> </div> <!-- class="sect1" --> <a id="CBHDGFBC" name="CBHDGFBC"></a> <div class="sect1"><!-- infolevel="all" infotype="General" --> <h2 class="sect1"><span class="secnum">3.2</span> <a name="HTMIG388" id="HTMIG388"></a>Choosing an <a id="sthref77" name="sthref77"></a>HTTP Server</h2> <p>In order to run, Oracle Application Express must have access to either the embedded PL/SQL gateway or Oracle HTTP Server and <code>mod_plsql</code>. To learn more, see <a href="overview.htm#CJAFEAJJ">"About Choosing an HTTP Server"</a>.</p> </div> <!-- class="sect1" --> <a id="CBHBCBBJ" name="CBHBCBBJ"></a> <div class="sect1"><!-- infolevel="all" infotype="General" --> <h2 class="sect1"><span class="secnum">3.3</span> <a name="HTMIG389" id="HTMIG389"></a>Downloading from OTN and <a id="sthref78" name="sthref78"></a>Configuring the Embedded PL/SQL Gateway</h2> <p>This section describes how to install Oracle Application Express by downloading a ZIP file from OTN and then configuring the embedded PL/SQL gateway.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#BABFICIA">Install the Oracle Database and Complete Pre-installation Tasks</a></p> </li> <li> <p><a href="#BEHGEFDI">Download and Install Oracle Application Express</a></p> </li> <li> <p><a href="#BEHBJHIF">Change the Password for the ADMIN Account</a></p> </li> <li> <p><a href="#BEHCJDJA">Restart Processes</a></p> </li> <li> <p><a href="#CHDEIGGI">Configure the Embedded PL/SQL Gateway</a></p> </li> <li> <p><a href="#BEHGBHDF">Enable Network Services in Oracle Database 11<span class="italic">g</span></a></p> </li> <li> <p><a href="#CBHBCIGG">Enable Indexing of Online Help in Oracle Database 11gR2 and Higher</a></p> </li> <li> <p><a href="#BEHFEGCC">Security Considerations</a></p> </li> <li> <p><a href="#BEHEEDCF">About Running Oracle Application Express in Other Languages</a></p> </li> <li> <p><a href="#BEHBJGAC">About Managing JOB_QUEUE_PROCESSES</a></p> </li> <li> <p><a href="#CHDEGJBF">Configuring the SHARED_SERVERS Parameter</a></p> </li> <li> <p><a href="#CHDGHCIH">Create a Workspace and Add Oracle Application Express Users</a></p> </li> </ul> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a href="overview.htm#CJAFIGFG">"About the Oracle Application Express Runtime Environment"</a></div> <a id="BABFICIA" name="BABFICIA"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.1</span> <a name="HTMIG390" id="HTMIG390"></a>Install the Oracle Database and <a id="sthref79" name="sthref79"></a>Complete Pre-installation Tasks</h3> <p>Oracle Application Express requires an Oracle database that is release 9.2.0.3 or later. To learn more, see the <a class="olink GINST" href="http://www.oracle.com/pls/db112/lookup?id=GINST"><span class="italic">Oracle Database Installation Guide</span></a> for your operating environment and <a href="#BEHIFAJD">"Recommended Pre-installation Tasks"</a>.</p> </div> <!-- class="sect2" --> <a id="BEHGEFDI" name="BEHGEFDI"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.2</span> <a name="HTMIG391" id="HTMIG391"></a>Download and Install <a id="sthref80" name="sthref80"></a>Oracle Application Express</h3> <p>To install Oracle Application Express:</p> <ol> <li> <p>Download the file <code>apex_3.2.zip</code> from the Oracle Application Express download page. See:</p> <pre xml:space="preserve" class="oac_no_warn"><a href="http://www.oracle.com/technology/products/database/application_express/download.html">http://www.oracle.com/technology/products/database/application_express/download.html</a> </pre> <p>Note that the actual file name may differ if a more recent release has shipped since this document was published.</p> </li> <li> <p>Unzip <code>apex_3.2.zip</code> as follows, preserving directory names:</p> <ul> <li> <p>UNIX and Linux: Unzip <code>apex_3.2.zip</code></p> </li> <li> <p>Windows: Double click the file <code>apex_3.2.zip</code> in Windows Explorer</p> </li> </ul> </li> <li> <p>Change your working directory to <code>apex</code>.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Disable any existing password complexity rules for the default profile. See "Configuring Password Protection" in <span class="italic"><a class="olink DBSEG0032" href="http://www.oracle.com/pls/db112/lookup?id=DBSEG0032">Oracle Database Security Guide</a></span>.</p> </li> <li> <p>Select the appropriate <a id="sthref81" name="sthref81"></a><a id="sthref82" name="sthref82"></a>installation option.</p> <p><span class="bold">Full development environment</span> provides complete access to the Application Builder environment to develop applications. A <span class="bold">Runtime environment</span> enables users to run applications that cannot be modified. To learn more, see <a href="#CEGCBBCJ">"About the Oracle Application Express Runtime Environment"</a>.</p> <p>Available installation options include:</p> <ul> <li> <p><span class="bold">Full development environment</span>. Run <a id="sthref83" name="sthref83"></a><a id="sthref84" name="sthref84"></a><a id="sthref85" name="sthref85"></a><code>apexins.sql</code> passing the following four arguments in the order shown:</p> <pre xml:space="preserve" class="oac_no_warn">@apexins <span class="italic">tablespace_apex</span> <span class="italic">tablespace_files</span> <span class="italic">tablespace_temp</span> <span class="italic">images</span> </pre> <p>Where:</p> <ul> <li> <p><code><span class="codeinlineitalic">tablespace_apex</span></code> is the name of the tablespace for the Oracle Application Express application user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_files</span></code> is the name of the tablespace for the Oracle Application Express files user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_temp</span></code> is the name of the temporary tablespace.</p> </li> <li> <p><code><span class="codeinlineitalic">images</span></code> is the virtual directory for Oracle Application Express images. To support future Oracle Application Express upgrades, define the virtual image directory as <code>/i/</code>.</p> </li> </ul> <p>Example:</p> <pre xml:space="preserve" class="oac_no_warn">@apexins SYSAUX SYSAUX TEMP /i/ </pre></li> <li> <p><span class="bold">Runtime environment</span>. Run <a id="sthref86" name="sthref86"></a><a id="sthref87" name="sthref87"></a><a id="sthref88" name="sthref88"></a><code>apxrtins.sql</code> passing the following arguments in the order shown:</p> <pre xml:space="preserve" class="oac_no_warn">@apxrtins <span class="italic">tablespace_apex</span> <span class="italic">tablespace_files</span> <span class="italic">tablespace_temp</span> <span class="italic">images</span> </pre> <p>Where:</p> <ul> <li> <p><code><span class="codeinlineitalic">tablespace_apex</span></code> is the name of the tablespace for the Oracle Application Express application user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_files</span></code> is the name of the tablespace for the Oracle Application Express files user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_temp</span></code> is the name of the temporary tablespace.</p> </li> <li> <p><code><span class="codeinlineitalic">images</span></code> is the virtual directory for Oracle Application Express images. To support future Oracle Application Express upgrades, define the virtual image directory as <code>/i/</code>.</p> </li> </ul> <p>Example:</p> <pre xml:space="preserve" class="oac_no_warn">@apxrtins SYSAUX SYSAUX TEMP /i/ </pre></li> </ul> </li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink LNPLS" href="http://www.oracle.com/pls/db112/lookup?id=LNPLS"><span class="italic">Oracle Database PL/SQL Language Reference</span></a> for more information about SQL*Plus</div> <p>When Oracle Application Express installs it creates three new database accounts:</p> <ul> <li> <p><code>APEX_030200</code> - The account that owns the Oracle Application Express schema and metadata.</p> </li> <li> <p><code>FLOWS_FILES</code> - The account that owns the Oracle Application Express uploaded files.</p> </li> <li> <p><code>APEX_PUBLIC_USER</code> - The minimally privileged account used for Oracle Application Express configuration with Oracle HTTP Server and <code>mod_plsql</code>.</p> </li> </ul> <p>If you are upgrading from a previous release, <code>FLOWS_FILES</code>, already exists and <code>APEX_PUBLIC_USER</code> is created if it does not already exist.</p> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> Oracle Application Express must be installed from a writable directory on the file system. See <a href="trouble.htm#BABIHBIF">"Reviewing a Log of an Installation Session"</a>.</div> </div> <!-- class="sect2" --> <a id="BEHBJHIF" name="BEHBJHIF"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.3</span> <a name="HTMIG392" id="HTMIG392"></a>Change the Password <a id="sthref89" name="sthref89"></a><a id="sthref90" name="sthref90"></a><a id="sthref91" name="sthref91"></a>for the ADMIN Account</h3> <p>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 <code>ADMIN</code> account. In an upgrade scenario, the password will be preserved and carried over from the prior release.</p> <p>To change the password for the <code>ADMIN</code> account:</p> <ol> <li> <p>Change your working directory to the <code>apex</code> directory where you unzipped the installation software.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run <a id="sthref92" name="sthref92"></a><a id="sthref93" name="sthref93"></a><code>apxchpwd.sql</code>. For example:</p> <pre xml:space="preserve" class="oac_no_warn">@apxchpwd </pre> <p>When prompted enter a password for the <code>ADMIN</code> account.</p> </li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink LNPLS" href="http://www.oracle.com/pls/db112/lookup?id=LNPLS"><span class="italic">Oracle Database PL/SQL Language Reference</span></a> for more information about SQL*Plus</div> </div> <!-- class="sect2" --> <a id="BEHCJDJA" name="BEHCJDJA"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.4</span> <a name="HTMIG393" id="HTMIG393"></a>Restart <a id="sthref94" name="sthref94"></a>Processes</h3> <p>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.</p> </div> <!-- class="sect2" --> <a id="CHDEIGGI" name="CHDEIGGI"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.5</span> <a name="HTMIG394" id="HTMIG394"></a>Configure the Embedded <a id="sthref95" name="sthref95"></a>PL/SQL Gateway</h3> <p>The embedded PL/SQL gateway installs with the Oracle Database 11<span class="italic">g</span>. 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 <code>ANONYMOUS</code> account.</p> <div class="infoboxnotealso"> <p class="notep1">Note:</p> The Oracle XML DB HTTP Server with the embedded PL/SQL gateway is not supported before Oracle Database 11<span class="italic">g</span>.</div> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CHDFJCBE">Running the apex_epg_config.sql Configuration Script</a></p> </li> <li> <p><a href="#BHAJIGDA">Updating the Images Directory When Upgrading from a Previous Release</a></p> </li> <li> <p><a href="#BHAFBECA">Verifying the Oracle XML DB HTTP Server Port</a></p> </li> <li> <p><a href="#CHDDGBCA">Enabling Oracle XML DB HTTP Server</a></p> </li> <li> <p><a href="#CHDFAICA">Disabling Oracle XML DB HTTP Server</a></p> </li> </ul> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a href="overview.htm#CJAFEAJJ">"About Choosing an HTTP Server"</a> and <a href="overview.htm#CHDBEJDA">"About the Embedded PL/SQL Gateway"</a></div> <a id="CHDFJCBE" name="CHDFJCBE"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.5.1</span> <a name="HTMIG395" id="HTMIG395"></a>Running <a id="sthref96" name="sthref96"></a>the apex_epg_config.sql Configuration Script</h4> <p>In a new installation, you configure the embedded PL/SQL gateway by running the configuration script <code>apex_epg_config.sql</code>. Then, you unlock the <code>ANONYMOUS</code> account.</p> <div class="infoboxnotealso"> <p class="notep1">Note:</p> If you are upgrading and have previously configured the embedded PL/SQL gateway, skip this section and go to <a href="#BHAJIGDA">"Updating the Images Directory When Upgrading from a Previous Release"</a>.</div> <p>To run the <code>apex_epg_config.sql</code> configuration script:</p> <ol> <li> <p>Change your working directory to the <code>apex</code> directory where you unzipped the Oracle Application Express software.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run <a id="sthref97" name="sthref97"></a><a id="sthref98" name="sthref98"></a><code>apex_epg_config.sql</code> passing the file system path to the base directory where the Oracle Application Express software was unzipped as shown in the following example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn">@apex_epg_config <span class="italic">SYSTEM_DRIVE:\TEMP</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">@apex_epg_config /<span class="italic">tmp</span> </pre></li> </ul> </li> <li> <p>Enter the following statement to unlock the <code>ANONYMOUS</code> account:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER USER ANONYMOUS ACCOUNT UNLOCK; </pre></li> </ol> </div> <!-- class="sect3" --> <a id="BHAJIGDA" name="BHAJIGDA"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.5.2</span> <a name="HTMIG396" id="HTMIG396"></a>Updating the Images <a id="sthref99" name="sthref99"></a><a id="sthref100" name="sthref100"></a>Directory When Upgrading from a Previous Release</h4> <p>If you are upgrading Oracle Application Express from a previous release, you must run the <code>apxldimg.sql</code> script to update the <code>images</code> directory.</p> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> If you are not upgrading from a prior release of Oracle Application Express, this step is unnecessary. The images will be loaded by running <code>apex_epg_config.sql</code> as described in the prior section.</div> <p>To run the <code>apxldimg.sql</code> script:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run <a id="sthref101" name="sthref101"></a><a id="sthref102" name="sthref102"></a><code>apxldimg.sql</code> passing the file system path to the base directory where the Oracle Application Express software was unzipped as shown in the following example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn">@apxldimg.sql <span class="italic">SYSTEM_DRIVE:\TEMP</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">@apxldimg.sql /<span class="italic">tmp</span> </pre></li> </ul> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> The above examples assume that you unzipped Oracle Application Express in a directory called <code>TEMP</code> on Windows and <code>tmp</code> on UNIX or Linux.</div> </li> </ol> </div> <!-- class="sect3" --> <a id="BHAFBECA" name="BHAFBECA"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.5.3</span> <a name="HTMIG397" id="HTMIG397"></a>Verifying the <a id="sthref103" name="sthref103"></a><a id="sthref104" name="sthref104"></a>Oracle XML DB HTTP Server Port</h4> <p>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.</p> <p>To verify the port number where the Oracle XML DB HTTP Server is running:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Enter the following statement to verify the port number:</p> <pre xml:space="preserve" class="oac_no_warn">SELECT DBMS_XDB.GETHTTPPORT FROM DUAL; </pre> <p>If the port number returns <code>0</code>, the Oracle XML DB HTTP Server is disabled.</p> </li> <li> <p>To enable it, follow the instructions in <a href="#CHDDGBCA">"Enabling Oracle XML DB HTTP Server"</a>.</p> </li> </ol> </div> <!-- class="sect3" --> <a id="CHDDGBCA" name="CHDDGBCA"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.5.4</span> <a name="HTMIG398" id="HTMIG398"></a>Enabling Oracle <a id="sthref105" name="sthref105"></a>XML DB HTTP Server</h4> <p>The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database.</p> <p>To enable Oracle XML DB HTTP server:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Enter a statement similar to the following:</p> <pre xml:space="preserve" class="oac_no_warn">EXEC DBMS_XDB.SETHTTPPORT(<span class="italic">port</span>); </pre> <p>For example:</p> <pre xml:space="preserve" class="oac_no_warn">EXEC DBMS_XDB.SETHTTPPORT(8080); </pre></li> </ol> <div class="infoboxnotealso"> <p class="notep1">Note:</p> 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: <ul> <li> <p>"Using Protocols to Access the Repository" in <span class="italic"><a class="olink ADXDB2500" href="http://www.oracle.com/pls/db112/lookup?id=ADXDB2500">Oracle XML DB Developer's Guide</a></span>.</p> </li> <li> <p>"Protocol Address Configuration" and "Port Number Limitations" in <span class="italic"><a class="olink NETRF" href="http://www.oracle.com/pls/db112/lookup?id=NETRF">Oracle Database Net Services Reference</a></span>.</p> </li> </ul> </div> </div> <!-- class="sect3" --> <a id="CHDFAICA" name="CHDFAICA"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.5.5</span> <a name="HTMIG399" id="HTMIG399"></a>Disabling <a id="sthref106" name="sthref106"></a>Oracle XML DB HTTP Server</h4> <p>The embedded PL/SQL gateway runs in the Oracle XML DB HTTP server in the Oracle database.</p> <p>To disable Oracle XML DB HTTP server:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run the following command:</p> <pre xml:space="preserve" class="oac_no_warn">EXEC DBMS_XDB.SETHTTPPORT(0); </pre></li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="BEHGBHDF" name="BEHGBHDF"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.6</span> <a name="HTMIG400" id="HTMIG400"></a>Enable Network Services<a id="sthref107" name="sthref107"></a> in Oracle Database 11<span class="italic">g</span></h3> <p>By default, the ability to interact with network services is disabled in Oracle Database 11<span class="italic">g</span> release 1 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11<span class="italic">g</span> release 1 (11.1), you must use the new <code>DBMS_NETWORK_ACL_ADMIN</code> package to grant connect privileges to any host for the <code>APEX_030200</code> database user. Failing to grant these privileges results in issues with:</p> <ul> <li> <p>Sending outbound mail in Oracle Application Express.</p> <p>Users can call methods from the <code>APEX_MAIL</code> package, but issues arise when sending outbound email.</p> </li> <li> <p>Using Web services in Oracle Application Express.</p> </li> <li> <p>PDF/report printing.</p> </li> <li> <p>Searching for content in online Help (that is, using the Find link).</p> </li> </ul> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CBHIJFJF">Granting Connect Privileges</a></p> </li> <li> <p><a href="#CBHEAFFG">Troubleshooting an Invalid ACL Error</a></p> </li> </ul> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> 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 11<span class="italic">g</span> database will already have the parameter set properly, but a database upgraded to 11<span class="italic">g</span> from a prior version may not. See "Creating and Configuring an Oracle Database" in <span class="italic"><a class="olink ADMIN002" href="http://www.oracle.com/pls/db112/lookup?id=ADMIN002">Oracle Database Administrator's Guide</a></span> for information about changing database initialization parameters.</div> <a id="CBHIJFJF" name="CBHIJFJF"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.6.1</span> <a name="HTMIG401" id="HTMIG401"></a>Granting <a id="sthref108" name="sthref108"></a>Connect Privileges</h4> <p>The following example demonstrates how to grant connect privileges to any host for the <code>APEX_030200</code> database user.</p> <pre xml:space="preserve" class="oac_no_warn">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; </pre> <p>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.</p> <pre xml:space="preserve" class="oac_no_warn">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; </pre></div> <!-- class="sect3" --> <a id="CBHEAFFG" name="CBHEAFFG"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.6.2</span> <a name="HTMIG402" id="HTMIG402"></a>Troubleshooting <a id="sthref109" name="sthref109"></a>an Invalid ACL Error</h4> <p>If you receive an <code>ORA-44416: Invalid ACL</code> error after running the previous script, use the following query to identify the invalid ACL:</p> <pre xml:space="preserve" class="oac_no_warn">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); </pre> <p>Next, run the following code to fix the ACL:</p> <pre xml:space="preserve" class="oac_no_warn">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; </pre> <p>Once the ACL has been fixed, you must run the first script in this section to apply the ACL to the <code>APEX_030200</code> user. See <a href="#CBHIJFJF">"Granting Connect Privileges"</a>.</p> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="CBHBCIGG" name="CBHBCIGG"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.7</span> Enable Indexing of Online <a id="sthref110" name="sthref110"></a><a id="sthref111" name="sthref111"></a>Help in Oracle Database 11gR2 and Higher</h3> <p>The ability to search Oracle Application Express online Help is accomplished through Oracle Text and a URL datastore. There is a change in the default behavior and permissions to use an Oracle Text URL datastore in database 11gR2 and higher.</p> <p>If users attempt to search Oracle Application Express online Help in Oracle database 11gR2 and encounter the following error, then the permission to use an Oracle Text URL datastore has not been granted to database user <code>APEX_030200</code>.</p> <pre xml:space="preserve" class="oac_no_warn">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 datastore </pre> <p>To enable the indexing of online Help in Oracle Application Express, the permission to use an Oracle Text URL datastore must be granted to the <code>APEX_030200</code> database user. This is accomplished by assigning this specific privilege to a datbase role and then granting this role to the <code>APEX_030200</code> database user.</p> <p>To determine if the ability to use an Oracle Text URL datastore is already granted to a database role:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run the following command:</p> <pre xml:space="preserve" class="oac_no_warn">SELECT par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE'; </pre> <p>This returns either <code>NULL</code> or the database role which is granted the ability to use an Oracle Text URL datastore.</p> </li> <li> <p>If no value is returned by step 2, then create a new database role as shown in the following example:</p> <pre xml:space="preserve" class="oac_no_warn">CREATE ROLE APEX_URL_DATASTORE_ROLE; </pre></li> <li> <p>Grant this role to the database user <code>APEX_030200</code> with the following statement:</p> <pre xml:space="preserve" class="oac_no_warn">GRANT <span class="italic">APEX_URL_DATASTORE_ROLE</span> to APEX_030200; </pre> <p>If step 2 returned a value, use this database role name instead of the example <code><span class="codeinlineitalic">APEX_URL_DATASTORE_ROLE</span></code>.</p> </li> <li> <p>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:</p> <pre xml:space="preserve" class="oac_no_warn">EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE'); </pre></li> </ol> </div> <!-- class="sect2" --> <a id="BEHFEGCC" name="BEHFEGCC"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.8</span> <a name="HTMIG403" id="HTMIG403"></a>Security <a id="sthref112" name="sthref112"></a>Considerations</h3> <p>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.</p> <p>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.</p> </div> <!-- class="sect2" --> <a id="BEHEEDCF" name="BEHEEDCF"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.9</span> <a name="HTMIG404" id="HTMIG404"></a>About Running Oracle Application Express <a id="sthref113" name="sthref113"></a><a id="sthref114" name="sthref114"></a><a id="sthref115" name="sthref115"></a><a id="sthref116" name="sthref116"></a>in Other Languages</h3> <p>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.</p> <p>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 <code>AL32UTF8</code> supports all the translated versions of Oracle Application Express.</p> <p>You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in <code>AL32UTF8</code>.</p> <div class="infoboxnote"> <p class="notep1">Note:</p> 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 <code>NLS_LANG</code> environment variable to <code>AL32UTF8</code> before starting SQL*Plus.</div> <p>The following examples illustrate valid <code>NLS_LANG</code> settings for loading Oracle Application Express translations:</p> <pre xml:space="preserve" class="oac_no_warn">American_America.AL32UTF8 Japanese_Japan.AL32UTF8 </pre> <div class="sect3"><!-- infolevel="all" infotype="General" --><a id="sthref117" name="sthref117"></a> <h4 class="sect3"><span class="secnum">3.3.9.1</span> <a name="HTMIG405" id="HTMIG405"></a>Installing a Translated Version of Oracle Application Express</h4> <p>Whether you are installing for the first time or upgrading from a previous release, you must run the <code>load_</code><code><span class="codeinlineitalic">lang</span></code><code>.sql</code> script to run a translated version of Oracle Application Express.</p> <p>The installation scripts are located in subdirectories identified by a language code in the unzipped distribution <code>apex/builder</code>. For example, the German version is located in <code>apex/builder/de</code> and the Japanese version is located in <code>apex/builder/ja</code>. Within each of directory, there is a language loading script identified by the language code (for example, <code>load_de.sql</code> or <code>load_ja.sql</code>).</p> <p>To install a translated version of Oracle Application Express:</p> <ol> <li> <p>Set the <code>NLS_LANG</code> environment variable, making sure that the character set is <code>AL32UTF8</code>. For example:</p> <ul> <li> <p>Bourne or Korn shell:</p> <pre xml:space="preserve" class="oac_no_warn">NLS_LANG=American_America.AL32UTF8 export NLS_LANG </pre></li> <li> <p>C shell:</p> <pre xml:space="preserve" class="oac_no_warn">setenv NLS_LANG American_America.AL32UTF8 </pre></li> <li> <p>For Windows based systems:</p> <pre xml:space="preserve" class="oac_no_warn">set NLS_LANG=American_America.AL32UTF8 </pre></li> </ul> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Execute the following statement:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER SESSION SET CURRENT_SCHEMA = APEX_030200; </pre></li> <li> <p>Execute the appropriate language specific script. For example:</p> <pre xml:space="preserve" class="oac_no_warn">@load_<span class="italic">lang</span>.sql </pre> <p>Where <code>lang</code> is the specific language (for example, <code>load_de.sql</code> for German or <code>load_ja.sql</code> for Japanese).</p> </li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="BEHBJGAC" name="BEHBJGAC"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.10</span> <a name="HTMIG406" id="HTMIG406"></a>About Managing <a id="sthref118" name="sthref118"></a><a id="sthref119" name="sthref119"></a>JOB_QUEUE_PROCESSES</h3> <p><code>JOB_QUEUE_PROCESSES</code> determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.2, transactional support and SQL scripts require jobs. If <code>JOB_QUEUE_PROCESSES</code> is not enabled and working properly, you cannot successfully execute a script.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CBHFDGBC">Viewing the Number of JOB_QUEUE_PROCESSES</a></p> </li> <li> <p><a href="#CBHDJHEC">Changing the Number of JOB_QUEUE_PROCESSES</a></p> </li> </ul> <a id="CBHFDGBC" name="CBHFDGBC"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.10.1</span> <a name="HTMIG407" id="HTMIG407"></a>Viewing the Number of <a id="sthref120" name="sthref120"></a>JOB_QUEUE_PROCESSES</h4> <p>There are currently three ways to view the number of <code>JOB_QUEUE_PROCESSES</code>:</p> <ul> <li> <p>In the installation log file</p> </li> <li> <p>On the About Application Express page in Oracle Application Express</p> </li> <li> <p>From SQL*Plus</p> </li> </ul> <div class="sect4"><!-- infolevel="all" infotype="General" --><a id="sthref121" name="sthref121"></a> <h5 class="sect4"><span class="secnum">3.3.10.1.1</span> <a name="HTMIG408" id="HTMIG408"></a>Viewing JOB_QUEUE_PROCESSES in the Installation Log File</h5> <p>After installing or upgrading Oracle Application Express to release 3.2, you can view the number of <code>JOB_QUEUE_PROCESSES</code> in the installation log files. See <a href="trouble.htm#BABIHBIF">"Reviewing a Log of an Installation Session"</a>.</p> </div> <!-- class="sect4" --> <div class="sect4"><!-- infolevel="all" infotype="General" --><a id="sthref122" name="sthref122"></a> <h5 class="sect4"><span class="secnum">3.3.10.1.2</span> <a name="HTMIG409" id="HTMIG409"></a>Viewing JOB_QUEUE_PROCESSES in Oracle Application Express</h5> <p>You can also view the number of <code>JOB_QUEUE_PROCESSES</code> on the About Application Express page.</p> <p>To view the About Application Express page:</p> <ol> <li> <p>Log in to Oracle Application Express. See <a href="#CHDIJGIF">"Logging in to Your Workspace"</a>.</p> </li> <li> <p>On the Administration list, click <span class="bold">About Application Express</span>.</p> <p>The current number <code>JOB_QUEUE_PROCESSES</code> displays at the bottom of the page.</p> </li> </ol> </div> <!-- class="sect4" --> <div class="sect4"><!-- infolevel="all" infotype="General" --><a id="sthref123" name="sthref123"></a> <h5 class="sect4"><span class="secnum">3.3.10.1.3</span> <a name="HTMIG410" id="HTMIG410"></a>Viewing JOB_QUEUE_PROCESSES from SQL*Plus</h5> <p>You can also view the number of <code>JOB_QUEUE_PROCESSES</code> from SQL*Plus by running the following SQL statement:</p> <pre xml:space="preserve" class="oac_no_warn">SELECT VALUE FROM v$parameter WHERE NAME = 'job_queue_processes' </pre></div> <!-- class="sect4" --></div> <!-- class="sect3" --> <a id="CBHDJHEC" name="CBHDJHEC"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.3.10.2</span> <a name="HTMIG411" id="HTMIG411"></a>Changing the Number of <a id="sthref124" name="sthref124"></a>JOB_QUEUE_PROCESSES</h4> <p>You can change the number of <code>JOB_QUEUE_PROCESSES</code> by running a SQL statement in SQL*Plus:</p> <p>To update the number of <code>JOB_QUEUE_PROCESSES</code>:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>In SQL*Plus run the following SQL statement:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number> </pre> <p>For example, running the statement <code>ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20</code> sets <code>JOB_QUEUE_PROCESSES</code> to 20.</p> </li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="CHDEGJBF" name="CHDEGJBF"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.3.11</span> Configuring the <a id="sthref125" name="sthref125"></a><a id="sthref126" name="sthref126"></a>SHARED_SERVERS Parameter</h3> <p>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 <code>SHARED_SERVERS</code> database initialization parameter is set to a reasonable value (that is, not <code>0</code> or <code>1</code>). For a small group of concurrent users, Oracle recommends a value of <code>5</code> for <code>SHARED_SERVERS</code>.</p> <p>Consider the following example:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run the following statement:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER SYSTEM SET SHARED_SERVERS = 5 SCOPE=BOTH; </pre></li> </ol> </div> <!-- class="sect2" --> <a id="CHDGHCIH" name="CHDGHCIH"></a> <div class="sect2"> <h3 class="sect2"><span class="secnum">3.3.12</span> <a name="HTMIG412" id="HTMIG412"></a>Create a <a id="sthref127" name="sthref127"></a><a id="sthref128" name="sthref128"></a><a id="sthref129" name="sthref129"></a>Workspace and Add Oracle Application Express Users</h3> <p><a id="sthref130" name="sthref130"></a>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 <a href="pre_require.htm#BABCHJIB">"Browser Requirement"</a>.</p> <p>A <span class="bold">workspace</span> 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.</p> <p>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 "<a class="olink AEADM239" href="http://www.oracle.com/pls/db112/lookup?id=AEADM239">Creating Workspaces</a>" and "<a class="olink AEADM254" href="http://www.oracle.com/pls/db112/lookup?id=AEADM254">Managing Workspace Requests</a>" in <span class="italic">Oracle Application Express Administration Guide</span>.</p> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink TDPAX" href="http://www.oracle.com/pls/db112/lookup?id=TDPAX"><span class="italic">Oracle Database 2 Day + Oracle Application Express Developer's Guide</span></a> if you are new to Oracle Application Express</div> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CHDDAHAG">Creating a Workspace Manually</a></p> </li> <li> <p><a href="#CHDFCJHE">Creating Oracle Application Express Users</a></p> </li> <li> <p><a href="#CHDIJGIF">Logging in to Your Workspace</a></p> </li> </ul> <a id="CHDDAHAG" name="CHDDAHAG"></a> <div class="sect3"> <h4 class="sect3"><span class="secnum">3.3.12.1</span> Creating a <a id="sthref131" name="sthref131"></a><a id="sthref132" name="sthref132"></a>Workspace Manually</h4> <p>To create an Oracle Application Express workspace manually:</p> <ol> <li> <p><span class="bold">Log in to <a id="sthref133" name="sthref133"></a>Oracle Application Express Administration Services.</span> Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. You log in using the <code>ADMIN</code> account and password created or reset during the installation process.</p> <ol> <li> <p>In a Web browser, navigate to the Oracle Application Express Administration Services application.</p> <p>If your setup uses the embedded PL/SQL gateway, go to:</p> <pre xml:space="preserve" class="oac_no_warn">http://<span class="italic">hostname</span>:<span class="italic">port</span>/apex/apex_admin </pre> <p>Where:</p> <p><code>hostname</code> is the name of the system where Oracle XML DB HTTP server is installed.</p> <p><code>port</code> is the port number assigned to Oracle XML DB HTTP server. In a default installation, this number is 8080.</p> <p><code>apex</code> is the database access descriptor (DAD) defined in the configuration file.</p> </li> <li> <p>On the Login page:</p> <ul> <li> <p>In Username, enter <code>admin</code>.</p> </li> <li> <p>In Password, enter the Oracle Application Express administrator account password you specified when you installed Oracle Application Express.</p> </li> <li> <p>Click <span class="bold">Login</span>.</p> </li> </ul> </li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> See "Logging in to Oracle Application Express Administration Services" in <a class="olink AEADM168" href="http://www.oracle.com/pls/db112/lookup?id=AEADM168"><span class="italic">Oracle Application Express Administration Guide</span></a>.</div> <p>Next, create a workspace.</p> </li> <li> <p>Click <span class="bold">Manage Workspaces</span>.</p> </li> <li> <p>Under Manage Workspaces, click <span class="bold">Create Workspace</span>.</p> <p>The Create Workspace Wizard appears.</p> </li> <li> <p>For Identify Workspace, enter a workspace name and description and click <span class="bold">Next</span>.</p> </li> <li> <p>For Identify Schema, select the Oracle Forms application schema.</p> <ol> <li> <p>For Re-use existing schema, select <span class="bold">Yes</span>.</p> </li> <li> <p>Select a schema from the list.</p> </li> <li> <p>Click <span class="bold">Next</span>.</p> </li> </ol> </li> <li> <p>For Identify Administrator, enter the Workspace administrator information and click <span class="bold">Next</span>.</p> </li> <li> <p>Confirm your selections and click <span class="bold">Create</span>.</p> </li> </ol> </div> <!-- class="sect3" --> <a id="CHDFCJHE" name="CHDFCJHE"></a> <div class="sect3"> <h4 class="sect3"><span class="secnum">3.3.12.2</span> Creating Oracle Application Express <a id="sthref134" name="sthref134"></a><a id="sthref135" name="sthref135"></a>Users</h4> <p>To create an Oracle Application Express user account:</p> <ol> <li> <p>Log in to Oracle Application Express Administration Services as described in the previous section. See "Logging in to Oracle Application Express Administration Services" in <a class="olink AEADM168" href="http://www.oracle.com/pls/db112/lookup?id=AEADM168"><span class="italic">Oracle Application Express Administration Guide</span></a>.</p> </li> <li> <p>Click <span class="bold">Manage Workspaces</span>.</p> </li> <li> <p>Under Manage Workspaces, click <span class="bold">Manage Developers and Users</span>.</p> <p>The Manage Developers and Users page appears.</p> </li> <li> <p>Click <span class="bold">Create</span>.</p> <p>The Create/Edit User page appears.</p> </li> <li> <p>Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.</p> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> 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.</div> </li> <li> <p>Under Password, type a case-sensitive password for this account.</p> <p>If your organization has set up a password policy, be sure the password meets the requirements.</p> </li> <li> <p>Under Developer Privileges, select the appropriate privileges:</p> <ul> <li> <p><span class="bold">User is a developer</span> - To add this user as a developer or Workspace administrator, select <span class="bold">Yes</span>. For end users, select <span class="bold">No</span>.</p> <p>Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.</p> </li> <li> <p><span class="bold">User is a workspace administrator</span> - To add this user as a Workspace administrator, select <span class="bold">Yes</span>. For developers or end users, select <span class="bold">No</span>.</p> <p>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.</p> </li> </ul> </li> <li> <p>Under <a id="sthref136" name="sthref136"></a><a id="sthref137" name="sthref137"></a><a id="sthref138" name="sthref138"></a><a id="sthref139" name="sthref139"></a>Account Control, specify the following:</p> <ul> <li> <p><span class="bold">Account Availability</span> - Select <span class="bold">Unlocked</span> to enable a user to log in to this account.</p> </li> <li> <p><span class="bold">Require Change of Password on First Use</span> - Select <span class="bold">Yes</span> to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select <span class="bold">No</span>.</p> </li> </ul> </li> <li> <p>Click <span class="bold">Create User</span> or <span class="bold">Create and Create Another</span>.</p> </li> </ol> </div> <!-- class="sect3" --> <a id="CHDIJGIF" name="CHDIJGIF"></a> <div class="sect3"> <h4 class="sect3"><span class="secnum">3.3.12.3</span> Logging in to Your<a id="sthref140" name="sthref140"></a><a id="sthref141" name="sthref141"></a> Workspace</h4> <p>Once you create a workspace, you must log in to it using your login credentials (that is, the workspace name, user name, and password).</p> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> See "<a class="olink AEADM239" href="http://www.oracle.com/pls/db112/lookup?id=AEADM239">Creating Workspaces</a>" and "<a class="olink AEADM254" href="http://www.oracle.com/pls/db112/lookup?id=AEADM254">Managing Workspace Requests</a>" in <span class="italic">Oracle Application Express Administration Guide</span></div> <p>To log in to your workspace:</p> <ol> <li> <p>In a Web browser, navigate to the Oracle Application Express Login page.</p> <p>If your setup uses the embedded PL/SQL gateway, go to:</p> <pre xml:space="preserve" class="oac_no_warn">http://<span class="italic">hostname</span>:<span class="italic">port</span>/apex </pre> <p>Where:</p> <ul> <li> <p><code>hostname</code> is the name of the system where Oracle XML DB HTTP server is installed.</p> </li> <li> <p><code>port</code> is the port number assigned to Oracle XML DB HTTP server. In a default installation, this number is 8080.</p> </li> <li> <p><code>apex</code> is the database access descriptor (DAD) defined in the configuration file.</p> <p>For users who have upgraded from earlier releases, or who have a custom configuration, this value may be <code>htmldb</code> or something else. Verify your DAD with your Oracle Application Express administrator.</p> </li> </ul> <p>The Login page appears.</p> </li> <li> <p>Under Login, enter the following:</p> <ul> <li> <p>Workspace field - Enter the name of your workspace.</p> </li> <li> <p>Username field - Enteryour user name.</p> </li> <li> <p>Password field - Enter your case-sensitive password.</p> </li> </ul> </li> <li> <p>Click <span class="bold">Login</span>.</p> <p>Note that, depending on your setup, you might be required to change your password when you log in for the first time.</p> </li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --></div> <!-- class="sect1" --> <a id="BEHIJFIH" name="BEHIJFIH"></a> <div class="sect1"><!-- infolevel="all" infotype="General" --> <h2 class="sect1"><span class="secnum">3.4</span> <a name="HTMIG415" id="HTMIG415"></a>Downloading from OTN and <a id="sthref142" name="sthref142"></a>Configuring Oracle HTTP Server</h2> <p>This section describes how to install Oracle Application Express by downloading a ZIP file from OTN and then configuring Oracle HTTP Server with <code>mod_plsql</code> distributed with Oracle Database 11<span class="italic">g</span> or Oracle Application Server 10<span class="italic">g</span>.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#BABEGAEJ">Install the Oracle Database and Complete Pre-installation Tasks</a></p> </li> <li> <p><a href="#BEHFJIEJ">Download and Install Oracle Application Express</a></p> </li> <li> <p><a href="#BEHDBEBC">Change the Password for the ADMIN Account</a></p> </li> <li> <p><a href="#CBHHDHDH">Restart Processes</a></p> </li> <li> <p><a href="#BHAGICFJ">Configure Oracle HTTP Server Distributed with Oracle Database 11<span class="italic">g</span> or Oracle Application Server 10<span class="italic">g</span></a></p> </li> <li> <p><a href="#BEHHJJIH">Enable Network Services in Oracle Database 11<span class="italic">g</span></a></p> </li> <li> <p><a href="#CBHJCGIJ">Enable Indexing of Online Help in Oracle Database 11gR2 and Higher</a></p> </li> <li> <p><a href="#BEHJEBCG">Security Considerations</a></p> </li> <li> <p><a href="#BEHJICEB">About Running Oracle Application Express in Other Languages</a></p> </li> <li> <p><a href="#BEHDDDCJ">About Managing JOB_QUEUE_PROCESSES</a></p> </li> <li> <p><a href="#BEHGJJFA">About Obfuscating PlsqlDatabasePassword Parameter</a></p> </li> <li> <p><a href="#CHDGAHFF">Create a Workspace and Add Oracle Application Express Users</a></p> </li> </ul> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a href="overview.htm#CJAFIGFG">"About the Oracle Application Express Runtime Environment"</a> and <a href="http_9_0_3.htm#CIHEFIFC">"Configuring Oracle HTTP Server Distributed with Oracle9<span class="italic">i</span> Release 2"</a></div> <a id="BABEGAEJ" name="BABEGAEJ"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.1</span> <a name="HTMIG416" id="HTMIG416"></a>Install the Oracle Database and <a id="sthref143" name="sthref143"></a>Complete Pre-installation Tasks</h3> <p>Oracle Application Express requires an Oracle database that is release 9.2.0.3 or later. To learn more, see the <a class="olink GINST" href="http://www.oracle.com/pls/db112/lookup?id=GINST"><span class="italic">Oracle Database Installation Guide</span></a> for your operating environment and <a href="#BEHIFAJD">"Recommended Pre-installation Tasks"</a>.</p> </div> <!-- class="sect2" --> <a id="BEHFJIEJ" name="BEHFJIEJ"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.2</span> <a name="HTMIG417" id="HTMIG417"></a>Download and Install <a id="sthref144" name="sthref144"></a>Oracle Application Express</h3> <p>To install Oracle Application Express:</p> <ol> <li> <p>Download the file <code>apex_3.2.zip</code> from the Oracle Application Express download page. See:</p> <pre xml:space="preserve" class="oac_no_warn"><a href="http://www.oracle.com/technology/products/database/application_express/download.html">http://www.oracle.com/technology/products/database/application_express/download.html</a> </pre> <p>Note that the actual file name may differ if a more recent release has shipped since this document was published.</p> </li> <li> <p>Unzip <code>apex_3.2.zip</code> as follows, preserving directory names:</p> <ul> <li> <p>UNIX and Linux: Unzip <code>apex_3.2.zip</code></p> </li> <li> <p>Windows: Double click the file <code>apex_3.2.zip</code> in Windows Explorer</p> </li> </ul> </li> <li> <p>Change your working directory to <code>apex</code>.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Disable any existing password complexity rules for the default profile. See "Configuring Password Protection" in <span class="italic"><a class="olink DBSEG0032" href="http://www.oracle.com/pls/db112/lookup?id=DBSEG0032">Oracle Database Security Guide</a></span>.</p> </li> <li> <p>Select the appropriate <a id="sthref145" name="sthref145"></a><a id="sthref146" name="sthref146"></a>installation option.</p> <p><span class="bold">Full development environment</span> provides complete access to the Application Builder environment to develop applications. A <span class="bold">Runtime environment</span> enables users to run applications that cannot be modified. To learn more, see <a href="overview.htm#CJAFIGFG">"About the Oracle Application Express Runtime Environment"</a>.</p> <p>Available installation options include:</p> <ul> <li> <p><span class="bold">Full development environment</span>. Run <a id="sthref147" name="sthref147"></a><a id="sthref148" name="sthref148"></a><a id="sthref149" name="sthref149"></a><code>apexins.sql</code> passing the following four arguments in the order shown:</p> <pre xml:space="preserve" class="oac_no_warn">@apexins <span class="italic">tablespace_apex</span> <span class="italic">tablespace_files</span> <span class="italic">tablespace_temp</span> <span class="italic">images</span> </pre> <p>Where:</p> <ul> <li> <p><code><span class="codeinlineitalic">tablespace_apex</span></code> is the name of the tablespace for the Oracle Application Express application user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_files</span></code> is the name of the tablespace for the Oracle Application Express files user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_temp</span></code> is the name of the temporary tablespace.</p> </li> <li> <p><code><span class="codeinlineitalic">images</span></code> is the virtual directory for Oracle Application Express images. To support future Oracle Application Express upgrades, define the virtual image directory as <code>/i/</code>.</p> </li> </ul> <p>Example:</p> <pre xml:space="preserve" class="oac_no_warn">@apexins SYSAUX SYSAUX TEMP /i/ </pre></li> <li> <p><span class="bold">Runtime environment</span>. Run <a id="sthref150" name="sthref150"></a><a id="sthref151" name="sthref151"></a><a id="sthref152" name="sthref152"></a><code>apxrtins.sql</code> passing the following arguments in the order shown:</p> <pre xml:space="preserve" class="oac_no_warn">@apxrtins <span class="italic">tablespace_apex</span> <span class="italic">tablespace_files</span> <span class="italic">tablespace_temp</span> <span class="italic">images</span> </pre> <p>Where:</p> <ul> <li> <p><code><span class="codeinlineitalic">tablespace_apex</span></code> is the name of the tablespace for the Oracle Application Express application user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_files</span></code> is the name of the tablespace for the Oracle Application Express files user.</p> </li> <li> <p><code><span class="codeinlineitalic">tablespace_temp</span></code> is the name of the temporary tablespace.</p> </li> <li> <p><code><span class="codeinlineitalic">images</span></code> is the virtual directory for Oracle Application Express images. To support future Oracle Application Express upgrades, define the virtual image directory as <code>/i/</code>.</p> </li> </ul> <p>Example:</p> <pre xml:space="preserve" class="oac_no_warn">@apxrtins SYSAUX SYSAUX TEMP /i/ </pre></li> </ul> </li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink LNPLS" href="http://www.oracle.com/pls/db112/lookup?id=LNPLS"><span class="italic">Oracle Database PL/SQL Language Reference</span></a> for more information about SQL*Plus</div> <p>When Oracle Application Express installs it creates three new database accounts:</p> <ul> <li> <p><code>APEX_030200</code> - The account that owns the Oracle Application Express schema and metadata.</p> </li> <li> <p><code>FLOWS_FILES</code> - The account that owns the Oracle Application Express uploaded files.</p> </li> <li> <p><code>APEX_PUBLIC_USER</code> - The minimally privileged account used for Oracle Application Express configuration with Oracle HTTP Server and <code>mod_plsql</code>.</p> </li> </ul> <p>If you are upgrading from a previous release, <code>FLOWS_FILES</code>, already exists and <code>APEX_PUBLIC_USER</code> is created if it does not already exist.</p> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> Oracle Application Express must be installed from a writable directory on the file system. See <a href="trouble.htm#BABIHBIF">"Reviewing a Log of an Installation Session"</a>.</div> </div> <!-- class="sect2" --> <a id="BEHDBEBC" name="BEHDBEBC"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.3</span> <a name="HTMIG418" id="HTMIG418"></a>Change the Password <a id="sthref153" name="sthref153"></a><a id="sthref154" name="sthref154"></a><a id="sthref155" name="sthref155"></a>for the ADMIN Account</h3> <p>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 <code>ADMIN</code> account. In an upgrade scenario, the password will be preserved and carried over from the prior release.</p> <p>To change the password for the <code>ADMIN</code> account:</p> <ol> <li> <p>Change your working directory to the <code>apex</code> directory where you unzipped the installation software.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run <a id="sthref156" name="sthref156"></a><a id="sthref157" name="sthref157"></a><code>apxchpwd.sql</code>. For example:</p> <pre xml:space="preserve" class="oac_no_warn">@apxchpwd </pre> <p>When prompted enter a password for the <code>ADMIN</code> account.</p> </li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink LNPLS" href="http://www.oracle.com/pls/db112/lookup?id=LNPLS"><span class="italic">Oracle Database PL/SQL Language Reference</span></a> for more information about SQL*Plus</div> </div> <!-- class="sect2" --> <a id="CBHHDHDH" name="CBHHDHDH"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.4</span> <a name="HTMIG419" id="HTMIG419"></a>Restart <a id="sthref158" name="sthref158"></a>Processes</h3> <p>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.</p> </div> <!-- class="sect2" --> <a id="BHAGICFJ" name="BHAGICFJ"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.5</span> <a name="HTMIG420" id="HTMIG420"></a>Configure <a id="sthref159" name="sthref159"></a><a id="sthref160" name="sthref160"></a><a id="sthref161" name="sthref161"></a>Oracle HTTP Server Distributed with Oracle Database 11<span class="italic">g</span> or Oracle Application Server 10<span class="italic">g</span></h3> <p>This section describes how to configure Oracle HTTP Server with <code>mod_plsql</code> distributed with Oracle Database 11<span class="italic">g</span> or Oracle Application Server 10<span class="italic">g</span>.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#BHAHBIIJ">Unlocking the APEX_PUBLIC_USER Account</a></p> </li> <li> <p><a href="#BHAJHJAG">Changing the Password for the APEX_PUBLIC_USER Account</a></p> </li> <li> <p><a href="#CHDFJBFB">Copy the Images Directory</a></p> </li> <li> <p><a href="#BHAFJJDA">Configuring Oracle HTTP Server 11<span class="italic">g</span> or Oracle Application Server 10<span class="italic">g</span></a></p> </li> </ul> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a href="http_9_0_3.htm#CIHEFIFC">"Configuring Oracle HTTP Server Distributed with Oracle9<span class="italic">i</span> Release 2"</a></div> <a id="BHAHBIIJ" name="BHAHBIIJ"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.4.5.1</span> <a name="HTMIG421" id="HTMIG421"></a>Unlocking the <a id="sthref162" name="sthref162"></a>APEX_PUBLIC_USER Account</h4> <p>The <code>APEX_PUBLIC_USER</code> 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 (<a id="sthref163" name="sthref163"></a>DAD) in a new installation.</p> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> If you are upgrading from a prior release of Oracle Application Express, this step is unnecessary.</div> <p>To unlock the <code>APEX_PUBLIC_USER</code> account:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run the following statement:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK </pre></li> </ol> </div> <!-- class="sect3" --> <a id="BHAJHJAG" name="BHAJHJAG"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.4.5.2</span> <a name="HTMIG422" id="HTMIG422"></a>Changing the Password for the <a id="sthref164" name="sthref164"></a>APEX_PUBLIC_USER Account</h4> <p>The <code>APEX_PUBLIC_USER</code> 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.</p> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> If you are upgrading from a prior release of Oracle Application Express, this step is unnecessary.</div> <p>To change the password for the <code>APEX_PUBLIC_USER</code> account:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run the following statement:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER USER APEX_PUBLIC_USER IDENTIFIED BY <span class="italic">new_password</span> </pre> <p>Where <code>new_password</code> is the new password you are setting for <code>APEX_PUBLIC_USER</code>. You will use this password when creating the DAD in the sections that follow.</p> </li> </ol> <div class="sect4"><!-- infolevel="all" infotype="General" --><a id="sthref165" name="sthref165"></a> <h5 class="sect4"><span class="secnum">3.4.5.2.1</span> About Password Expiration in Oracle Database 11<span class="italic">g</span></h5> <p>In the default profile in Oracle Database 11<span class="italic">g</span>, the parameter <code>PASSWORD_LIFE_TIME</code> is set to 180. If you are using Oracle Database 11<span class="italic">g</span> with Oracle Application Express, this causes the password for <code>APEX_PUBLIC_USER</code> to expire in 180 days. As a result, your Oracle Application Express instance will become unusable until you change the password.</p> <p>To prevent this behavior, create another profile in which the <code>PASSWORD_LIFE_TIME</code> parameter is set to unlimited and alter the <code>APEX_PUBLIC_USER</code> account and assign it the new profile.</p> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink DBSEG" href="http://www.oracle.com/pls/db112/lookup?id=DBSEG"><span class="italic">Oracle Database Security Guide</span></a> for information on creating profiles and assigning them to database users.</div> </div> <!-- class="sect4" --></div> <!-- class="sect3" --> <a id="CHDFJBFB" name="CHDFJBFB"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.4.5.3</span> <a name="HTMIG423" id="HTMIG423"></a>Copy the Images <a id="sthref166" name="sthref166"></a><a id="sthref167" name="sthref167"></a><a id="sthref168" name="sthref168"></a>Directory</h4> <p>Whether you are loading a new installation or upgrading from a previous release, you must copy the <code>images</code> directory from the top level of the <code>apex\images</code> directory to the location on the file system containing the Oracle home for Oracle HTTP Server.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#BHAJDGFJ">Copying the Images Directory After an Upgrade</a></p> </li> <li> <p><a href="#CHDJFIBG">Copying the Images Directory in a New Installation</a></p> </li> </ul> <a id="BHAJDGFJ" name="BHAJDGFJ"></a> <div class="sect4"><!-- infolevel="all" infotype="General" --> <h5 class="sect4"><span class="secnum">3.4.5.3.1</span> <a name="HTMIG424" id="HTMIG424"></a>Copying the Images Directory <a id="sthref169" name="sthref169"></a><a id="sthref170" name="sthref170"></a><a id="sthref171" name="sthref171"></a>After an Upgrade</h5> <p>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 <code>images</code> directory for Oracle Application Express, indicating the release number of the images (for example, <code>images_3_1</code>).</p> <p>To locate the <code>images</code> directory on the file system, review the following files for the text alias <code>/i/</code>:</p> <ul> <li> <p>Oracle HTTP Server distributed Oracle9<span class="italic">i</span> Release 2—see the <code>httpd.conf</code> file.</p> </li> <li> <p>Oracle Application Server 10<span class="italic">g</span>—see the <code>marvel.conf</code> or <code>dads.conf</code> files.</p> </li> <li> <p>Oracle HTTP Server distributed with Oracle Database 11<span class="italic">g</span>—see the <code>marvel.conf</code> or <code>dads.conf</code> files.</p> </li> </ul> <p>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.</p> <p>After you copy the existing images directory, use the following command syntax to copy the <code>apex\images</code> directory from the Oracle Database home to the existing images directory path, overwriting the existing images:</p> <ul> <li> <p>Oracle Application Server 10<span class="italic">g</span>:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn">xcopy /E /I <span class="italic">APEX_HOME</span>\apex\images <span class="italic">ORACLE_HTTPSERVER_HOME</span>\Apache\images </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">cp -rf <span class="italic">APEX_HOME</span>/apex/images <span class="italic">ORACLE_HTTPSERVER_HOME</span>/Apache </pre></li> </ul> </li> <li> <p>Oracle HTTP Server distributed with Oracle Database 11<span class="italic">g</span>:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn">xcopy /E /I <span class="italic">APEX_HOME</span>\apex\images <span class="italic">ORACLE_HTTPSERVER_HOME</span>\ohs\images </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">cp -rf <span class="italic">APEX_HOME</span>/apex/images <span class="italic">ORACLE_HTTPSERVER_HOME</span>/ohs </pre></li> </ul> </li> </ul> <p>In the preceding syntax examples:</p> <ul> <li> <p><code>APEX_HOME</code> is the directory where the Oracle Application Express software was unzipped</p> </li> <li> <p><code>ORACLE_HTTPSERVER_HOME</code> is the existing Oracle Application Server or Oracle HTTP Server Oracle home</p> </li> </ul> </div> <!-- class="sect4" --> <a id="CHDJFIBG" name="CHDJFIBG"></a> <div class="sect4"><!-- infolevel="all" infotype="General" --> <h5 class="sect4"><span class="secnum">3.4.5.3.2</span> <a name="HTMIG425" id="HTMIG425"></a>Copying the Images Directory in a New <a id="sthref172" name="sthref172"></a><a id="sthref173" name="sthref173"></a><a id="sthref174" name="sthref174"></a>Installation</h5> <p>After installation, copy the directory <code>apex/images</code>.</p> <ul> <li> <p>Oracle Application Server 10<span class="italic">g</span>:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn">xcopy /E /I <span class="italic">ORACLE_HOME</span>\apex\images <span class="italic">ORACLE_HTTPSERVER_HOME</span>\Apache\images </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">cp -rf $<span class="italic">ORACLE_HOME</span>/apex/images <span class="italic">ORACLE_HTTPSERVER_HOME</span>/Apache </pre></li> </ul> </li> <li> <p>Oracle HTTP Server distributed with Oracle Database 11<span class="italic">g:</span></p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn">xcopy /E /I <span class="italic">ORACLE_HOME</span>\apex\images <span class="italic">ORACLE_HTTPSERVER_HOME</span>\ohs\images </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">cp -rf $<span class="italic">ORACLE_HOME</span>/apex/images <span class="italic">ORACLE_HTTPSERVER_HOME</span>/ohs </pre></li> </ul> </li> </ul> <p>In the preceding syntax examples:</p> <ul> <li> <p><code>ORACLE_HOME</code> is the Oracle Database Oracle home</p> </li> <li> <p><code>ORACLE_HTTPSERVER_HOME</code> is the existing Oracle Application Server or Oracle HTTP Server Oracle home</p> </li> </ul> </div> <!-- class="sect4" --></div> <!-- class="sect3" --> <a id="BHAFJJDA" name="BHAFJJDA"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.4.5.4</span> <a name="HTMIG426" id="HTMIG426"></a>Configuring Oracle HTTP Server 11<span class="italic">g</span> or Oracle <a id="sthref175" name="sthref175"></a><a id="sthref176" name="sthref176"></a><a id="sthref177" name="sthref177"></a><a id="sthref178" name="sthref178"></a>Application <a id="sthref179" name="sthref179"></a><a id="sthref180" name="sthref180"></a><a id="sthref181" name="sthref181"></a>Server 10<span class="italic">g</span></h4> <p>Perform the following postinstallation steps if:</p> <ul> <li> <p>This is a new installation of Oracle Application Express (that is, you are not upgrading from a previous release).</p> </li> <li> <p>You are running Oracle HTTP Server distributed with Oracle Database 11<span class="italic">g</span> or Oracle Application Server 10<span class="italic">g</span>.</p> </li> <li> <p>Oracle HTTP Server is installed in an Oracle home.</p> </li> </ul> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CHDHCBGI">Editing the dads.conf File</a></p> </li> <li> <p><a href="#CHDBCJFG">Stopping and Restarting Oracle HTTP Server</a></p> </li> </ul> <p>Note that these instructions do not apply if you are running Oracle HTTP Server release 9.0.3. To learn more, see <a href="http_9_0_3.htm#CIHEFIFC">"Configuring Oracle HTTP Server Distributed with Oracle9<span class="italic">i</span> Release 2"</a>.</p> <div class="infoboxnote"> <p class="notep1">Note:</p> Within the context of this document, <code>ORACLE_HTTPSERVER_HOME</code> is the location where Oracle HTTP Server is installed.</div> <a id="CHDHCBGI" name="CHDHCBGI"></a> <div class="sect4"><!-- infolevel="all" infotype="General" --> <h5 class="sect4"><span class="secnum">3.4.5.4.1</span> <a name="HTMIG427" id="HTMIG427"></a>Editing the dads.conf <a id="sthref182" name="sthref182"></a><a id="sthref183" name="sthref183"></a>File</h5> <p>If this is a new installation of Oracle Application Express, you must edit the <code>dads.conf</code> file. The <code>dads.conf</code> file contains the information about the DAD to access Oracle Application Express.</p> <p>To edit the <code>dads.conf</code> file:</p> <ol> <li> <p>Use a text editor and open the <code>dads.conf.</code></p> <ul> <li> <p>Oracle Application Server 10<span class="italic">g</span>:</p> <ul> <li> <p>On Windows see:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_HTTPSERVER_HOME</span>\Apache\modplsql\conf\dads.conf </pre></li> <li> <p>On UNIX and Linux see:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_HTTPSERVER_HOME</span>/Apache/modplsql/conf/dads.conf </pre></li> </ul> </li> <li> <p>Oracle HTTP Server distributed with Oracle Database 11<span class="italic">g</span>:</p> <ul> <li> <p>On Windows see:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_HTTPSERVER_HOME</span>\ohs\modplsql\conf\dads.conf </pre></li> <li> <p>On UNIX and Linux see:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_HTTPSERVER_HOME</span>/ohs/modplsql/conf/dads.conf </pre></li> </ul> </li> </ul> </li> <li> <p>In the <code>dads.conf</code> file, replace <code>ORACLE_HTTPSERVER_HOME</code>, <code>host</code>, <code>port</code>, <code>service_name</code>, and <code>apex_public_user_password</code> with values appropriate for your environment. Note that the <code>apex_public_user_password</code> is the password you changed in <a href="#BHAJHJAG">"Changing the Password for the APEX_PUBLIC_USER Account"</a>.</p> <p>Note that the path listed is only an example. The path in the dads.conf file should reference the file system path described in <a href="#CHDFJBFB">"Copy the Images Directory"</a>.</p> <pre xml:space="preserve" class="oac_no_warn">Alias /i/ "<span class="italic">ORACLE_HTTPSERVER_HOME</span>/<span class="italic">Apache</span>/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 <span class="italic">host</span>:<span class="italic">port</span>:<span class="italic">service_name</span> ServiceNameFormat PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8 PlsqlAuthenticationMode Basic SetHandler pls_handler PlsqlDocumentTablename wwv_flow_file_objects$ PlsqlDatabaseUsername APEX_PUBLIC_USER PlsqlDefaultPage apex PlsqlDatabasePassword <span class="italic">apex_public_user_password</span> PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize Allow from all </Location> </pre></li> <li> <p>Locate the line containing <code>PlsqlNLSLanguage</code>.</p> <p>The <code>PlsqlNLSLanguage</code> setting determines the language setting of the DAD. The character set portion of the <code>PlsqlNLSLanguage</code> value must be set to <code>AL32UTF8</code>, regardless of whether or not the database character set is <code>AL32UTF8</code>. For example:</p> <pre xml:space="preserve" class="oac_no_warn">... PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8 ... </pre></li> <li> <p>Save and exit the <code>dads.conf</code> file.</p> </li> </ol> </div> <!-- class="sect4" --> <a id="CHDBCJFG" name="CHDBCJFG"></a> <div class="sect4"><!-- infolevel="all" infotype="General" --> <h5 class="sect4"><span class="secnum">3.4.5.4.2</span> <a name="HTMIG428" id="HTMIG428"></a>Stopping and Restarting Oracle HTTP Server</h5> <p>To stop and restart Oracle HTTP Server:</p> <ul> <li> <p>For UNIX and Linux, execute the following:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_HTTPSERVER_HOME</span>/opmn/bin/opmnctl stopproc ias-component=HTTP_Server <span class="italic">ORACLE_HTTPSERVER_HOME</span>/opmn/bin/opmnctl startproc ias-component=HTTP_Server </pre></li> <li> <p>For Windows, execute the following:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_HTTPSERVER_HOME</span>\opmn\bin\opmnctl stopproc ias-component=HTTP_Server <span class="italic">ORACLE_HTTPSERVER_HOME</span>\opmn\bin\opmnctl startproc ias-component=HTTP_Server </pre></li> </ul> </div> <!-- class="sect4" --></div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="BEHHJJIH" name="BEHHJJIH"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.6</span> <a name="HTMIG429" id="HTMIG429"></a>Enable Network <a id="sthref184" name="sthref184"></a>Services in Oracle Database 11<span class="italic">g</span></h3> <p>By default, the ability to interact with network services is disabled in Oracle Database 11<span class="italic">g</span> release 1 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11<span class="italic">g</span> release 1 (11.1), you must use the new <code>DBMS_NETWORK_ACL_ADMIN</code> package to grant connect privileges to any host for the <code>APEX_030200</code> database user. Failing to grant these privileges results in issues with:</p> <ul> <li> <p>Sending outbound mail in Oracle Application Express.</p> <p>Users can call methods from the <code>APEX_MAIL</code> package, but issues arise when sending outbound email.</p> </li> <li> <p>Using Web services in Oracle Application Express.</p> </li> <li> <p>PDF/report printing.</p> </li> <li> <p>Searching for content in online Help (that is, using the Find link).</p> </li> </ul> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CBHIJFJF">Granting Connect Privileges</a></p> </li> <li> <p><a href="#CBHEAFFG">Troubleshooting an Invalid ACL Error</a></p> </li> </ul> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> 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 11<span class="italic">g</span> database will already have the parameter set properly, but a database upgraded to 11<span class="italic">g</span> from a prior version may not. See "Creating and Configuring an Oracle Database" in <span class="italic"><a class="olink ADMIN002" href="http://www.oracle.com/pls/db112/lookup?id=ADMIN002">Oracle Database Administrator's Guide</a></span> for information about changing database initialization parameters.</div> <a id="CBHDAJED" name="CBHDAJED"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.4.6.1</span> <a name="HTMIG430" id="HTMIG430"></a>Granting <a id="sthref185" name="sthref185"></a>Connect Privileges</h4> <p>The following example demonstrates how to grant connect privileges to any host for the <code>APEX_030200</code> database user.</p> <pre xml:space="preserve" class="oac_no_warn">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; </pre> <p>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.</p> <pre xml:space="preserve" class="oac_no_warn">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; </pre></div> <!-- class="sect3" --> <div class="sect3"><!-- infolevel="all" infotype="General" --><a id="sthref186" name="sthref186"></a> <h4 class="sect3"><span class="secnum">3.4.6.2</span> <a name="HTMIG431" id="HTMIG431"></a>Troubleshooting an<a id="sthref187" name="sthref187"></a> Invalid ACL Error</h4> <p>If you receive an <code>ORA-44416: Invalid ACL</code> error after running the previous script, use the following query to identify the invalid ACL:</p> <pre xml:space="preserve" class="oac_no_warn">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); </pre> <p>Next, run the following code to fix the ACL:</p> <pre xml:space="preserve" class="oac_no_warn">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; </pre> <p>Once the ACL has been fixed, you must run the first script in this section to apply the ACL to the <code>APEX_030200</code> user. See <a href="#CBHDAJED">"Granting Connect Privileges"</a>.</p> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="CBHJCGIJ" name="CBHJCGIJ"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.7</span> Enable Indexing of Online <a id="sthref188" name="sthref188"></a><a id="sthref189" name="sthref189"></a>Help in Oracle Database 11gR2 and Higher</h3> <p>The ability to search Oracle Application Express online Help is accomplished through Oracle Text and a URL datastore. There is a change in the default behavior and permissions to use an Oracle Text URL datastore in database 11gR2 and higher.</p> <p>If users attempt to search Oracle Application Express online Help in Oracle database 11gR2 and encounter the following error, then the permission to use an Oracle Text URL datastore has not been granted to database user <code>APEX_030200</code>.</p> <pre xml:space="preserve" class="oac_no_warn">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 datastore </pre> <p>To enable the indexing of online Help in Oracle Application Express, the permission to use an Oracle Text URL datastore must be granted to the <code>APEX_030200</code> database user. This is accomplished by assigning this specific privilege to a datbase role and then granting this role to the <code>APEX_030200</code> database user.</p> <p>To determine if the ability to use an Oracle Text URL datastore is already granted to a database role:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run the following command:</p> <pre xml:space="preserve" class="oac_no_warn">SELECT par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE'; </pre> <p>This returns either <code>NULL</code> or the database role which is granted the ability to use an Oracle Text URL datastore.</p> </li> <li> <p>If no value is returned by step 2, then create a new database role as shown in the following example:</p> <pre xml:space="preserve" class="oac_no_warn">CREATE ROLE APEX_URL_DATASTORE_ROLE; </pre></li> <li> <p>Grant this role to the database user <code>APEX_030200</code> with the following statement:</p> <pre xml:space="preserve" class="oac_no_warn">GRANT <span class="italic">APEX_URL_DATASTORE_ROLE</span> to APEX_030200; </pre> <p>If step 2 returned a value, use this database role name instead of the example <code><span class="codeinlineitalic">APEX_URL_DATASTORE_ROLE</span></code>.</p> </li> <li> <p>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:</p> <pre xml:space="preserve" class="oac_no_warn">EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE'); </pre></li> </ol> </div> <!-- class="sect2" --> <a id="BEHJEBCG" name="BEHJEBCG"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.8</span> <a name="HTMIG432" id="HTMIG432"></a>Security Considerations</h3> <p>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.</p> <p>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.</p> </div> <!-- class="sect2" --> <a id="BEHJICEB" name="BEHJICEB"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.9</span> <a name="HTMIG433" id="HTMIG433"></a>About Running Oracle Application Express <a id="sthref190" name="sthref190"></a><a id="sthref191" name="sthref191"></a><a id="sthref192" name="sthref192"></a><a id="sthref193" name="sthref193"></a>in Other Languages</h3> <p>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.</p> <p>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 <code>AL32UTF8</code> supports all the translated versions of Oracle Application Express.</p> <p>You can manually install translated versions of Oracle Application Express using SQL*Plus. The installation files are encoded in <code>AL32UTF8</code>.</p> <div class="infoboxnote"> <p class="notep1">Note:</p> 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 <code>NLS_LANG</code> environment variable to <code>AL32UTF8</code> before starting SQL*Plus.</div> <p>The following examples illustrate valid <code>NLS_LANG</code> settings for loading Oracle Application Express translations:</p> <pre xml:space="preserve" class="oac_no_warn">American_America.AL32UTF8 Japanese_Japan.AL32UTF8 </pre> <div class="sect3"><!-- infolevel="all" infotype="General" --><a id="sthref194" name="sthref194"></a> <h4 class="sect3"><span class="secnum">3.4.9.1</span> <a name="HTMIG434" id="HTMIG434"></a>Installing a Translated Version of Oracle Application Express</h4> <p>Whether you are installing for the first time or upgrading from a previous release, you must run the <code>load_</code><code><span class="codeinlineitalic">lang</span></code><code>.sql</code> script to run a translated version of Oracle Application Express.</p> <p>The installation scripts are located in subdirectories identified by a language code in the unzipped distribution <code>apex/builder</code>. For example, the German version is located in <code>apex/builder/de</code> and the Japanese version is located in <code>apex/builder/ja</code>. Within each of directory, there is a language loading script identified by the language code (for example, <code>load_de.sql</code> or <code>load_ja.sql</code>).</p> <p>To install a translated version of Oracle Application Express:</p> <ol> <li> <p>Set the <code>NLS_LANG</code> environment variable, making sure that the character set is <code>AL32UTF8</code>. For example:</p> <ul> <li> <p>Bourne or Korn shell:</p> <pre xml:space="preserve" class="oac_no_warn">NLS_LANG=American_America.AL32UTF8 export NLS_LANG </pre></li> <li> <p>C shell:</p> <pre xml:space="preserve" class="oac_no_warn">setenv NLS_LANG American_America.AL32UTF8 </pre></li> <li> <p>For Windows based systems:</p> <pre xml:space="preserve" class="oac_no_warn">set NLS_LANG=American_America.AL32UTF8 </pre></li> </ul> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Execute the following statement:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER SESSION SET CURRENT_SCHEMA = APEX_030200; </pre></li> <li> <p>Execute the appropriate language specific script. For example:</p> <pre xml:space="preserve" class="oac_no_warn">@load_<span class="italic">lang</span>.sql </pre> <p>Where <code>lang</code> is the specific language (for example, <code>load_de.sql</code> for German or <code>load_ja.sql</code> for Japanese).</p> </li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="BEHDDDCJ" name="BEHDDDCJ"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.10</span> <a name="HTMIG189" id="HTMIG189"></a>About Managing <a id="sthref195" name="sthref195"></a><a id="sthref196" name="sthref196"></a>JOB_QUEUE_PROCESSES</h3> <p><code>JOB_QUEUE_PROCESSES</code> determine the maximum number of concurrently running jobs. In Oracle Application Express release 3.2, transactional support and SQL scripts require jobs. If <code>JOB_QUEUE_PROCESSES</code> is not enabled and working properly, you cannot successfully execute a script.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CBHHGHEF">Viewing the Number of JOB_QUEUE_PROCESSES</a></p> </li> <li> <p><a href="#CBHIFDAI">Changing the Number of JOB_QUEUE_PROCESSES</a></p> </li> </ul> <a id="CBHHGHEF" name="CBHHGHEF"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.4.10.1</span> <a name="HTMIG190" id="HTMIG190"></a>Viewing the Number of <a id="sthref197" name="sthref197"></a>JOB_QUEUE_PROCESSES</h4> <p>There are currently three ways to view the number of <code>JOB_QUEUE_PROCESSES</code>:</p> <ul> <li> <p>In the installation log file</p> </li> <li> <p>On the About Application Express page in Oracle Application Express</p> </li> <li> <p>From SQL*Plus</p> </li> </ul> <div class="sect4"><!-- infolevel="all" infotype="General" --><a id="sthref198" name="sthref198"></a> <h5 class="sect4"><span class="secnum">3.4.10.1.1</span> <a name="HTMIG191" id="HTMIG191"></a>Viewing JOB_QUEUE_PROCESSES in the Installation Log File</h5> <p>After installing or upgrading Oracle Application Express to release 3.2, you can view the number of <code>JOB_QUEUE_PROCESSES</code> in the installation log files. See <a href="trouble.htm#BABIHBIF">"Reviewing a Log of an Installation Session"</a>.</p> </div> <!-- class="sect4" --> <div class="sect4"><!-- infolevel="all" infotype="General" --><a id="sthref199" name="sthref199"></a> <h5 class="sect4"><span class="secnum">3.4.10.1.2</span> <a name="HTMIG192" id="HTMIG192"></a>Viewing JOB_QUEUE_PROCESSES in Oracle Application Express</h5> <p>You can also view the number of <code>JOB_QUEUE_PROCESSES</code> on the About Application Express page.</p> <p>To view the About Application Express page:</p> <ol> <li> <p>Log in to Oracle Application Express. See <a href="#CHDGJIBE">"Logging in to Your Workspace"</a>.</p> </li> <li> <p>On the Administration list, click <span class="bold">About Application Express</span>.</p> <p>The current number <code>JOB_QUEUE_PROCESSES</code> displays at the bottom of the page.</p> </li> </ol> </div> <!-- class="sect4" --> <div class="sect4"><!-- infolevel="all" infotype="General" --><a id="sthref200" name="sthref200"></a> <h5 class="sect4"><span class="secnum">3.4.10.1.3</span> <a name="HTMIG193" id="HTMIG193"></a>Viewing JOB_QUEUE_PROCESSES from SQL*Plus</h5> <p>You can also view the number of <code>JOB_QUEUE_PROCESSES</code> from SQL*Plus by running the following SQL statement:</p> <pre xml:space="preserve" class="oac_no_warn">SELECT VALUE FROM v$parameter WHERE NAME = 'job_queue_processes' </pre></div> <!-- class="sect4" --></div> <!-- class="sect3" --> <a id="CBHIFDAI" name="CBHIFDAI"></a> <div class="sect3"><!-- infolevel="all" infotype="General" --> <h4 class="sect3"><span class="secnum">3.4.10.2</span> <a name="HTMIG194" id="HTMIG194"></a>Changing the Number of <a id="sthref201" name="sthref201"></a>JOB_QUEUE_PROCESSES</h4> <p>You can change the number of <code>JOB_QUEUE_PROCESSES</code> by running a SQL statement in SQL*Plus:</p> <p>To update the number of <code>JOB_QUEUE_PROCESSES</code>:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>In SQL*Plus run the following SQL statement:</p> <pre xml:space="preserve" class="oac_no_warn">ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number> </pre> <p>For example, running the statement <code>ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20</code> sets <code>JOB_QUEUE_PROCESSES</code> to 20.</p> </li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="BEHGJJFA" name="BEHGJJFA"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.4.11</span> <a name="HTMIG195" id="HTMIG195"></a>About Obfuscating PlsqlDatabasePassword Parameter<a id="sthref202" name="sthref202"></a><a id="sthref203" name="sthref203"></a><a id="sthref204" name="sthref204"></a></h3> <p>The <code>PlsqlDatabasePassword</code> parameter specifies the password for logging in to the database. You can use the <a id="sthref205" name="sthref205"></a><code>dadTool.pl</code> utility to obfuscate passwords in the <code>dads.conf</code> file.</p> <p>You can find the <code>dadTool.pl</code> utility in the following directory:</p> <ul> <li> <p>For UNIX and Linux based systems:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_BASE</span>/<span class="italic">ORACLE_HTTPSERVER_HOME</span>/Apache/modplsql/conf </pre></li> <li> <p>For Windows based systems:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">ORACLE_BASE</span>\<span class="italic">ORACLE_HTTPSERVER_HOME</span>\Apache\modplsql\conf </pre></li> </ul> <div class="sect3"><!-- infolevel="all" infotype="General" --><a id="sthref206" name="sthref206"></a> <h4 class="sect3"><span class="secnum">3.4.11.1</span> <a name="HTMIG196" id="HTMIG196"></a>Obfuscating Passwords<a id="sthref207" name="sthref207"></a></h4> <p>To obfuscate passwords, run <code>dadTool.pl</code> by following the instructions in the <code>dadTool.README</code> file.</p> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="CHDGAHFF" name="CHDGAHFF"></a> <div class="sect2"> <h3 class="sect2"><span class="secnum">3.4.12</span> <a name="HTMIG197" id="HTMIG197"></a>Create a <a id="sthref208" name="sthref208"></a><a id="sthref209" name="sthref209"></a><a id="sthref210" name="sthref210"></a>Workspace and Add Oracle Application Express Users</h3> <p><a id="sthref211" name="sthref211"></a>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 <a href="pre_require.htm#BABCHJIB">"Browser Requirement"</a>.</p> <p>A <span class="bold">workspace</span> 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.</p> <p>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 "<a class="olink AEADM239" href="http://www.oracle.com/pls/db112/lookup?id=AEADM239">Creating Workspaces</a>" and "<a class="olink AEADM254" href="http://www.oracle.com/pls/db112/lookup?id=AEADM254">Managing Workspace Requests</a>" in <span class="italic">Oracle Application Express Administration Guide</span>.</p> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink TDPAX" href="http://www.oracle.com/pls/db112/lookup?id=TDPAX"><span class="italic">Oracle Database 2 Day + Oracle Application Express Developer's Guide</span></a> if you are new to Oracle Application Express</div> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CHDDAHAG">Creating a Workspace Manually</a></p> </li> <li> <p><a href="#CHDFCJHE">Creating Oracle Application Express Users</a></p> </li> <li> <p><a href="#CHDIJGIF">Logging in to Your Workspace</a></p> </li> </ul> <div class="sect3"><a id="sthref212" name="sthref212"></a> <h4 class="sect3"><span class="secnum">3.4.12.1</span> Creating a <a id="sthref213" name="sthref213"></a><a id="sthref214" name="sthref214"></a>Workspace Manually</h4> <p>To create an Oracle Application Express workspace manually:</p> <ol> <li> <p><span class="bold">Log in to <a id="sthref215" name="sthref215"></a>Oracle Application Express Administration Services.</span> Oracle Application Express Administration Services is a separate application for managing an entire Oracle Application Express instance. You log in using the <code>ADMIN</code> account and password created or reset during the installation process.</p> <ol> <li> <p>In a Web browser, navigate to the Oracle Application Express Administration Services application.</p> <p>If your setup uses Apache and <code>mod_plsql</code>, go to:</p> <pre xml:space="preserve" class="oac_no_warn">http://<span class="italic">hostname</span>:<span class="italic">port</span>/pls/apex/apex_admin </pre> <p>Where:</p> <p><code>hostname</code> is the name of the system where Oracle HTTP Server is installed.</p> <p><code>port</code> is the port number assigned to Oracle HTTP Server. In a default installation, this number is 7777.</p> <p><code>pls</code> is the indicator to use the <code>mod_plsql</code> cartridge.</p> <p><code>apex</code> is the database access descriptor (DAD) defined in the <code>mod_plsql</code> configuration file.</p> </li> <li> <p>On the Login page:</p> <ul> <li> <p>In Username, enter <code>admin</code>.</p> </li> <li> <p>In Password, enter the Oracle Application Express administrator account password you specified when you installed Oracle Application Express.</p> </li> <li> <p>Click <span class="bold">Login</span>.</p> </li> </ul> </li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> See "Logging in to Oracle Application Express Administration Services" in <a class="olink AEADM168" href="http://www.oracle.com/pls/db112/lookup?id=AEADM168"><span class="italic">Oracle Application Express Administration Guide</span></a>.</div> <p>Next, create a workspace.</p> </li> <li> <p>Click <span class="bold">Manage Workspaces</span>.</p> </li> <li> <p>Under Manage Workspaces, click <span class="bold">Create Workspace</span>.</p> <p>The Create Workspace Wizard appears.</p> </li> <li> <p>For Identify Workspace, enter a workspace name and description and click <span class="bold">Next</span>.</p> </li> <li> <p>For Identify Schema, select the Oracle Forms application schema.</p> <ol> <li> <p>For Re-use existing schema, select <span class="bold">Yes</span>.</p> </li> <li> <p>Select a schema from the list.</p> </li> <li> <p>Click <span class="bold">Next</span>.</p> </li> </ol> </li> <li> <p>For Identify Administrator, enter the Workspace administrator information and click <span class="bold">Next</span>.</p> </li> <li> <p>Confirm your selections and click <span class="bold">Create</span>.</p> </li> </ol> </div> <!-- class="sect3" --> <div class="sect3"><a id="sthref216" name="sthref216"></a> <h4 class="sect3"><span class="secnum">3.4.12.2</span> Creating Oracle Application Express <a id="sthref217" name="sthref217"></a><a id="sthref218" name="sthref218"></a>Users</h4> <p>To create an Oracle Application Express user account:</p> <ol> <li> <p>Log in to Oracle Application Express Administration Services as described in the previous section. See "Logging in to Oracle Application Express Administration Services" in <a class="olink AEADM168" href="http://www.oracle.com/pls/db112/lookup?id=AEADM168"><span class="italic">Oracle Application Express Administration Guide</span></a>.</p> </li> <li> <p>Click <span class="bold">Manage Workspaces</span>.</p> </li> <li> <p>Under Manage Workspaces, click <span class="bold">Manage Developers and Users</span>.</p> <p>The Manage Developers and Users page appears.</p> </li> <li> <p>Click <span class="bold">Create</span>.</p> <p>The Create/Edit User page appears.</p> </li> <li> <p>Under User Attributes, enter the appropriate information. Fields marked with an asterisk are required.</p> <div class="infoboxnotealso"> <p class="notep1">Tip:</p> 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.</div> </li> <li> <p>Under Password, type a case-sensitive password for this account.</p> <p>If your organization has set up a password policy, be sure the password meets the requirements.</p> </li> <li> <p>Under Developer Privileges, select the appropriate privileges:</p> <ul> <li> <p><span class="bold">User is a developer</span> - To add this user as a developer or Workspace administrator, select <span class="bold">Yes</span>. For end users, select <span class="bold">No</span>.</p> <p>Developers can create and modify applications and database objects as well as view developer activity, session state, workspace activity, application, and schema reports.</p> </li> <li> <p><span class="bold">User is a workspace administrator</span> - To add this user as a Workspace administrator, select <span class="bold">Yes</span>. For developers or end users, select <span class="bold">No</span>.</p> <p>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.</p> </li> </ul> </li> <li> <p>Under <a id="sthref219" name="sthref219"></a><a id="sthref220" name="sthref220"></a><a id="sthref221" name="sthref221"></a><a id="sthref222" name="sthref222"></a>Account Control, specify the following:</p> <ul> <li> <p><span class="bold">Account Availability</span> - Select <span class="bold">Unlocked</span> to enable a user to log in to this account.</p> </li> <li> <p><span class="bold">Require Change of Password on First Use</span> - Select <span class="bold">Yes</span> to require the user to change the password immediately after logging in with the current, temporary password. Otherwise, select <span class="bold">No</span>.</p> </li> </ul> </li> <li> <p>Click <span class="bold">Create User</span> or <span class="bold">Create and Create Another</span>.</p> </li> </ol> </div> <!-- class="sect3" --> <a id="CHDGJIBE" name="CHDGJIBE"></a> <div class="sect3"> <h4 class="sect3"><span class="secnum">3.4.12.3</span> Logging in to Your<a id="sthref223" name="sthref223"></a><a id="sthref224" name="sthref224"></a> Workspace</h4> <p>Once you create a workspace, you must log in to it using your login credentials (that is, the workspace name, user name, and password).</p> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> See "<a class="olink AEADM239" href="http://www.oracle.com/pls/db112/lookup?id=AEADM239">Creating Workspaces</a>" and "<a class="olink AEADM254" href="http://www.oracle.com/pls/db112/lookup?id=AEADM254">Managing Workspace Requests</a>" in <span class="italic">Oracle Application Express Administration Guide</span></div> <p>To log in to your workspace:</p> <ol> <li> <p>In a Web browser, navigate to the Oracle Application Express Login page.</p> <p>If your setup uses the embedded PL/SQL gateway, go to:</p> <pre xml:space="preserve" class="oac_no_warn">http://<span class="italic">hostname</span>:<span class="italic">port</span>/apex </pre> <p>Where:</p> <ul> <li> <p><code>hostname</code> is the name of the system where Oracle XML DB HTTP server is installed.</p> </li> <li> <p><code>port</code> is the port number assigned to Oracle XML DB HTTP server. In a default installation, this number is 8080.</p> </li> <li> <p><code>apex</code> is the database access descriptor (DAD) defined in the configuration file.</p> <p>For users who have upgraded from earlier releases, or who have a custom configuration, this value may be <code>htmldb</code> or something else. Verify your DAD with your Oracle Application Express administrator.</p> </li> </ul> <p>The Login page appears.</p> </li> <li> <p>Under Login, enter the following:</p> <ul> <li> <p>Workspace field - Enter the name of your workspace.</p> </li> <li> <p>Username field - Enteryour user name.</p> </li> <li> <p>Password field - Enter your case-sensitive password.</p> </li> </ul> </li> <li> <p>Click <span class="bold">Login</span>.</p> <p>Note that, depending on your setup, you might be required to change your password when you log in for the first time.</p> </li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --></div> <!-- class="sect1" --> <a id="CBHEBDHD" name="CBHEBDHD"></a> <div class="sect1"><!-- infolevel="all" infotype="General" --> <h2 class="sect1"><span class="secnum">3.5</span> Post Installation <a id="sthref225" name="sthref225"></a><a id="sthref226" name="sthref226"></a>Tasks for Upgrade Installations</h2> <p>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.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CBHBABCC">Remove Prior Oracle Application Express Installations</a></p> </li> <li> <p><a href="#CBHBJDDE">Fix Invalid ACL in Oracle Database 11g</a></p> </li> </ul> <a id="CBHBABCC" name="CBHBABCC"></a> <div class="sect2"> <h3 class="sect2"><span class="secnum">3.5.1</span> Remove <a id="sthref227" name="sthref227"></a><a id="sthref228" name="sthref228"></a>Prior Oracle Application Express Installations</h3> <p>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.</p> <div class="sect3"><a id="sthref229" name="sthref229"></a> <h4 class="sect3"><span class="secnum">3.5.1.1</span> Verify if a Prior Installation Exists</h4> <p>To verify if a prior installation exists:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code>. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run the following query:</p> <pre xml:space="preserve" class="oac_no_warn">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'); </pre></li> </ol> <p>If the results contain entries in the form <code>FLOWS_</code><code><span class="codeinlineitalic">XXXXXX</span></code> or <code>APEX_</code><code><span class="codeinlineitalic">XXXXXX</span></code> where <code><span class="codeinlineitalic">XXXXXX</span></code> represents six numbers, those entries are candidates for removal.</p> </div> <!-- class="sect3" --> <div class="sect3"><a id="sthref230" name="sthref230"></a> <h4 class="sect3"><span class="secnum">3.5.1.2</span> Remove Schemas from Prior Installations</h4> <p>To remove schemas from prior installations:</p> <ol> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Execute a statement similar to the following example:</p> <pre xml:space="preserve" class="oac_no_warn">DROP USER FLOWS_030000 CASCADE; </pre></li> </ol> </div> <!-- class="sect3" --></div> <!-- class="sect2" --> <a id="CBHBJDDE" name="CBHBJDDE"></a> <div class="sect2"> <h3 class="sect2"><span class="secnum">3.5.2</span> Fix <a id="sthref231" name="sthref231"></a><a id="sthref232" name="sthref232"></a>Invalid ACL in Oracle Database 11g</h3> <p>After following the instructions in<a href="#CBHBABCC">"Remove Prior Oracle Application Express Installations"</a>, you may need to fix an invalid ACL if you are running Oracle Database 11<span class="italic">g</span> and you enabled network services for the prior Oracle Application Express schema.</p> <p>To fix an invalid ACL:</p> <ol> <li> <p>Change your working directory to the <code>apex</code> directory where you unzipped the installation software.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Execute a statement similar to following:</p> <pre xml:space="preserve" class="oac_no_warn">EXEC DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE('power_users.xml', 'FLOWS_030000'); </pre></li> </ol> </div> <!-- class="sect2" --></div> <!-- class="sect1" --> <a id="CEGCBBCJ" name="CEGCBBCJ"></a> <div class="sect1"><!-- infolevel="all" infotype="General" --> <h2 class="sect1"><span class="secnum">3.6</span> <a name="HTMIG200" id="HTMIG200"></a>About the Oracle Application Express Runtime Environment</h2> <p>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.</p> <p>You administer the Oracle Application Express runtime environment using SQL*Plus or SQL Developer and the <code>APEX_INSTANCE_ADMIN</code> API. To learn more see, "Managing a Runtime Environment" and in <span class="italic"><a class="olink HTMDB21042" href="http://www.oracle.com/pls/db112/lookup?id=HTMDB21042">Oracle Application Express Application Builder User's Guide</a></span>.</p> <p>Topics in this section include:</p> <ul> <li> <p><a href="#CBHIEEBH">Converting a Runtime Environment to a Full Development Environment</a></p> </li> <li> <p><a href="#CBHBGFCB">Converting a Full Development Environment to a Runtime Environment</a></p> </li> </ul> <a id="CBHIEEBH" name="CBHIEEBH"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.6.1</span> <a name="HTMIG201" id="HTMIG201"></a>Converting a <a id="sthref233" name="sthref233"></a>Runtime Environment to a Full Development Environment</h3> <p>To convert an Oracle Application Express runtime environment to a full development environment:</p> <ol> <li> <p>Change your working directory to the <code>apex</code> directory where you unzipped the installation software.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run <a id="sthref234" name="sthref234"></a><a id="sthref235" name="sthref235"></a><code>apxdvins.sql</code>. For example:</p> <pre xml:space="preserve" class="oac_no_warn">@apxdvins </pre></li> <li> <p>Follow the instructions in <a href="#BEHDBEBC">"Change the Password for the ADMIN Account"</a>.</p> </li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink LNPLS" href="http://www.oracle.com/pls/db112/lookup?id=LNPLS"><span class="italic">Oracle Database PL/SQL Language Reference</span></a> for more information about SQL*Plus</div> </div> <!-- class="sect2" --> <a id="CBHBGFCB" name="CBHBGFCB"></a> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h3 class="sect2"><span class="secnum">3.6.2</span> <a name="HTMIG202" id="HTMIG202"></a>Converting a Full Development Environment to a <a id="sthref236" name="sthref236"></a>Runtime Environment</h3> <p>To convert an Oracle Application Express full development environment to a runtime environment:</p> <ol> <li> <p>Change your working directory to the <code>apex</code> directory where you unzipped the installation software.</p> </li> <li> <p>Start SQL*Plus and connect to the database where Oracle Application Express is installed as <code>SYS</code> specifying the <code>SYSDBA</code> role. For example:</p> <ul> <li> <p>On Windows:</p> <pre xml:space="preserve" class="oac_no_warn"><span class="italic">SYSTEM_DRIVE:\</span> sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> <li> <p>On UNIX and Linux:</p> <pre xml:space="preserve" class="oac_no_warn">$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: <span class="italic">SYS_password</span> </pre></li> </ul> </li> <li> <p>Run <a id="sthref237" name="sthref237"></a><a id="sthref238" name="sthref238"></a><code>apxdevrm.sql</code>. For example:</p> <pre xml:space="preserve" class="oac_no_warn">@apxdevrm </pre></li> </ol> <div class="infoboxnotealso"> <p class="notep1">See Also:</p> <a class="olink LNPLS" href="http://www.oracle.com/pls/db112/lookup?id=LNPLS"><span class="italic">Oracle Database PL/SQL Language Reference</span></a> for more information about SQL*Plus</div> </div> <!-- class="sect2" --></div> <!-- class="sect1" --></div> <!-- class="ind" --> <div class="footer"> <hr /> <table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%"> <col width="33%" /> <col width="*" /> <col width="33%" /> <tr> <td align="left"> <table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="98"> <tr> <td align="center" valign="top"><a href="pre_require.htm"><img width="24" height="24" src="../../dcommon/gifs/leftnav.gif" alt="Go to previous page" /><br /> <span class="icon">Previous</span></a></td> <td align="center" valign="top"><a href="db_install.htm"><img width="24" height="24" src="../../dcommon/gifs/rightnav.gif" alt="Go to next page" /><br /> <span class="icon">Next</span></a></td> </tr> </table> </td> <td style="font-size: 90%" align="center" class="copyrightlogo"><img width="144" height="18" src="../../dcommon/gifs/oracle.gif" alt="Oracle" /><br /> Copyright © 2003, 2009, Oracle and/or its affiliates. All rights reserved.<br /> <a href="../../dcommon/html/cpyr.htm">Legal Notices</a></td> <td align="right"> <table class="icons oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="245"> <tr> <td align="center" valign="top"><a href="../../index.htm"><img width="24" height="24" src="../../dcommon/gifs/doclib.gif" alt="Go to Documentation Home" /><br /> <span class="icon">Home</span></a></td> <td align="center" valign="top"><a href="../../nav/portal_booklist.htm"><img width="24" height="24" src="../../dcommon/gifs/booklist.gif" alt="Go to Book List" /><br /> <span class="icon">Book List</span></a></td> <td align="center" valign="top"><a href="toc.htm"><img width="24" height="24" src="../../dcommon/gifs/toc.gif" alt="Go to Table of Contents" /><br /> <span class="icon">Contents</span></a></td> <td align="center" valign="top"><a href="index.htm"><img width="24" height="24" src="../../dcommon/gifs/index.gif" alt="Go to Index" /><br /> <span class="icon">Index</span></a></td> <td align="center" valign="top"><a href="../../dcommon/html/feedback.htm"><img width="24" height="24" src="../../dcommon/gifs/feedbck2.gif" alt="Go to Feedback page" /><br /> <span class="icon">Contact Us</span></a></td> </tr> </table> </td> </tr> </table> </div> <noscript> <p>Scripting on this page enhances content navigation, but does not change the content in any way.</p> </noscript> </body> </html>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de