I recently upgraded Apex from 5.0.4 to 22.1.7 in a 12.1 instance in preparation for an upgrade to 19c.
When I run UTLRP I see the following output:
SQL> @?/rdbms/admin/utlrp.sql
...everything recompiles fine until here...
ERRORS DURING RECOMPILATION
---------------------------
0
Function created.
PL/SQL procedure successfully completed.
Function dropped.
...(11:33:22) Starting validate_apex for APEX_220100
...(11:33:23) Checking missing sys privileges
...(11:33:23) Re-generating APEX_220100.wwv_flow_db_version
... wwv_flow_db_version is up to date
...(11:33:23) Checking invalid public synonyms
...(11:33:23) Key object existence check
...(11:33:24) Setting DBMS Registry for APEX to valid
...(11:33:24) Exiting validate_apex
Warning: XDB now invalid, could not find xdbconfig
If I start a clean session as SYS and execute DBMS_REGXDB.VALIDATEXDB and VALIDATE_ORDIM then they complete successfully.
SQL> execute DBMS_REGXDB.VALIDATEXDB;
PL/SQL procedure successfully completed.
SQL> execute validate_ordim;
PL/SQL procedure successfully completed.
HOWEVER, if I then run VALIDATE_APEX the two procedures above fail, but XDB and ORDIM still show as valid in DBA_REGISTRY.
SQL> execute validate_apex;
PL/SQL procedure successfully completed.
SQL> execute DBMS_REGXDB.VALIDATEXDB;
BEGIN DBMS_REGXDB.VALIDATEXDB; END;
*
ERROR at line 1:
ORA-39705: component 'XDB' not found in registry
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_REGISTRY", line 426
ORA-06512: at "SYS.DBMS_REGISTRY", line 457
ORA-06512: at "SYS.DBMS_REGXDB", line 105
ORA-06512: at line 1
SQL> execute validate_ordim;
BEGIN validate_ordim; END;
*
ERROR at line 1:
ORA-39705: component 'ORDIM' not found in registry
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_REGISTRY", line 426
ORA-06512: at "SYS.DBMS_REGISTRY", line 468
ORA-06512: at "SYS.VALIDATE_ORDIM", line 562
ORA-06512: at line 1
SQL> select comp_id,status from dba_registry where comp_id = 'XDB';
COMP_ID STATUS
------------------------------ --------------------------------------------
XDB VALID
SQL> select comp_id,status from dba_registry where comp_id = 'ORDIM';
COMP_ID STATUS
------------------------------ --------------------------------------------
ORDIM VALID
Has anyone seen anything like this before and resolved it? I haven't found any support articles (after quite a bit of searching) that describe a situation like this one.
Thanks!