Error during patching md/admin/sdowfscs.sql Oracle 19c Invalid component

Fixing Invalid Oracle19c Spatial Objects During Patching

During patching, we faced an error of script md/admin/sdowfscs.sql

We are facing the error with following two components. Their objects remains invalid.

During patching we will find the following objects in invalid state as follows:

SELECT OBJECT_NAME, OBJECT_TYPE, OWNER FROM DBA_OBJECTS WHERE STATUS = 'INVALID';

OBJECT_NAME               OBJECT_TYPE             OWNER
------------------------- ----------------------- ----------
SDO_NET_PARTITION         SYNONYM                 PUBLIC
DRVDML                    PACKAGE BODY            CTXSYS
SDO_OLS                   PACKAGE BODY            MDSYS
SDO_WFS_PROCESS           PACKAGE BODY            MDSYS
SDO_WFS_LOCK              PACKAGE BODY            MDSYS
SDO_NET_PARTITION         PACKAGE                 MDSYS
SDO_NET_PARTITION         PACKAGE BODY            MDSYS
SDO_NET                   PACKAGE BODY            MDSYS
SDO_ROUTER_PARTITION      PACKAGE BODY            MDSYS
SDO_ROUTER_TIMEZONE       PACKAGE BODY            MDSYS
SDO_NDM_TRAFFIC           PACKAGE BODY            MDSYS
SPARQL_SERVICE_IMPL_T     TYPE BODY               MDSYS
SEM_RDFCTX_DR             PACKAGE                 MDSYS
RDFCTX_WS_EXTRACTOR       TYPE BODY               MDSYS
CALAIS_EXTRACTOR          TYPE BODY               MDSYS
CTX_ENTITY_EXTRACTOR      TYPE BODY               MDSYS
GATENLP_EXTRACTOR         TYPE BODY               MDSYS
SEM_RDFCTX_DR             PACKAGE BODY            MDSYS
SEM_RDFCTX_IR             PACKAGE BODY            MDSYS
PRLLIDX_CREATE            TYPE BODY               MDSYS
SEM_RDFCTX                PACKAGE BODY            MDSYS
SEMCONTEXTINDEXMETHODS    TYPE BODY               MDSYS
SEM_RDFCTX_OPER           PACKAGE BODY            MDSYS
S_SEM_RDFCTX_DR           PACKAGE BODY            MDSYS
W_SEM_RDFCTX_ALL          PACKAGE BODY            MDSYS
 
25 rows selected.

Solution:

To validate them, we need to assign following permission to user for fix the issue

GRANT EXECUTE ON SYS.UTL_HTTP TO CTXSYS;
GRANT EXECUTE ON SYS.UTL_HTTP TO MDSYS;
GRANT EXECUTE ON SYS.UTL_FILE TO MDSYS;
GRANT EXECUTE ON SYS.UTL_TCP TO MDSYS;

Run the UTLRP.SQL to make the objects valid.

@?\rdbms\admin\utlrp.sql

If you try to compile object by object and check error like

ALTER SYNONYM SDO_NET_PARTITION COMPILE;

 ORA-65040: operation not allowed from within a pluggable database

Note: You may get this ORA-65040 error that this operation is not done in PDB environment, do not confuse this is resolved by giving above permissions. If not solved then give DBA privileges to user and later revoke it.

Leave a Reply