_optimizer_ignore_hints is now optimizer_ignore_hints

I’m refreshing our Hands-On Lab for Oracle Database 18c. And as part of a performance evaluation I wanted to set an underscore parameter to ignore all hints my load test tool sets. But then I learned: This does not work anymore as _optimizer_ignore_hints is now optimizer_ignore_hints. We made the underscore obsolete in Oracle Database 18c.

_optimizer_ignore_hints is now optimizer_ignore_hints

_optimizer_ignore_hints is now optimizer_ignore_hints

Actually in Oracle Database you can find a long list of obsolete parameters here:

To be precise: We obsoleted159 parameters. In addition, in Oracle Database 18c we added an additional 8 parameters to the list. And just by coincidence I learned that _optimizer_ignore_hints is one of them. But luckily it didn’t get removed but turned into a regular parameter. Which means: It is now documented as well.

This is how I learned about the change:

SQL> alter system set "_optimizer_ignore_hints"=true;
alter system set "_optimizer_ignore_hints"=true
ERROR at line 1:
ORA-25138: _OPTIMIZER_IGNORE_HINTS initialization parameter has been made

And this works now in Oracle Database 18c:

SQL> alter system set optimizer_ignore_hints=true;
System altered.

In addition, we introduce optimizer_ignore_parallel_hints which gives you even more control.

Obsolete Parameters in Oracle Database 18c

In addition to the 159 parameters we made obsolete with Oracle Database, we obsoleted the following ones in Oracle Database 18c:



Share this: