A Oracle Application Express Troubleshooting

This appendix contains information on troubleshooting.

This chapter contains these topics:

A.1 Reviewing a Log of an Installation Session

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

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

If the log file contains a few errors, it does not mean that your installation failed. Note that acceptable errors are noted as such in the log file.

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

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

SELECT STATUS FROM DBA_REGISTRY
WHERE COMP_ID = 'APEX';

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

A.3 Cleaning Up After a Failed Installation

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

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

To reinstall, you must either drop the Oracle Application Express database schemas, or run a script to completely remove Application Express from the database, depending upon the installation type.

Topics in this section include:

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

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

Topics in this section include:

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

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

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

    • On Windows:

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

      $ sqlplus /nolog
      SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
      
  2. 2.Execute the following command in SQL*Plus:

    SELECT username FROM dba_users WHERE username LIKE 'FLOWS_%';
    

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

A.3.1.2 Reverting to a Previous Release

To revert to a previous Oracle Application Express release:

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

  2. Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role:

    • On Windows:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
      
  3. Depending upon the release you are reverting to, execute the appropriate command in SQL*Plus:

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

      ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010500;
      exec flows_010500.wwv_flow_upgrade.switch_schemas
      ('APEX_030200','FLOWS_010500');
      
    2. To revert to Oracle Application Express release 1.6, execute the following:

      ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010600;
      exec flows_010600.wwv_flow_upgrade.switch_schemas
      ('APEX_030200','FLOWS_010600');
      
    3. To revert to Oracle Application Express release 2.0, execute the following:

      ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020000;
      exec flows_020000.wwv_flow_upgrade.switch_schemas
      ('APEX_030200','FLOWS_020000');
      
    4. To revert to Oracle Application Express release 2.2, execute the following:

      ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020200;
      exec flows_020200.wwv_flow_upgrade.switch_schemas
      ('APEX_030200','FLOWS_020200');
      
    5. To revert to Oracle Application Express release 3.0, execute the following:

      ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030000;
      exec flows_030000.wwv_flow_upgrade.switch_schemas
      ('APEX_030200','FLOWS_030000');
      
    6. To revert to Oracle Application Express release 3.1:

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

      • Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role:

        On Windows:

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

        On UNIX and Linux:

        $ sqlplus /nolog
        SQL> SQL> CONNECT SYS as SYSDBA
        Enter password: SYS_password
        
      • Execute the following commands:

        @wwv_flow_val.plb
        @wwv_dbms_sql.sql
        

        If you are running Oracle Database Express Edition (Oracle Database XE) or release 10.2.0.3 or higher, execute the following:

        @wwv_dbms_sql.plb
        

        If you are not running Oracle Database XE or release 10.2.0.3 or higher, execute the following:

        @wwv_dbms_sql_noroles.plb
        
      • Execute the following:

        ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030100;
        exec flows_030100.wwv_flow_upgrade.switch_schemas
        ('APEX_030200','FLOWS_030100');
        
      • Change your working directory to apex in the 3.1 source.

      • Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role:

        On Windows:

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

        On UNIX and Linux:

        $ sqlplus /nolog
        SQL> SQL> CONNECT SYS as SYSDBA
        Enter password: SYS_password
        
      • Execute the following:

        @apexvalidate x x FLOWS_030100
        
  4. See the next section, "Removing the Oracle Application Express Release 3.2 Schema".

A.3.1.3 Removing the Oracle Application Express Release 3.2 Schema

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

To remove the release 3.2 schema:

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

    • On Windows:

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

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

    DROP USER APEX_030200 CASCADE;
    

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

A.3.2 Removing Oracle Application Express from the Database

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

Note:

Do not follow these steps if you have upgraded your database from a prior release, and still want to use the prior release of Oracle Application Express. For information about reverting to a prior release, see "Reverting to a Previous Release". If you are not sure whether you have completed a new installation or an upgrade installation, follow the steps in "Cleaning Up After a Failed Installation" to verify if a previous version of Application Express exists in the database

To remove Oracle Application Express from the database:

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

  2. Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role:

    • On Windows:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
      
  3. Execute the following command:

    SQL> @apxremov.sql
    

A.4 Images Displaying Incorrectly in Oracle Application Express

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

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

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

A.5 Online Help Not Working

This section describes issues with Oracle Application Express online Help.

Topics in this section include:

See Also:

"Enable Network Services in Oracle Database 11g" for your installation scenario.

A.5.1 Online Help Not Working When Using a Virtual Host

If users are accessing Oracle Application Express through a Virtual Host, online Help will not work. Consider the following example:

  • The hostname of the Oracle HTTP Server where the Oracle Application Express database access descriptor (DAD) resides is internal.server.com and the port is 7777.

  • Users access Oracle Application Express through a Virtual Host. In their Web browsers, users see external.server.com and port 80.

In this example, Oracle Application Express online Help will not work if the users cannot access internal.server.com. To resolve this issue, add the following lines to the Oracle Application Express database access descriptor (DAD) to override the CGI environment variables SERVER_NAME and SERVER_PORT:

PlsqlCGIEnvironmentList SERVER_NAME=external.server.com
PlsqlCGIEnvironmentList SERVER_PORT=80

See Also:

Oracle HTTP Server mod_plsql User's Guide for information on overriding the CGI environment variables and "Oracle Text Requirement"

A.5.2 Problems Searching Online Help

The underlying index that enables search capability in Oracle Application Express online Help is created upon first use. Note that this index must be created over a non-SSL link. If your connection is an SSL link, https displays in the URL. To index online help, access Oracle Application Express over a non-SSL link. Once the online Help index is created, you can revert to normal https access.

See Also:

"Enable Indexing of Online Help in Oracle Database 11g Release 2 and Higher" for your installation scenario