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.