Recently before upgrading a 12c EBS database, we have encountered ORA-00600: internal error while gathering fixed object stats before 19c Upgrade on a new Exacc environment.
The command we have run:
SQL> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
The error we have faced:
*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 37523ORA-06512: at line 1
The error occurs in the ksulvf (KSU) function, and the call stack is as follows:
ksulvf [ksu] qerfxFetch qerandvFetch qergsFetch opifch2 kpoal8 opiodr kpoodrc ...
Nowadays, it is a little bit hard to use MOS but it is actually documented in ORA-600 [1350] Error Raised When E-Business Suite Is In Use – KB139851.
The error typically occurs when the ORA_NLS10 environment variable is either not set correctly or points to an invalid directory. It should be set to $ORACLE_HOME/nls/data/9idata to ensure proper NLS configuration.
Since our environment is on EXACC with RAC architecture we have set it the command provided below:
perl $ORACLE_HOME/nls/data/old/cr9idata.plsrvctl setenv database -d ORCL -t "ORA_NLS10=/u02/app/oracle/product/19.0.0.0/dbhome_2/nls/data/9idata"
And after the restart of database, it executes succesfully.
SQL> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;PL/SQL procedure succesfully completed.
It has been a short post. Hope it helps.


Leave your comment