dbms_stats.gather_table_stats : ORA-00600: internal error code, arguments: [smboPut:fixedlen2]


Error Description:
dbms_stats.gather_table_stats command fails with ORA-00600: internal error code, arguments: [smboPut:fixedlen2]
SQL> exec dbms_stats.gather_table_stats (ownname=>'xxx', TABNAME=>’YYYY’, estimate_percent=>100,cascade=>TRUE);

BEGIN dbms_stats.gather_table_stats(ownname=>'xxx',TABNAME=>’YYYY’, estimate_percent=>100,cascade=>TRUE); END;

*
ERROR at line 1:
ORA-00600: internal error code, arguments: [smboPut:fixedlen2], [1], [7], [0],
[514], [], [], [], [], [], [], []
ORA-06512: at "SYS.DBMS_STATS", line 23127
ORA-06512: at "SYS.DBMS_STATS", line 23220
ORA-06512: at line 1

Solution Description:
Set _newsort_enabled as false at session level as a temporary solution or at system level as the permanent solution. If this is happening only for some specific table then check the data validity of the table.
SQL> alter session set "_newsort_enabled" = false;

Session altered.

SQL>  alter system flush shared_pool;

System altered.
SQL> exec dbms_stats.gather_table_stats (ownname=>'xxx',TABNAME=> ‘YYYY’, estimate_percent=>100, degree=>8, cascade=>TRUE);

PL/SQL procedure successfully completed.

No comments:

Post a Comment