Je viens de migrer une base de données de la version 11.2.0.4 à la version 12.1.0.2.
En voulant regénérer les statistiques sur les "fixed objects" je rencontre l'erreur suivante:
SYS@orcl> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
BEGIN DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; END;
*
ERROR at line 1:
ORA-20011: Approximate NDV failed: ORA-00600: internal error code, arguments:
[1350], [3], [23], [60], [AMERICAN], [0], [], [], [], [], [], []
ORA-06512: at "SYS.DBMS_STATS", line 36888
ORA-06512: at line 1
SYS@orcl>
Après quelques vérifications je me rends compte que le problème est lié au paramètre ORA_NLS10 que j'avais dans mon environnement.
[oracle@srvhost ~]$ env|grep ORA
ORA_NLS10=/u01/app/oracle/product/11.2.0/dbhome_1/nls/data/
ORACLE_SID=orcl
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
[oracle@srvhost ~]$
En enlevant ce paramètre le problème est résolu.
[oracle@srvhost ~]$ unset ORA_NLS10
[oracle@srvhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Oct 15 10:25:02 2014
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
SYS@orcl> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
PL/SQL procedure successfully completed.
SYS@orcl>
Hope it helps...