Sometimes the cure is worse than the disease. A newly discovered bug in Oracle Database 18.104.22.168 (October 2018 RU) is causing quite a bit of consternation with my developers and customers:
Bug 26577716 : USE OF BLOOM FILTERS CAUSES ASSERT KGGMSREM1
The companion bug is 26534055 and is documented here, although the bugs themselves are still unpublished:
Oracle Support Document 2437590.1 (Getting ORA-00600 [kggmsRem1] – on a complex query when Bloom Filters are enabled) can be found at: https://support.oracle.com/epmos/faces/DocumentDisplay?id=2437590.1
Usually, “ASSERT” is a nicer way of saying, “ORA-00600”. And there is no way I’m releasing code that might generate an ORA-00600. The fix (tentatively included in Oracle Database 20.1, hopefully an actual patch sooner) is to disable bloom filters:
alter system set “_bloom_filter_enabled”=false;
WHAT? Disable bloom filters? Something I’ve been relying on for years, and even more useful on Exadata?
I’m hoping for that targeted patch soon. In the meantime, I guess I’ll just be using query hints.