Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Upgrade to apex 19.2 in oracle 12.1.0.2 database failed with ORA-00903 (invalid table name) on java/

user11987916Jun 18 2020

Hi,

We've got a oracle 12cr1 database with apex 19.1 runtime installed, this is a database without any options installed.

if you check the dba_registry the following is installed.

COMP_ID                        COMP_NAME                           VERSION                        STATUS
------------------------------ ----------------------------------- ------------------------------ --------------------------------------------
APEX                           Oracle Application Express          19.1.0.00.15                   VALID
OWM                            Oracle Workspace Manager            12.1.0.2.0                     VALID
XDB                            Oracle XML Database                 12.1.0.2.0                     VALID
CATALOG                        Oracle Database Catalog Views       12.1.0.2.0                     VALID
CATPROC                        Oracle Database Packages and Types  12.1.0.2.0                     VALID

So all java is missing here, no JAVAVM of CATJAVA components installed.

In you run the java 19.2. installer here ( runtime: @apxrtins <parameters>...) it will fail at the core_grants.sql script when trying to grant a java class to the apex owner schema.

Most of the java classes granted in this script give an ora-04042 ( procedure does not exist) error which is correctly handled by the script, the script will continue, the java class is not there

Some of the java classes granted in this script give an ora-00903 ( invalid table name), i do not know why these classes give another error code, these classes also do not exist, the script does not handle this error correctly, the script aborts.

I added a few lines to the script to handle this error, red lines added:

    e_missing_privilege  exception;
    pragma exception_init(e_missing_privilege, -990);
    e_table_does_not_exist exception;
    pragma exception_init(e_table_does_not_exist, -942);
    e_invalid_table_name exception;
    pragma exception_init(e_invalid_table_name, -903);
    e_proc_does_not_exist  exception;
    pragma exception_init(e_proc_does_not_exist, -4042);
    procedure ddl (
        p_sql                  in varchar2 )
    is
    begin
        execute immediate p_sql;
    exception when e_missing_privilege
               or e_invalid_table_name
                or e_table_does_not_exist
                or e_proc_does_not_exist
    then
        null;
    end ddl;

After this the apex upgrade went ok (all 3 phases in logfile ok, no errors).

Wanted to share this problem.

Strange there are different error codes given for java classes that do not exist in the database ?? but i think this is not the right community to ask this question.

See You,

Erik.

Comments

Post Details

Added on Jun 18 2020
0 comments
218 views