12c: ORA-01722: invalid number SELECT TO_NUMBER(‘INVALID_TABLEDATA’) while upgrading to 12c. Preupgrade script log has message "Invalid user table data found in your database" (Doc ID 2009405.1)

Last updated on JUNE 30, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.3 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.

Symptoms

While upgrading to 12.1 getting following errors

 

SQL> SELECT TO_NUMBER(‘INVALID_TABLEDATA’) FROM SYS.DUAL
2  WHERE (SELECT COUNT(*) FROM SYS.OBJ$ o, SYS.COL$ c, SYS.COLTYPE$ t
3        WHERE o.OBJ# = t.OBJ# AND c.OBJ# = t.OBJ# AND c.COL# = t.COL#
4   AND t.INTCOL# = c.INTCOL# AND BITAND(t.FLAGS, 256) = 256
5      ) > 0;
SELECT TO_NUMBER(‘INVALID_TABLEDATA’) FROM SYS.DUAL
*
ERROR at line 1:
ORA-01722: invalid number

 

 

preupgrade script log will following entries

  


ERROR: --> Invalid Oracle supplied table data found in your database.

    Invalid data can be seen prior to the database upgrade
    or during PDB plug in.  This table data must be made
    valid BEFORE upgrade or plug in.

  - To fix the data, load the Preupgrade package and execute
    the fixup routine.
    For plug in, execute the fix up routine in the PDB.

   @?/rdbms/admin/utluppkg.sql
   SET SERVEROUTPUT ON;
   exec dbms_preup.run_fixup_and_report('INVALID_SYS_TABLEDATA')
   SET SERVEROUTPUT OFF;

  

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms