Oracle 19c upgrade error ORA-40362: invalid object SYS.ODCIPARTINFOLIST specified in the statement

As its known by now Oracle 19c database release is the long-term release for Oracle database system and by now your Infrastructure should be based on it.

One of the database systems while upgrading it from Oracle 12cR1 to 19c, the below errors generated (this was the first upgrade failure I have ever faced since my journey with 19c upgrade for the last 1 year).

Serial   Phase #:105  [orcl] Files:1    Time: 3s

Serial   Phase #:106  [orcl] Files:1    Time: 0s

Serial   Phase #:107  [orcl] Files:1     Time: 34s

——————————————————

Phases [0-107]         End Time:[2021_01_22 11:17:33]

——————————————————

Grand Total Time: 1359s

*** WARNING: ERRORS FOUND DURING UPGRADE ***

1. Evaluate the errors found in the upgrade logs

    and determine the proper action.

2. Rerun the upgrade when the problem is resolved

REASON:

      ERRORS FOUND: During Upgrade

         FILENAME: /orcl/export/upgrade_19c_log//catupgrd0.log AT LINE NUMBER: 802204

——————————————————

Identifier CATPROC 21-01-22 10:59:28

SCRIPT    = [/orcl/ora/product/19.3/rdbms/admin/catodci.sql]

ERROR    = [ORA-40362: invalid object SYS.ODCIPARTINFOLIST specified in the statement]

STATEMENT = [GRANT EXECUTE ON ODCIPartInfoList TO PUBLIC]

——————————————————

——————————————————

Identifier CONTEXT 21-01-22 11:08:54

SCRIPT    = [/orcl/ora/product/19.3/ctx/admin/t1202000.sql]

ERROR    = [ORA-06550: line 4, column 22: PLS-00905: object CTXSYS.TEXTINDEXMETHODS is invalid

ORA-06550: line 4, column 6:

PL/SQL: Statement ignored

]

STATEMENT = [alter indextype context using TextIndexMethods]

——————————————————

——————————————————

Identifier CONTEXT 21-01-22 11:08:54

SCRIPT    = [/orcl/ora/product/19.3/ctx/admin/t1202000.sql]

ERROR    = [PLS-00905: object CTXSYS.TEXTINDEXMETHODS is invalid ORA-06550: line 4, column 6:

PL/SQL: Statement ignored

]

STATEMENT = [as above]

——————————————————

——————————————————

Identifier CONTEXT 21-01-22 11:08:54

SCRIPT    = [/orcl/ora/product/19.3/ctx/admin/t1202000.sql]

ERROR    = [ORA-06550: line 4, column 6: PL/SQL: Statement ignored

]

STATEMENT = [as above]

——————————————————

——————————————————

Identifier CONTEXT 21-01-22 11:08:54

SCRIPT    = [/orcl/ora/product/19.3/ctx/admin/t1202000.sql]

ERROR    = [PL/SQL: Statement ignored]

STATEMENT = [as above]

——————————————————

——————————————————

Identifier CONTEXT 21-01-22 11:08:54

SCRIPT    = [/orcl/ora/product/19.3/ctx/admin/dr0itype.sql]

ERROR    = [ORA-06552: PL/SQL: Declaration ignored ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

ORA-06552: PL/SQL: Declaration ignored

ORA-06553: PLS-905: object CTXSYS.CTX_CONTAINS is invalid

]

STATEMENT = [create or replace operator contains binding

  (varchar2, varchar2) return number

     with index context, scan context TextIndexMethods

     compute ancillary data without column data using ctx_contains.Textcontains

The solution of this error is the following:

modify/edit the following file:

vi $ORACLE_HOME/rdbms/admin/catodci.sql

replace this statement: GRANT EXECUTE ON ODCIPartInfoList TO PUBLIC

with

begin

  execute immediate ‘alter type ODCIPartInfo compile’;

  execute immediate ‘alter type ODCIPartInfoList compile’;

  begin

  execute immediate ‘GRANT EXECUTE ON ODCIPartInfo TO PUBLIC’;

  exception

  when others then

  null;

  end;

  begin

  execute immediate ‘GRANT EXECUTE ON ODCIPartInfoList TO PUBLIC’;

  exception

  when others then

  null;

  end;

  begin

  execute immediate ‘GRANT EXECUTE ON ODCIPartInfoList TO PUBLIC’;

  exception

  when others then

  null;

  end;

  begin

  execute immediate ‘GRANT EXECUTE ON ODCIPartInfoList TO PUBLIC’;

  exception

  when others then

  null;

  end;

exception

  when others then

  null;

end;

/

After that, re-run the upgrade command

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s