We are in the process of upgrading from 12.0 on Solaris using 32 bit to 12.5 on Linux using 64bit. We use temp tables quite extesively and most are created outside of the procedures which use them. The 12.5 server is ignoring the indexes on these temp tables. In the 12.0 server, they were used. As a result temp tables with 60k rows are being scanned. The data is the same and the code is the same between the two servers.

Any suggestions as to what might be causing the optimizer to ignore the indexes?