Server errors encountered during the execution of "PDBS Recompile Invalid Objects".
Following information is found in DBUA log file,
SQL> EXECUTE dbms_registry_sys.validate_components;
...(20:04:27) Starting validate_apex for APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_DIM_ARRAY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_DIM_ELEMENT" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_ELEM_INFO_ARRAY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_GEOMETRY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_ORDINATE_ARRAY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_POINT_TYPE" to APEX_180200
...(20:04:27) Starting validate_apex for APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_DIM_ARRAY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_DIM_ELEMENT" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_ELEM_INFO_ARRAY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_GEOMETRY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_ORDINATE_ARRAY" to APEX_180200
ORA-20001: MISSING GRANT: grant execute on "MDSYS"."SDO_POINT_TYPE" to APEX_180200
These privileges were granted by SYS (SYS is grantor) in original database, and missing during upgrading.
Object privileges in original database,
SQL> select GRANTEE,GRANTOR,OWNER,TABLE_NAME,PRIVILEGE from dba_tab_privs
2 where owner='MDSYS' and grantee='APEX_180200'
3 order by grantor,table_name;
GRANTEE GRANTOR OWNER TABLE_NAME PRIVILEGE
-------------- ---------- --------- ------------------------------ ----------------------
APEX_180200 MDSYS MDSYS MDERR EXECUTE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE DELETE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE SELECT
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE INSERT
APEX_180200 MDSYS MDSYS SDO_META EXECUTE
APEX_180200 MDSYS MDSYS SDO_UTIL EXECUTE
APEX_180200 MDSYS MDSYS USER_SDO_INDEX_INFO SELECT
APEX_180200 SYS MDSYS SDO_DIM_ARRAY EXECUTE
APEX_180200 SYS MDSYS SDO_DIM_ELEMENT EXECUTE
APEX_180200 SYS MDSYS SDO_ELEM_INFO_ARRAY EXECUTE
APEX_180200 SYS MDSYS SDO_GEOMETRY EXECUTE
APEX_180200 SYS MDSYS SDO_ORDINATE_ARRAY EXECUTE
APEX_180200 SYS MDSYS SDO_POINT_TYPE EXECUTE
2 where owner='MDSYS' and grantee='APEX_180200'
3 order by grantor,table_name;
GRANTEE GRANTOR OWNER TABLE_NAME PRIVILEGE
-------------- ---------- --------- ------------------------------ ----------------------
APEX_180200 MDSYS MDSYS MDERR EXECUTE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE DELETE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE SELECT
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE INSERT
APEX_180200 MDSYS MDSYS SDO_META EXECUTE
APEX_180200 MDSYS MDSYS SDO_UTIL EXECUTE
APEX_180200 MDSYS MDSYS USER_SDO_INDEX_INFO SELECT
APEX_180200 SYS MDSYS SDO_DIM_ARRAY EXECUTE
APEX_180200 SYS MDSYS SDO_DIM_ELEMENT EXECUTE
APEX_180200 SYS MDSYS SDO_ELEM_INFO_ARRAY EXECUTE
APEX_180200 SYS MDSYS SDO_GEOMETRY EXECUTE
APEX_180200 SYS MDSYS SDO_ORDINATE_ARRAY EXECUTE
APEX_180200 SYS MDSYS SDO_POINT_TYPE EXECUTE
Object privileges in current (partly upgraded) database,
SQL> select GRANTEE,GRANTOR,OWNER,TABLE_NAME,PRIVILEGE from dba_tab_privs
2 where owner='MDSYS' and grantee='APEX_180200'
3 order by grantor,table_name;
GRANTEE GRANTOR OWNER TABLE_NAME PRIVILEGE
-------------- ---------- ---------- ------------------------------ --------------------
APEX_180200 MDSYS MDSYS MDERR EXECUTE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE DELETE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE INSERT
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE SELECT
APEX_180200 MDSYS MDSYS SDO_META EXECUTE
APEX_180200 MDSYS MDSYS SDO_UTIL EXECUTE
APEX_180200 MDSYS MDSYS USER_SDO_INDEX_INFO SELECT
2 where owner='MDSYS' and grantee='APEX_180200'
3 order by grantor,table_name;
GRANTEE GRANTOR OWNER TABLE_NAME PRIVILEGE
-------------- ---------- ---------- ------------------------------ --------------------
APEX_180200 MDSYS MDSYS MDERR EXECUTE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE DELETE
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE INSERT
APEX_180200 MDSYS MDSYS SDO_GEOM_METADATA_TABLE SELECT
APEX_180200 MDSYS MDSYS SDO_META EXECUTE
APEX_180200 MDSYS MDSYS SDO_UTIL EXECUTE
APEX_180200 MDSYS MDSYS USER_SDO_INDEX_INFO SELECT
Workaround
Manually grant the missing privileges and click retry in DBUA.
No comments:
Post a Comment